AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte OpenGLWidget
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGLWidget

Ein Thema von Blechwolf · begonnen am 12. Nov 2004 · letzter Beitrag vom 24. Jan 2005
Antwort Antwort
Seite 2 von 2     12   
Blechwolf
Registriert seit: 9. Sep 2003
Hi,

im Anhang findet sich eine von mir entwickelte Komponente, die es erlaubt einfache OpenGL Fenster auf das Form zu setzen. Desweiteren ist noch ein kurzes Beispiel angehangen.
Diese Komponente macht nichts anderes als die Initialisierung die in div. Tutorials vorgestellt wird auf eine Komponente zu übertragen, so daß nicht das komplette Form für OpenGL initialisiert wird, sondern auch noch Platz für "normale" VCL komponenten bleibt. Das ist für Spiele vielleicht nicht so spannend, aber für wissenschaftliche Anwendungen relativ interessant.

Testen, Feedback geben und dran freuen.

Grüße

Wolf

[EDIT]
Na wenn das mal kein würdiger 100. Beitrag ist
[/EDIT]
Angehängte Dateien
Dateityp: zip toglwidget.zip (2,8 KB, 64x aufgerufen)
Dateityp: zip example_981.zip (3,3 KB, 78x aufgerufen)
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)
 
Blechwolf

 
Delphi 7 Professional
 
#11
  Alt 1. Dez 2004, 13:43
Noch ein Bugfix...
Jetzt funktioniert auch das vergrößern, wenn das Widget nicht auf "Client aligned" ist und mehrere Widgets im Fenster drin sind.

Benötigt das vorherige Package, da hier nur die OGLWidget.pas Datei dranhängt.

Btw: Warum darf ich eigentlich

asc c cc cpp h hh hpp ini js txt xml

aber keine pas Files anhängen

[edit]
Und wie kann ich versehentliche doppelte Beiträge löschen?
[/edit]

Gruß

Wolf
Angehängte Dateien
Dateityp: zip oglwidget.zip (2,1 KB, 21x aufgerufen)
  Mit Zitat antworten Zitat
Blechwolf

 
Delphi 7 Professional
 
#12
  Alt 1. Dez 2004, 13:43
Noch ein Bugfix...
Jetzt funktioniert auch das vergrößern, wenn das Widget nicht auf "Client aligned" ist und mehrere Widgets im Fenster drin sind.

Benötigt das vorherige Package, da hier nur die OGLWidget.pas Datei dranhängt.

Btw: Warum darf ich eigentlich

asc c cc cpp h hh hpp ini js txt xml

aber keine pas Files anhängen (

Gruß

Wolf
Angehängte Dateien
Dateityp: zip oglwidget_616.zip (2,1 KB, 41x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Schuster
Schuster

 
Delphi XE7 Architect
 
#13
  Alt 10. Dez 2004, 09:49
Muß sagen nicht schlecht die Komponente
Markus Schuster
  Mit Zitat antworten Zitat
torud

 
Delphi XE5 Professional
 
#14
  Alt 24. Jan 2005, 08:51
Hallo Leute,

könnte mir jemand bitte einen Tipp geben, wie ich diese Kompo zum Einsatz bringen kann?

Habs installiert, kann aber nichts damit anfangen?

Wie nutzt man das?
Wie erzeugt man neue Objekte?
Wozu kann man den Renderer nutzen?

Was soll das Beispiel uns zeigen?

Danke Tom
  Mit Zitat antworten Zitat
Blechwolf

 
Delphi 7 Professional
 
#15
  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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz