Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

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 21. Feb 2012 10:55

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

Zitat von Coffeecoder (Beitrag 1149799)
Zitat:

Zitat von EWeiss (Beitrag 1149730)
Zitat:

Zitat von Coffeecoder (Beitrag 1149726)
Gibt es eine Möglichkeit um die Farbtiefe eines Bildes zu ermitteln?

Mit Photoshop und diversen anderen Paint Programmen.
PS:
Oder Eigenschaft vom Bild (TAB Details)

gruss

Danke, ich überprüfe dies und poste heute abend. (Bild nicht dabei ;) )

[Add]: Die Bittiefe des Bilder vom Jupiter ist 24bit sowie wie die anderen Planetenbilder auch. Die anderen werden dennoch dargestellt. Folgender Test habe ich auch gemacht: jupiter.jpg > jupiter.bmp mit 24bit > wird angezeigt. Hat jemand eine Erklärung dafür?

Wie gesagt, das wird an dem Loader liegen den ich benutze...wenn du willst kann ich die glBMP gegen die glBitMap austauschen, die deutlich mehr Features besitzt und Fehlerfreier ist.

SimplySimon 19. Mär 2012 15:25

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Kann man auch eine bereits erstellte Form (z.B. Quader) während der Laufzeit löschen?
Erzeugt habe ich eine Bühne im FormCreate mit:

Delphi-Quellcode:
Bühne[1] := GLQuader.Create(-X/2 - 0.25, 4, 0, 0.1, 6, Y-7, 'textures/bg.bmp');


Löschen möchte ich diesen Quader durch einen Button während der Laufzeit:

Delphi-Quellcode:
Bühne[1].Free;


Das funktioniert aber leider nicht...
Kann jemand helfen, oder weiß jemand eine Lösung? :)

Vielen Dank im Voraus!

Jens01 19. Mär 2012 17:09

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
probier doch mal
Code:
Bühne[1].Free;
Bühne.Delete(1);

SimplySimon 19. Mär 2012 19:02

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
E2018 Record, Objekt oder Klassentyp erforderlich...
Hab's dann mal probiert mit

Delphi-Quellcode:
Bühne[1].Delete(1);


aber das geht leider nicht... (E2003 Undeklarierter Bezeichner: 'Delete') :(

Ich suche mal weiter nach Lösungen :D
Notlösung wäre alles neu zu zeichnen aber wenn viele Objekte gezeichnet werden, kann das ja auch gerne mal länger dauern...

Jens01 19. Mär 2012 19:47

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Guck Dir noch mal meinen Code genau an und vergleich mal Zeichen für Zeichen!
Du mußt das Ding auch vor dem Delete befreien mit Free, da sonst ein Speicherleck bleibt.

SimplySimon 19. Mär 2012 20:10

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Leider stürzt das Programm bei Bühne[1].Free ab.
Heißt: Systemfehler Code 8.
Und mit Bühne.Delete(1) lässt sich das Projekt nicht kompilieren...

SimplySimon 19. Mär 2012 21:16

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Lösung gefunden:

Hinzufügen:
Delphi-Quellcode:
begin
  Bühne[1] := GLQuader.Create(-X/2 - 0.25, 4, 0, 0.1, 6, Y-7, 'textures/bg.bmp');
  AddSolid(Bühne[1]);
end;
Löschen:
Delphi-Quellcode:
var CItem: GLObject;
begin
  CItem := SolidList[0];
  FreeAndNil(CItem);
  SolidList.Delete(0);
end;

Edlmann 20. Mär 2012 20:33

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Da anscheinend noch Interesse an dieser Unit besteht, setze ich mich mal hin und schreibe sie soweit um, dass sie wirklich sauber zu benutzen ist.

Diese Unit ist ursprünglich in Java geschrieben worden, und zwar zusammen mit meinem Informatik-Lehrer, und als ich sie nach Delphi übersetzt hatte war ich noch ziemlicher
OpenGL Neuling. Ich werd jetzt mal einiges an Techniken einbauen, die ich seitdem gelernt habe (Mutlisampling, Blinn-Phong-Lighting, etc.) und das Object-Handling verbessern.
Vielleicht füge ich auch meine (sehr simple) Partikelengine ein.
Desweiteren werde ich die glBMP durch die glBitMap ersetzen, sodass auch .tga und .png-Files unterstüzt werden, und außerdem weniger Fehler beim Laden von Texturen entstehen.

Also warte am besten 2-3 Tage, dann dürfte die Unit in einem Zustand sein dass sie Fehlerfreier arbeitet.

SimplySimon 20. Mär 2012 21:54

AW: Easy3DGL - Eine Bibliothek für OpenGL
 
Wow das ist klasse :)
Genial wären auch noch andere Formen, aber ich möchte hier nicht zu viel verlangen.
Vielleicht kann ich ja (darf ich ja) auch noch eigene Formen in diese Unit einbinden. :-D

Edlmann 20. Mär 2012 22:08

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

Zitat von SimplySimon (Beitrag 1157614)
Wow das ist klasse :)
Genial wären auch noch andere Formen, aber ich möchte hier nicht zu viel verlangen.
Vielleicht kann ich ja (darf ich ja) auch noch eigene Formen in diese Unit einbinden. :-D

Klar, die Struktur der Formen dürfte ja realtiv ersichtlich werden aus der Klasse ;) was ich da benutze sind einfach standardformen.
Mit ein wenig Arbeit könnte man auch die gl3ds einbauen, eine Unitsammlung zum Laden von 3ds/x/obj Files...mal schauen, mal schauen ^^
Ich freue mich über Verbesserungen der Unit, sie ist sowieso eher als simple Inspiration gedacht, als als irgendwas auch nur annähernd ausgewachsenes ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr.
Seite 5 von 6   « Erste     345 6      

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