| Autor |
Nachricht |
JungerIslaender
      
Beiträge: 374
Win XP
Delphi 7; Delphi 2005
|
Verfasst: Sa 03.12.11 02:14
Ich wollt mich mal in die OpenGL Welt begeben und hab auf delphigl gestöbert und von anfang an die Tutorials gemacht. Dabei ist folgendes bei rausgekommen:
Funtioniert auch wunderbar.
Sobald ich in TForm1.Render allerdings etwas anderes einfüge, wie z.B. ein Beispiel wie das hier:
Passiert nichts mehr. Und ich verstehe nicht warum?
|
| |
|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
Xion
       

Beiträge: 1754
Erhaltene Danke: 62
Windows XP
Delphi (2005 Bug Edition), Java (Eclipse), Haskell (ghci), C++ (Visual Studio 2010, Qt Creator)
|
Verfasst: Sa 03.12.11 12:08
Du darfst ja auch nicht die Initialisierung der Matrix weglassen (Zeile 97-101).
_________________ a broken heart is like a broken window - it'll never heal
Jen, [this computer] is infected. If this was a human being, I'd shoot it in the face. (IT Crowd)
|
| |
|
|
JungerIslaender 
      
Beiträge: 374
Win XP
Delphi 7; Delphi 2005
|
Verfasst: Sa 03.12.11 15:31
Ok Hab das jetzt mit reingepackt. Es passiert trotzdem nichts.
|
| |
|
|
Xion
       

Beiträge: 1754
Erhaltene Danke: 62
Windows XP
Delphi (2005 Bug Edition), Java (Eclipse), Haskell (ghci), C++ (Visual Studio 2010, Qt Creator)
|
Verfasst: Sa 03.12.11 17:28
JungerIslaender hat folgendes geschrieben : | | Ok Hab das jetzt mit reingepackt. Es passiert trotzdem nichts. |
Hihi, da muss ich lachen...es passiert ziemlich viel, nur wirds nicht angzeigt
Du hast das SwapBuffers am Ende vergessen. Außerdem brauchst du nur einmal LoadIdentity logischerweise...
_________________ a broken heart is like a broken window - it'll never heal
Jen, [this computer] is infected. If this was a human being, I'd shoot it in the face. (IT Crowd)
|
| |
|
|
Bergmann89
      
Beiträge: 1572
Erhaltene Danke: 50
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Sa 03.12.11 18:42
Hey,
Das packt man normalerweiße nur ins FormResize, das spart Rechenleistung
Das LoadIdentity kannst du bei deinem 2. Objekt auch weglassen, du musst dann nur mit der aktuellen Position der Matrix rechnen. Wenn du einfach noch ein Stück drüber was zeichnen willst, dann einfach mit glTranslatef(0, 2, 0) 2 Einheiten nach oben verschieben. Für das Dreieck darunter müsstest du dann glTranslatef(0, -4, 0) aufrufen ODER du pushst die Matrix auf den Matrix Stack ( glPushMatrix) verschiebst nach oben, zeichnest dein Dreieck, popst die Matrix vom Stack ( glPopMatrix), schiebst nach unten (-2 Einheiten) und zeichnest das 2. Dreieck. Der zweite Weg ist zwar etwas kompilizierter, aber normalerweiße macht man das so.
Für einen Anfänger würde ich zuerst die Matrix-Tutorials empfehlen. Die kommen in der Tutorialliste erst relativ spät, sind aber die absolute Grundlage für jegliche Bewegung und Positionierung in OpenGL.
MfG Bergmann.
_________________ Ich weiß nicht viel lern aber dafür umso schneller^^
|
| |
|
|
|