AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Easy3DGL - Eine Bibliothek für OpenGL
Thema durchsuchen
Ansicht
Themen-Optionen

Easy3DGL - Eine Bibliothek für OpenGL

Ein Thema von Edlmann · begonnen am 15. Mai 2011 · letzter Beitrag vom 22. Mär 2012
Antwort Antwort
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#1

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 24. Mai 2011, 15:52
Und eine Doku, wie man was dreht und was sich in Abhängigkeit mit dreht.

Kleines Beispiel: Ich habe ein Spielfeld, welches dem User präsentiert wird. Darauf befindet sich momentan 1 Spielstein, den man mit den Pfeiltasten bewegen kann. Ist das Spielfeld nicht gedreht geht alles. Sobald das Spielfeld gedreht wird, fängt das System an zu spinnen, heißt der Spielstein bewegt sich nicht mit einem Winkel von 0° zum Spielfeld.

Noch ein Punkt zur Liste:

Dein TGA-Loader und mein TGA-Bild aus GIMP wollen nicht zusammen kommen. Eventuell solltest du ne Exception mit schönen Fehlertext werfen, wenn ein Fehler im Bilder-Loader auftritt.

PS: Und in function TGLBMP.LoadImage(filename : String): Boolean; kann man auch etwas kürzen:
Delphi-Quellcode:
const
  ImageBMP = 0;
  ImageJPG = 1;
  ImageTGA = 2;

  case (AnsiIndexText(ExtractFileExt(filename), ['.bmp', '.jpg', '.png']) of
    ImageBMP: Result := LoadBMP(filename);
    ImageJPG: Result := LoadJPG(filename);
    ImageTGA: Result := LoadTGA(filename);
  end;

PPS:
a) Deine Bibliothek lädt übrgens die Texturen spiegelverkehrt auf die Körper. Workaround (dirty) .Rotate(180, 0, 0) .

b) Dein Code:
Delphi-Quellcode:
  AppEvents := TApplicationEvents.Create(AForm);
  AppEvents.OnIdle := Kamera.Render;
Mein Code: Application.OnIdle := Kamera.Render; (Die Unit Forms ist ja eh in der USES drin.)

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!

Geändert von rollstuhlfahrer (24. Mai 2011 um 16:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 26. Mai 2011, 12:42
Bei mir fliegt die Exception bei: wglSwapIntervalEXT(1); Und FreeGL sollte auch nicht öfters aufgerufen werden.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 26. Mai 2011, 19:25
Bei mir fliegt die Exception bei: wglSwapIntervalEXT(1); Und FreeGL sollte auch nicht öfters aufgerufen werden.
Bei mir auch.

Bernhard

ADD: Gibt es eigentlich eine Version, die aktueller ist, als die momentan verfügbare zum Download?
Bernhard
Iliacos intra muros peccatur et extra!

Geändert von rollstuhlfahrer (26. Mai 2011 um 20:03 Uhr)
  Mit Zitat antworten Zitat
Edlmann

Registriert seit: 19. Nov 2010
212 Beiträge
 
#4

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 27. Mai 2011, 09:40
Ich hab grade eine neue Version hochgeladen, wo ich beim Starten eines Programms die Fehlerbehandlung verbessert habe und eine andere Prozedur zum V-Sync aktivieren benutze, ich weiß aber nicht ob das den Fehler fixxt...

Zu deiner Liste rollstuhlfahrer:

a) noch nicht erledigt, mach ich aber noch
b) geht leider nicht, da bei TWinControl die Events OnMouseDown etc protected sind
c) den Texturloader habe ich nicht selbst geschrieben, werd mich mal umschauen ob es einen Loader dafür gibt
d) Hinzugefügt
e) gefixxt
f) War in beiden Versionen ein Fehler und ist gefixxt. Das mit der virtuellen Methode hatte ich auch versucht, allerdings wurde die Prozedur dann trotz override nicht korrekt aufgerufen...
g) Den Fehler finde ich einfach nicht. Die AV kommt erst bei CItem.Free, und ich frage ja vorher extra ab ob da auch was ist was man befreien kann...ich versteh es bisher absolut nicht.
h) Ist verbessert, kommt jetzt eine Fehlermeldung

Zweiter Post:

Es kann sein dass der das TGA nicht annimmt, weil es keine Farbtiefe von 32-bit hat. Der Texturloader den ich im Moment benutze unterstützt anscheinend aber nur 32-bittige-tga's
a) liegt auch am Loader, schau ich mir mal an
b) Hab ich verändert.

@mleyen: Habs dann auch relativ schnell nach dem ich den Post oben geschrieben habe gesehen ^^ lag dran dass das Beispiel noch mit einer älteren Version geschrieben wurde, wo das nicht automatisch erledigt wurde. Ist gefixxt.

Vielen Dank fürs Feedback
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 27. Mai 2011, 09:57
g) Den Fehler finde ich einfach nicht.
Kann sein dass ich mich falsch erinnere...

Aber schau Dir mal die Schleife an... meine da war Schleifenvariable x und Zugriff über y (oder umgekehrt)
  Mit Zitat antworten Zitat
Edlmann

Registriert seit: 19. Nov 2010
212 Beiträge
 
#6

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 27. Mai 2011, 10:08
g) Den Fehler finde ich einfach nicht.
Kann sein dass ich mich falsch erinnere...

Aber schau Dir mal die Schleife an... meine da war Schleifenvariable x und Zugriff über y (oder umgekehrt)
Ne, Variable ist beidesmal x...
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 27. Mai 2011, 11:15
Sehe ich anders...
Delphi-Quellcode:
// FreeGL
  for y := 0 to TransparentList.Count - 1 do
  begin
    if Assigned(SolidList[x]) then
    begin
    CItem := TransparentList[x];
    CItem.Free;
    end;
  end;
Das auf SolidList geprüft wird statt TransparentList[], war zudem wohl der C&P Fehler
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:06 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