// Author: Drunkie // Description: Draws a 3D model of the letter A Main(); #include void Main() { glSleep( 40 ); // Sleep for 40 milliseconds (reduces fps lag) glClear( 100, 149, 237 ); // Clear screen glCoordPipe( GL_CPIPE_N1_1 ); // Set coordinate pipe to [-1 to 1] mode glVertexPipe( GL_VPIPE_XYZTRANSFORM ); // Set vertex pipe to xyz transformation glLightPos( 0, 0, -50 ); // Set the light position glLightColor( 255, 255, 255, 1 ); // Set the light color glLookAt( 0, 0, -2.8, // Camera pos 0, 0, 0, // Camera target 0, 1, 0 // Camera up ); // Create variable to hold curtime float time; timer time; // Create perspective and matrix transformations glPerspective( 30, 1, 1, 20 ); // FOV, ASPECT RATIO, ZNEAR, ZFAR glRotate( 0, 1, 0, time ); // AXIS X, Y, Z, ANGLE W glTranslate( 0, -0.1, 0, 0 ); // TRANSLATION X, Y, Z glScale( 1, 1, 1, 0 ); // SCALE X, Y, Z glEnable( GL_VERTEX_ZSORT ); // Enable Z sorting glEnable( GL_VERTEX_LIGHTING ); // Enable vertex lighting glEnable( GL_VERTEX_BUFFER ); // Enable vertex buffer glEnable( GL_VERTEX_CULLING ); // Enable face culling // Solid 3D polygon glFillMode( GL_FILL_SOLID ); // Set fillmode as solid glColor4( 255, 255, 255, 255 ); // Set draw color with alpha glPoly3D( VertexBuffer, 30 ); // Draw 3D polygon glFlush(); // Flush the vertex buffer to the screen glExit(); // Exit } // The vertex data for our model VertexBuffer: db 1,1,0; db 0.75,1,0; db 0.25,-1,0; db 0.75,1,0; db 0,-1,0; db 0.25,-1,0; db -1,1,0; db -0.25,-1,0; db -0.75,1,0; db -0.75,1,0; db -0.25,-1,0; db 0,-1,0; db 1,1,0.25; db 0.25,-1,0.25; db 0.75,1,0.25; db 0.75,1,0.25; db 0.25,-1,0.25; db 0,-1,0.25; db -1,1,0.25; db -0.75,1,0.25; db -0.25,-1,0.25; db -0.75,1,0.25; db 0,-1,0.25; db -0.25,-1,0.25; db 0.25,-1,0; db -0.25,-1,0; db 0.25,-1,0.25; db -0.25,-1,0; db -0.25,-1,0.25; db 0.25,-1,0.25; db -1,1,0; db -1,1,0.25; db -0.25,-1,0; db -1,1,0.25; db -0.25,-1,0.25; db -0.25,-1,0; db 1,1,0.25; db 1,1,0; db 0.25,-1,0; db 1,1,0.25; db 0.25,-1,0; db 0.25,-1,0.25; db -0.75,1,0; db 0,-1,0; db -0.75,1,0.25; db -0.75,1,0.25; db 0,-1,0; db 0,-1,0.25; db 0.75,1,0; db 0.75,1,0.25; db 0,-1,0; db 0.75,1,0.25; db 0,-1,0.25; db 0,-1,0; db -0.47,0.25,0; db -0.38,0.01,0; db 0.38,0.01,0; db 0.38,0.01,0; db 0.47,0.25,0; db -0.47,0.25,0; db -0.47,0.25,0.25; db 0.38,0.01,0.25; db -0.38,0.01,0.25; db 0.38,0.01,0.25; db -0.47,0.25,0.25; db 0.47,0.25,0.25; db -0.38,0.01,0; db -0.38,0.01,0.25; db 0.38,0.01,0; db 0.38,0.01,0; db -0.38,0.01,0.25; db 0.38,0.01,0.25; db -0.47,0.25,0; db 0.47,0.25,0; db -0.47,0.25,0.25; db -0.47,0.25,0.25; db 0.47,0.25,0; db 0.47,0.25,0.25; db -1,1,0; db -0.75,1,0; db -1,1,0.25; db -0.75,1,0; db -0.75,1,0.25; db -1,1,0.25; db 1,1,0; db 1,1,0.25; db 0.75,1,0; db 0.75,1,0; db 1,1,0.25; db 0.75,1,0.25;