Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Easy3DGL - Eine Bibliothek für OpenGL (https://www.delphipraxis.net/160483-easy3dgl-eine-bibliothek-fuer-opengl.html)

Edlmann 15. Mai 2011 18:03

Easy3DGL - Eine Bibliothek für OpenGL
 
Liste der Anhänge anzeigen (Anzahl: 2)
Guten Abend liebe DP,
Ich habe schon vor längerer Zeit eine eigene Bibliothek für OpenGL geschrieben, die darauf ausgelegt ist, den Umgang mit OpenGL so einfach wie möglich zu machen, ohne irgendwelche Komplexen Techniken zu nutzen, um das ganze möglichst simpel zu halten.
Bisher hatte ich allerdings keine vollständige Dokumentation dafür geschrieben, was das Veröffentlichen relativ sinnlos gemacht hätte, doch da ich im Moment mehr als genug Zeit habe, hab ich mich mal hingesetzt und einen einfache Dokumentation für diese Bibliothek fertig gestellt.
Ich weiß dass es auch andere Bibliotheken für OpenGL gibt (GlScene etc.), doch diese Bibliothek ist so simpel gehalten, dass man auch aus ihr lernen kann (der Quelltext liegt bei), und so den Einstieg in OpenGL vereinfacht.

Feature-Liste:
- Kameraführung per Maus ohne eigenen Quelltext
- Simpel zu initialisieren: Nur eine Zeile Code benötigt
- Viele simple geometrische Formen als Klasse gekapselt zur einfachen Bedienung (z.B.: Quader, Kugel, Würfel, Kegelstumpf u.v.m.)
- Kamerasensitivität kann eingestellt werden
- Klassen zum einfachen erstellen eines 3D-Hintergrundes
- Unterstützung vieler verschiedener Materialien (Material-Liste muss noch hinzugefügt werden)
Für einen kompletten Überblick der Features siehe beiliegende Dokumentation / Beispielprogramme

Mit der Bibliothek kommen einige kleinere Beispielprogramme, die die verschiedenen Klassen einführen.

Download:
http://dl.dropbox.com/u/12342503/Easy3DGL.rar
Ohne Beispiele:
http://dl.dropbox.com/u/12342503/Easy3DGL_UnitOnly.rar

Falls jemand von euch Verbesserungsmöglichkeiten im Quelltext sieht (was ziemlich sicher der Fall sein wird ;)), postet sie einfach bitte hier, und ich werde sie in die Bibliothek mit aufnehmen.
Ich hoffe die Bibliothek hilft einigen,
Den Thread werd ich bald erweitern mit einer etwas detaillierteren Darstellung der Easy3DGL, das hier ist mehr so eine kleine Vorschau dessen was möglich ist ;)
Danke schomal fürs Feedback und Grüße,
Edlmann

lbccaleb 16. Mai 2011 13:46

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Hallo, erstrmal Danke für die geleistete Arbeit :thumb:

Kenn mich da nicht so aus mit OGL deswegen wollte ich mir das mal ein wenig genauer anschauen.
Allerdings bekomm ich bei allen Bsp.Anwendungen eine Exception am start der Programme.
Woran kann das liegen?

Habe WinVista

Satty67 16. Mai 2011 14:46

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wollte es auch schnell testen, aber Umlaute im Quelltext mochte meine Delphi-Version garnicht. Ist D2009 Vorraussetzung? siehe unten...

ARB_multisample war bei mir auch nicht dabei, aber das hatte ich noch so gefunden...

****

Ok, Umlaute einfach mal ersetzt und läuft...

Beim Beenden Fehler in in EASY3DGL bei:
Delphi-Quellcode:
finalization
  if AppHandle > 0 then
    FreeGL;
Listenindex überschreitet Maximum.

Aber sieht trotzdem schon ganz gut aus:

Edlmann 16. Mai 2011 16:48

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
@lbccaleb: habe ich spontan keine Idee, warum das so ist...Hast du die compilierten Programme ausgeführt oder selbst compiliert?

