![]() |
Einstieg in OpenGL
Hallo zusammen
In den letzten Wochen habe ich mit Delphi angefangen und gehe mal erste Schritte in alle möglichen Richtungen, experimentiere mit diesem und jenem. Als Besucher habe ich schon des öfteren dieses Forum aufgesucht und habe viele Antworten zu vielen Fragen gefunden. Nun würde ich aber gerne auch mal ein bisschen OpenGL ausprobieren - kann aber nirgendwo einen für mich verständlichen Einstieg finden - denn ich möchte auf sämtliche externen OpenGL-Header verzichten und wenn möglich direkt die Delphi-eigene openGL-Unit nutzen. Dazu konnte ich aber keine Unterlagen finden. Kennt jemand von Euch vielleicht ein gutes Tutorial für den OpenGL-Einstieg mit Delphi OHNE zusätzliche Ressourcen? |
Re: Einstieg in OpenGL
Hi low,
warst du schon mal ![]() da gibt es auch Tutorials, vielleicht hilft das weiter. greetz Lun |
Re: Einstieg in OpenGL
Zitat:
|
Re: Einstieg in OpenGL
Hi.
Vll die englischen Nehe-Tutorials: ![]() --> ![]() Oder die hier, wobei die Sprace C++ ist, aber wenn man das ein bisschen kann dann gehts. Die OpenGL-Befehle sind eh die selben: ![]() Allerdings würd ich auch empfehlen direkt mit dem dglOpenGL Header zu beginnen, mit dem normalen OpenGL-Header verpasst du nix^^ |
Re: Einstieg in OpenGL
Jop. Der dgl-OpenGL Header hat eigentlcih exakt die selbe API, du solltest die Tutorials also auch mit dem Standard-Header machen können - Ich empfehle trotzdem den von DGL.
|
Re: Einstieg in OpenGL
Besten Dank für die Antworten.
Mit den C-Tutorials komme ich leider nicht zurecht, da ich da bereits an den erforderlichen Header-Dateien scheitere. Mit DGL-Tutorials hab ich's probiert, allerdings scheitere ich da an der korrekten Initialisierung - da diese von DGL stark vereinfacht worden ist. Würde ich ernsthaft beabsichtigen, OpenGL konkret zu nutzen, wäre der DGL-Header sicher eine Möglichkeit. Aber mir geht es wirklich nur um einen ersten Eindruck, vielleicht 1, 2 Darstellungen zu programmieren und das war's. Und dazu würde ich gerne die Standard-Library verwenden. Wär halt schön, wenn ich zumindest wüsste, wo ich Informationen dazu finde. Eine Art OpenGL-Hello World oder aber ansonsten auch gerne eine rustikale Unit-Doku. |
Re: Einstieg in OpenGL
Zitat:
Ich hab mal ein kleines Pong mit OGL geproggt (bisher auch mein einziges sinnvolles OGL-Projekt *g*) und habe diese Code-Schnipsel von DGL-OGL einfach kopiert! Und das hat auch funktioniert!
Delphi-Quellcode:
Edit: Natürlich mit der "dglopengl.pas"-Unit! Dir passiert doch nichts, wenn du einfach diese einbindest anstatt der normalen "opengl.pas" :wink:
type
TForm1 = class(TForm) ... private myDC : HDC; myRC : HGLRC; public { Public-Deklarationen } end; procedure TForm1.FormCreate(Sender: TObject); begin InitOpenGL; MyDC := GetDC(form1.Handle); MyRC := CreateRenderingContext(MyDC, [opDoubleBuffered], 32, 24, 8, 0, 0, 0); ActivateRenderingContext(MyDC, MyRC); end; |
Re: Einstieg in OpenGL
Das größte Problem bei den DGL-Tutorials ist, dass oft verschiedene Header genutzt werden und man deshalb nur Probleme bekommt. Init klappt bei mir ja noch, aber irgendwann benutzt plötzlich ein Autor einen anderen Header und dann war's das erstmal.
|
Re: Einstieg in OpenGL
Für den Einstieg eignet sich auch
![]() |
Re: Einstieg in OpenGL
Zitat:
@tonyR: Nein, natürlich passiert mir nix, wenn ich DGL verwende. Dabei geht's ja auch nicht um eine prinzipielle Ablehnung oder so. Will einfach nur mal kurz in den Standard-openGL-Header "reinschauen" - wenn ich mal konkret was mit openGL vorhabe, werde ich wahrscheinlich DGL verwenden, da diese Community ziemlich aktiv und freundlich scheint. Aber ich hab ja vorerst nix Bahnbrechendes vor damit. :-) |
Re: Einstieg in OpenGL
Hier sind einige falsche Annahmen gemacht. "Standard" hört sich immer unglaublich gut an, ist es in diesem Fall allerdings nicht. Der Borland-Header ist ein hoffnungslos veraltet Stück Software, dass zudem fehlerhaft implementiert wurde. Dies führt dazu, dass Du OpenGL-Code schreiben mußt, der vom OpenGL-STANDARD abweicht und deswegen auch das Potenzial für einige wirklich böse Fehler hat. Ich kann jedem nur wärmstens empfehlen die Finger von diesen Headern zu lassen. Will man sinnvoll OpenGL verwenden (z.B. Texturierung) benötigt man ohnehin etwas auf dem Level von OpenGL 1.2 und somit Header von Mike Lischke (obsolete), den JEDI-Headern (hinken leicht hinterher, sind aber vollkommen okay) und den DGL-Headern. Prinzipiell ähneln diese sich von der Funktionalität und erlauben auch, dass der Source-Code (vielleicht bis auf eine Zeile) 1:1 ausgetauscht werden kann. Jüngst wurde eine Test-Version des DGL-Headers für die Version 2.1 präsentiert, womit es der aktuellste Header ist und damit IMAO auch klar zu empfehlen ist (insbesondere für Einsteiger). Eine "Vereinfachung" findet nicht statt, es erspart Dir nur zig hunderte Extensions manuell einzubinden... Kann es sein, dass Du von EasySDL sprichst?
Übrigens bei uns auf der Webseite gibt es unter Files/Templates eine größere Auswahl für Allerlei Header, Toolskits und erdenklichen Situationen. Ich lege es jedem ans Herz sich ein dortiges Template herunterzuladen und an von diesem sich die Funktionalität zu erarbeiten. Wer versucht es sich auf Anhieb von Grund auf anzubauen, wird irgendwo bei der Intialisierung immer einen Denkfehler machen und schnell frustriert werden. Die Kritik, dass zahlreiche Tutorials auf einen "veralteten Stand" sind, ist legitim. Das Projekt begann zu einer Zeit als es nahezu nur die Borland-Header gab und daher findet man (leider) immer wieder noch funkelnde Kleinode aus längst vergessener Zeit wieder. Ein Update der Dateien ist bereits in Arbeit und nahezu alles sollte auf dem Stand von OpenGL 1.2 sein und damit leicht anzupassen sein für aktuelle empfohlene Header. |
Re: Einstieg in OpenGL
HI Ihr,
also ich hab auch vor ca 1Woche einfach mal so mit OpenGL angefangen - und ich bin sehr Froh darüber das ich ![]() - weil ich hab innerhalb von 4Tagen was auf den Bildschirm zaubern können was sein Ziel genaustens erfüllt hat ;-) also auch wenn du nur mal Ausprobieren willst schau ![]() ![]() Leuchtende Grüße Stefan alias Light |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz