Moin
Zunächst einmal großes THX an die Tutorial-Autoren! Eure Tuts haben mich insgesamt schon mal weit gebracht (für meine verhätnisse =P).
Ich hab nur gerade ein Problem mit dem Blenden von Textuten (tutorial Lektion 7), an dem ich schon gut eine Woche sitzte.
Ich habe versucht die im Tutorial beschriebenen Beispiele aus zu probieren. Es funktioniert bei mir nur nicht. Ich hab die Texturen mit sdl geladen, wie es in einer der vorgehenden Lektionen beschrieben wird. Nur wird beim Blenden entweder nichts oder nur die erste Textur angezeigt -.-
Btw: Hat dieses Forum eigendlich eine Suchfunktion? Wenn ja wo, wenn nicht, fänd ich sie recht sinvoll bei den vielen Beiträgen, die hier zu finden sind.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Coolcat, er meinte, wenn man mit der Firefox suche nach "Suche" sucht, findet man den Link zur Forumsuche .
Keksdose: hast du auch glEnable(GL_BLEND) gemacht? und vielleicht auch noch glDisable(GL_DEPTH_TEST) oder die Quads in einem gewissen Abstand von hinten nach vorne gerendert? Wenn das ncihts hilft, wäre Quelltext hilfreich .
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Nun, wenn du zwei Quads an die gleiche Stelle zeichnest, haben sie den gleichen Tiefenwert. OpenGL nutzt diese Tiefenwerte um zu bestimmen, welche Objekte sich hinter oder vor anderen befinden. Der Tiefentest prüft beim zeichnen nun (sofern nicht anders eingestellt), ob die Tiefe des zu zeichnenden Objektes kleiner ist als die von dem schon im Puffer vorhandenen Fragmenten. Wenn das der Fall ist, werden die vorhandenen überschrieben (das Objekt liegt also vor den anderen), ansonsten wird nichts gezeichnet (das Objekt liegt dahinter und wird nicht angezeigt).
So. Die eigentlich richtige Lösung für den 3D-Betrieb wäre nun das sortierte Zeichen der (transparenten) Objekte von hinten nach vorne. Ich vermute mal, dass du einfach keine unterschiedlichen Z-Koordinaten für deine beiden Quads hast. Wenn du die unterschiedlich machst (und die Zeichenreihenfolge von hinten nach vorne einhälst), dann wird das ganze auch mit Tiefentest funktionieren.
Der Tiefentest ist eigentlich wichtig und in 3D meist zwingend erforderlich, in 2D häufig hilfreich.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
mhm, stimmt, ich hab gerade drübergeschaut, und die beiden gezeichneten Quads liegen tatsächlich direkt aufeinander, ohne dass etwas vom ausschalten des Tiefentests gesagt war. Wobei es vermutlich optimaler wäre, anstatt den Tiefentest komplett auszuschalten, das erste Quad einfach mit glDepthMask(false); (<- keine Werte in den Tiefenpuffer schreiben, ergo stört sich das zweite Quad nicht am ersten) und danach direkt wieder auf glDepthMask(true) umzuschalten...
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Solche Sachen dürft ihr gern im Tutorial einfügen und in einem kurzen Satz auch erklären, denn andere Anfänger treffen sicherlich auf ähnliche Probleme.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
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.