@Satty67: Ups, hätt dabeischreiben sollen dass ich das in D2007 geschrieben habe...werd vllt noch eine zweite Version für D7 und drunter fertig machen, oder kannst du einfach die Version mit den ersetzten Umlauten hochladen? Wäre super.
Zur ARB_Multisample: Hab nur vergessen die aus den uses zu entfernen, ist gefixxt ;)
Die AV beim Beenden kann ich nicht nachvollziehen...Bei welchem Programm trat das ganze denn auf?

lbccaleb 16. Mai 2011 18:21

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Habe die compilierten Programme aus dem Archiv ausgeführt!

Satty67 16. Mai 2011 18:27

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Zitat:

Zitat von Edlmann (Beitrag 1101169)
kannst du einfach die Version mit den ersetzten Umlauten hochladen?
[...]
Bei welchem Programm trat das ganze denn auf?

hab's in der Firma getestet, da liegen auch die korrigierten Units :oops:

War aber nur Würfel und Türkis, bin einfach jeder Fehlermeldung gefolgt und hab' ein ue draus gemacht.

Der Fehler kam bei der SkyBox-Demo...

rweinzierl 17. Mai 2011 10:53

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Hallo

Habe mir gerade die Doku zum Sonnensystem angeschaut, für mich beeindruckend.

Meine bisherigen Erfahrungen beschränken sich auf etwas GLScene und VRML.

Was ich aber suchen würde wäre eine import und exportfunktionalität für 3D DXF dateien.

(Oder ein anderes Format wrl, x3d, ....) .


Ich würde gerne unsere Produkte im 3D zusammenstellen (Die Einzelkomponenten sind im 3D konstuiert)

==> Gibt es so etwas, ich bin doch nicht der erste mit diesem Problem.

==> Ich habe zwar gegoogled aber irgendwie komme ich nicht weiter.

mfg

Reinhold

Edlmann 17. Mai 2011 13:24

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
@satty67: Okey schade, aber das krieg ich glaub ich grad noch selber hin, die paar Ü's umzuwandeln :P
Zu dem Fehler: Ich liebe es etwas zu programmieren, was dann bei anderen Fehler aufwirft die man nicht nachvollziehen kann...Ich habe ehrlich gesagt absolut keine Idee, wo da der Fehler liegen könnte...es gibt eigentlich nur 2 Listen, bei denen der Fehler auftreten könnte, und bei beiden tritt der Fehler bei mir nicht auf...Ich kann das ganze ja leider nicht auf der selben Maschine wie du testen, aber es wäre super wenn du den Fehler mal auf einen kleineren Bereich eingrenzen könntest (z.B. indem du um Teile der Prozedur FreeGL einen try except Block setzt), damit ich den Fehler beheben kann.

@rweinzierl: Mit dem Import von irgendwelchen Datei-Formaten hab ich mich absolut noch nicht beschäftigt, für alle Projekte die ich bisher in OGL geschrieben habe brauchte ich eigentlich nur Texturen...

Satty67 17. Mai 2011 13:34

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Zitat:

Zitat von Edlmann (Beitrag 1101356)
auf einen kleineren Bereich eingrenzen

Beim 2. Assigned(SolidList[x]), ohne die Logik zu prüfen riecht das nach Copy&Paste Fehler:
Delphi-Quellcode:
unit Easy3DGL;
[...]
procedure FreeGL;
[...]
  for x := 0 to SolidList.Count - 1 do
  begin
    if Assigned(SolidList[x]) then
    begin
    CItem := SolidList[x];
    CItem.Free;
    end;
  end;

  for y := 0 to TransparentList.Count - 1 do
  begin    
    if Assigned(SolidList[x]) then // <<< Hier
    begin
    CItem := TransparentList[x];
    CItem.Free;
    end;
  end;

DeddyH 17. Mai 2011 13:36

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Deshalb lagert man so etwas auch in eigene Routinen aus ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr.
Seite 1 von 6  1 23     Letzte »    

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