Thema: Delphi Fake 3D Würfel

Einzelnen Beitrag anzeigen

mr_emre_d
(Gast)

n/a Beiträge
 
#4

Re: Fake 3D Würfel

  Alt 23. Feb 2009, 00:15


EDIT : --MÜLL--

"sieht etwas stark verzogen aus."

hast du das ganze auch richtig gedreht ?

Schau dir zuerst einmal glTranslateF, glRotateF, glScaleF an und anschließend
probierst du folgendes:

Delphi-Quellcode:
  glClear( gl_Depth_Buffer_Bit or gl_Color_Buffer_Bit );
  glClearCOlor( 0, 0, 0, 0 );

  glMatrixMode( gl_Projection );
  glLoadIdentity();
  glUPerspective( 45.0, ClientWidth/ClientHeight, 1, 100 );

  glTranslateF( 1, 0, -5 );
  glRotateF( 30, 1, 0, 0 );
  glRotateF( -120, 0, 1, 0 );

  glMatrixMode( gl_ModelView );
  glLoadIdentity();

  glBegin (GL_QUADS);
    glColor3f (0.5, 0.5, 1); glVertex3f (0,0,0);
    glColor3f (0.5, 0.5, 1); glVertex3f (1,0,0);
    glColor3f (0.5, 0.5, 1); glVertex3f (1,1,0);
    glColor3f (0.5, 0.5, 1); glVertex3f (0,1,0);
  glEnd;
//
  glBegin (GL_QUADS);
    glColor3f (0.8, 1, 0.8); glVertex3f (0,1,0);
    glColor3f (0.8, 1, 0.8); glVertex3f (1,1,0);
    glColor3f (0.8, 1, 0.8); glVertex3f (1,1,1);
    glColor3f (0.8, 1, 0.8); glVertex3f (0,1,1);
  glEnd;

  glBegin (GL_QUADS);
    glColor3f (1, 0, 0); glVertex3f (1,1,0);
    glColor3f (1, 0, 0); glVertex3f (1,0,0);
    glColor3f (1, 0, 0); glVertex3f (1,0,1);
    glColor3f (1, 0, 0); glVertex3f (1,1,1);
  glEnd;

  SwapBuffers( DC );
  Sleep( $10 );
  Done := not Application.Active;
MfG
  Mit Zitat antworten Zitat