ich habe mal wieder ein Problem was ich nicht nach voll ziehen kann. Und zwar will ich Sound-Wiedergabe mit Hilfe der bass.dll grafisch darstellen und OpenGL darstellen. Unter meinen 3 Testrechner funktionierte alles tadellos (ein 95-Rechner, ein XP-Home und ein XP-Prof.-Rechner). Allerdings habe ich später von 2 anderen die Rückmeldung bekommen, dass die nur einen schwarzen Bildschirm haben (bei einem anderem wieerum funktioniert es, flackerte jedoch, was bei meinen ganzen Testsystemen nicht der Fall war*). Woran könnte es liegen (Musikdatei ist vorhanden)? Und was könnte ich noch alles verbessern?
ifnotFileExists(Dateinamen)then Application.MessageBox('Die Datei "'+Dateinamen+'" wurde nicht gefunden','Fehler',16)
else
begin
Application.Initialize;
Application.CreateForm(TGLForm, Form1);
Application.Run;
end
end.
Und warum kann ich in der Prozesur ShowText die ersten3 Zeilen nicht entfernen (Schrift fehlt dann)? Eigentlich müsste es ja gehen, da ich vor der anderen Zeichenroutine das gleiche auch schon stehen habe... und es damit in meinen augen doppelt wäre.
*(95-Rechner konnte es nur stockend wieder geben, da die GraKa, keine OpenGL-Unterstützung besitzt).
mfg
Heiko
Zuletzt geändert von SunBlack am Fr Feb 10, 2006 16:30, insgesamt 1-mal geändert.
@glOrtho: Geht irgendwie nicht, sprich die Textausgabe in der anderen Unit funktioniert dann nicht mehr. Wieso muss denn sowieso zNear & zFear (-)1 haben und nicht 0 wie der Rest?
Also ein glOrtho mit zNear und zFar = 0 halte ich für gefährlich. Da du insgesammt eine Reichweite von 0 hast. Auch wenn alle deine Werte eine Tiefe von 0 haben würde ich sagen, dass du -1 und 1 benutzen solltest. Also genau so wie es bei dem Text zeichnen der Fall ist. Da könntest du dann aber das glOrtho UND das Löschen der Projectionsmatrix weglassen. Da in dem ShowText zu erst die Projektion gelöscht wird und anschließen wieder gesetzt wird. Wenn die aber sowieso gleich bleiben soll, dann kannst du sie auch weglassen.
Was ich auch gesehen habe war deine Tiefenfunktion. Es wäre sinnvoller, wenn du anstelle einer Tiefenfunktion (GL_NEVER) die niemals erfüllt wird lieber eine benutzt die Immer erfüllt wird. Also GL_ALWAYS oder du deaktivierst den Test am Besten. Man weiß auch nie ob der evtl. auf der ein oder anderen Implementation von Hause aus gesetzt ist. Das kann auch dazu führen, dass alles schwarz ist, da dann nichts durch den Tiefentest gerutscht ist.
Normal genügt es vollkommen, wenn du in dem OnResize deines Formulars den ViewPort und die Projektion (glOrtho) setzt. Beim Render brauchst du dann nur noch den Framebuffer löschen und kannst gleich loslegen. So habe ich das in meinem Project VU Meter auch gemacht. Also nur im OnResize gesetzt und beim Rendern hatte ich dann weder mit meinem Daten noch mit meiner Schrift Probleme. Und bisher habe ich noch keine Klagen gehört. Evtl solltest du da mal in die Quellen schauen. Wobei ich da aber noch einen Tiefentest an habe. Was eigentlich nicht nötig wäre.
ICh habe es jetzt mal mit deinem Grundgerüst probiert, allerdings habe ich da schon bei mir Probleme . Und zwar funktioniert gl_Quads nicht mehr (gl_Quad_Strip funktioniert aber und andere auch):
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was soll denn nicht gehen? Kommt eine Fehlermeldung, oder sieht was blöd aus, oder was? Eventuell ist die reihenfolge der Coordinaten fehlerhaft (Es gibt da nämlich einen beträchtlichen unterschied zwischen QuadStrips und Quads wie man bei glBegin im Wiki sehen kann.)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Bei glQuads habe ich eine leer schwarze Fläche. Und an der Reihenfolge liegt es auch nicht aus mehreren Gründen .
1. die gleiche Koodinatenreihenfolge hat auch schon einmal funktioniert (beim altem Grundgerüst) und ich habe daran ja nichts verändert
2. ist die Reihenfolge auch durchdacht, da ich den Anfängerfehler des nicht durchdenkens der Reihenfolge schon lange nicht mehr mache
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.