Thema: OpenGLWidget

Einzelnen Beitrag anzeigen

Blechwolf

Registriert seit: 9. Sep 2003
Ort: Aachen
126 Beiträge
 
Delphi 7 Professional
 
#5

Re: OpenGLWidget

  Alt 24. Jan 2005, 10:18
Hi Torud,

Letztlich ist es ganz einfach, setzt allerdings gewisse OpenGL Grundkenntnisse voraus.
Die Komponente macht nämlich nix anderes als einen OpenGL-Context zu erzeugen. Das OnRender Ereignis wird jedesmal beim neuzeichnen aufgerufen.
Da OpenGL aber keine Scenegraph-API ist (wie z.B. OpenInventor oder Java3D oder GLScene) sondern eben eine Render-API kannst Du keine "Objekte" erzeugen, sondern mußt explizit angeben wie Deine Objekte gezeichnet werden müssen. Um Beispielsweise ein Dreieck zu zeichnen sagst Du:

Delphi-Quellcode:
glBegin(GL_TRIANGLES);
  glVertex3f(x1,y1,z1);
  glVertex3f(x2,y2,z2);
  glVertex3f(x3,y3,z3);
glEnd();
In anderen Worten: Wenn Du ein Objekt zeichnen willst, mußt Du jede Fläche und für jede Fläche jeden Vertex angeben (sieht man mal von Strip-Objekten ab).


Zitat von torud:
Wie nutzt man das?
Einfach aufs Form ziehen und in das OnRender Ereignis den OpenGL-Code zum Rendern tippen

Zitat von torud:
Wie erzeugt man neue Objekte?
Gar nicht. Ist ein reiner Wrapper für OpenGL und keine Scenegraph API

Zitat von torud:
Wozu kann man den Renderer nutzen?
Um OpenGL-Code reinzuschreiben

Zitat von torud:
Was soll das Beispiel uns zeigen?
Wie die Komponente initialisiert wird und wo man den OpenGL Code reinschreibt.

In diesem Sinne von viel Erfolg

Wolf
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)
  Mit Zitat antworten Zitat