006
28.07.2005, 22:24 Uhr
Lensflare
|
also mit glEnable(GL_DEPTH_TEST); sieht der würfel schon besser aus als vorher aber er wird glaub ich immer noch falsch gezeichnet.
jetzt hab ich ein neues problem: wenn ich die kamera (oder den würfel selbst) in die Z-Richtung bewege, dann verschwindet er allmählig, als ob er sich in eine schwarze wand reinbewegen würde. Ich vermute, dass die sichtweite der kamere zu klein eingestellt ist. Ist es so? Wie verhindere ich es bzw. stelle die sichtweite höher? Und bewegt sich mit dem folgenden code die kamera oder der würfel?
C++: |
glTranslatef(0.0f,0.0f,my_move_z); glRotatef(my_rotate_x,0.0f,1.0f,0.0f); glRotatef(my_rotate_y,1.0f,0.0f,0.0f); glRotatef(my_rotate_z,0.0f,1.0f,1.0f); glBegin(GL_QUADS); glColor3f(0.0f,1.0f,0.0f); // Color Blue glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Top) glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Top) glVertex3f(-1.0f, 1.0f, 1.0f); // Bottom Left Of The Quad (Top) glVertex3f( 1.0f, 1.0f, 1.0f); // Bottom Right Of The Quad (Top) glColor3f(1.0f,0.5f,0.0f); // Color Orange glVertex3f( 1.0f,-1.0f, 1.0f); // Top Right Of The Quad (Bottom) glVertex3f(-1.0f,-1.0f, 1.0f); // Top Left Of The Quad (Bottom) glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Bottom) glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Bottom) glColor3f(1.0f,0.0f,0.0f); // Color Red glVertex3f( 1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Front) glVertex3f(-1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Front) glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Front) glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Front) glColor3f(1.0f,1.0f,0.0f); // Color Yellow glVertex3f( 1.0f,-1.0f,-1.0f); // Top Right Of The Quad (Back) glVertex3f(-1.0f,-1.0f,-1.0f); // Top Left Of The Quad (Back) glVertex3f(-1.0f, 1.0f,-1.0f); // Bottom Left Of The Quad (Back) glVertex3f( 1.0f, 1.0f,-1.0f); // Bottom Right Of The Quad (Back) glColor3f(0.0f,0.0f,1.0f); // Color Blue glVertex3f(-1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Left) glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Left) glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Left) glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Left) glColor3f(1.0f,0.0f,1.0f); // Color Violet glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Right) glVertex3f( 1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Right) glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Right) glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Right) glEnd();
if(KEY_DOWN(VK_RIGHT)) my_rotate_x += 0.5; if(KEY_DOWN(VK_LEFT)) my_rotate_x -= 0.5; if(KEY_DOWN(VK_UP)) my_rotate_y += 0.5; if(KEY_DOWN(VK_DOWN)) my_rotate_y -= 0.5; if(KEY_DOWN('A')) my_move_z -= 0.1; if(KEY_DOWN('Q')) my_move_z += 0.1;
|
-- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost) Dieser Post wurde am 28.07.2005 um 22:25 Uhr von Lensflare editiert. |