![]() |
Würfel mit Textur (OpenGL)
Hallo!
Ich habe folgendes Problem in Delphi+OpenGL. Ich zeichne folgendermaßen einen Würfel:
Delphi-Quellcode:
Zuvor lade ich natürlich noch die Textur, was auch klappt. Problem ist jetzt aber, dass die Texturen (Würfelseiten) die zuerst gezeichnet werden, von den danach "übermalt" werden und somit nicht zu sehen sind. Hat jemand eine Idee wie ich das verhindern kann?
glBegin(GL_QUADS);
//glColor3d(1,0,0); glTexCoord2f(0,0); glVertex3f(-1,-1,-1); glTexCoord2f(0,1); glVertex3f(-1, 1,-1); glTexCoord2f(1,1); glVertex3f( 1, 1,-1); glTexCoord2f(1,0); glVertex3f( 1,-1,-1); glTexCoord2f(0,0); glVertex3f(-1, 1,-1); glTexCoord2f(0,1); glVertex3f(-1, 1, 1); glTexCoord2f(1,1); glVertex3f( 1, 1, 1); glTexCoord2f(1,0); glVertex3f( 1, 1,-1); glTexCoord2f(0,0); glVertex3f(-1,-1,-1); glTexCoord2f(0,1); glVertex3f( 1,-1,-1); glTexCoord2f(1,1); glVertex3f( 1,-1, 1); glTexCoord2f(1,0); glVertex3f(-1,-1, 1); glTexCoord2f(0,0); glVertex3f( 1,-1,-1); glTexCoord2f(0,1); glVertex3f( 1, 1,-1); glTexCoord2f(1,1); glVertex3f( 1, 1, 1); glTexCoord2f(1,0); glVertex3f( 1,-1, 1); glTexCoord2f(0,0); glVertex3f(-1,-1,-1); glTexCoord2f(0,1); glVertex3f(-1,-1, 1); glTexCoord2f(1,1); glVertex3f(-1, 1, 1); glTexCoord2f(1,0); glVertex3f(-1, 1,-1); glTexCoord2f(0,0); glVertex3f(-1,-1, 1); glTexCoord2f(0,1); glVertex3f( 1,-1, 1); glTexCoord2f(1,1); glVertex3f( 1, 1, 1); glTexCoord2f(1,0); glVertex3f(-1, 1, 1); glEnd; EDIT: Übermalt werden sie natürlich erst wenn ich den Würfel drehe... |
Re: Würfel mit Textur (OpenGL)
Fachfragen zu OpenGL sind in
![]() ansonsten: 1. 3d oder 2d? 2. übermalt? :wiejetzt: 3. wie rotierst du den würfel? |
Re: Würfel mit Textur (OpenGL)
Zitat:
2. Naja die Texturen die dann nach dem Rotieren vorne sind werden nicht angezeigt. Stattdessen kann man "in den Würfel reingucken" und sieht die Textur der hinteren Seite(n). Ich weiß nicht wie ich das besser erklären soll... 3. Ich rotiere den Würfel mit glrotatef |
Re: Würfel mit Textur (OpenGL)
Alles klar, hab das Problem schon selbst gelöst.
Ich musste vorher glenable(gl_depth_test); ausführen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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 by Thomas Breitkreuz