void DrawEnd() { IsRendererInitialized(); g_CurrentProgram->SetModelViewProjection(); g_CurrentProgram->SetUniform("color", g_CurrentColor); if(!g_DrawVertices->empty() && g_HasDrawBegun) { switch(g_Drawtype) { case CL_QUADS: DrawQuads(); break; case CL_TRIANGLES: DrawTriangles(*g_DrawVertices, *g_DrawTextureCoords, *g_DrawNormals); break; case CL_POINTS: DrawPoints(); break; case CL_LINES: DrawLines(); break; } } g_DrawVertices->clear(); g_DrawTextureCoords->clear(); g_DrawNormals->clear(); g_HasDrawBegun = false; g_CurrentProgram->ClearTextureUnits(); }
int DrawGLScene(GLvoid) // Here's where we do all the drawing { GLfloat angle1[3] = { 0.0f, 1.0f, 0.0f }; GLfloat angle2[3] = {-1.0f,-1.0f, 0.0f }; GLfloat angle3[3] = { 1.0f,-1.0f, 0.0f }; GLfloat color1[3] = { 1.0f, 0.0f, 0.0f }; GLfloat color2[3] = { 0.0f, 1.0f, 0.0f }; GLfloat color3[3] = { 0.0f, 0.0f, 1.0f }; GLfloat color4[3] = { 0.5f, 0.5f, 1.0f }; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear screen and depth buffer glLoadIdentity(); // Reset the current model-view matrix glTranslatef(g_MoveX, g_MoveY, g_MoveZ); // Move Left 1.5 Units And Into The Screen 6.0 glRotatef(g_RotateY, 0.0f, 1.0f, 0.0f); // Rotate The Triangle On The Y axis DrawTriAngles(angle1, angle2, angle3, // Drawing Using Triangles color1, color2, color3); glLoadIdentity(); glTranslatef(1.5f, 0.0f, -6.0f); // Move Right 3 Units glRotatef(g_RotateX, 1.0f, 0.0f, 0.0f); glColor3fv(color4); DrawQuads( -1.0f, 1.0f, 0.0f, // Draw A Quad 1.0f, 1.0f, 0.0f, 1.0f, -1.0f, 0.0f, -1.0f, -1.0f, 0.0f); g_RotateX += g_RDeltaX; g_RotateY -= g_RDeltaY; return TRUE; // Everything went OK }
void COglshapeView::DrawWithOpenGL() { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0f, 0.0f, 0.0f); switch(m_shape) { case Points : DrawPoints(); break; case Lines : DrawLines(); break; case LineStrip : DrawLineStrip(); break; case LineLoop : DrawLineLoop(); break; case Polygons : DrawPolygons(); break; case Triangles : DrawTriangles(); break; case TriangleStrip : DrawTriangleStrip(); break; case TriangleFan : DrawTriangleFan(); break; case Quads : DrawQuads(); break; case QuadStrip : DrawQuadStrip(); break; case Nonconvex : DrawNonconvex(); break; } glFlush(); }
int DrawGLScene(GLvoid) // Here's where we do all the drawing { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear screen and depth buffer glLoadIdentity(); // Reset the current model-view matrix glTranslatef(-1.5f, 0.0f, -6.0f); // Move Left 1.5 Units And Into The Screen 6.0 DrawTriAngles( 0.0f, 1.0f, 0.0f, // Drawing Using Triangles -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f); glTranslatef(3.0f, 0.0f, 0.0f); // Move Right 3 Units DrawQuads( -1.0f, 1.0f, 0.0f, // Draw A Quad 1.0f, 1.0f, 0.0f, 1.0f, -1.0f, 0.0f, -1.0f, -1.0f, 0.0f); return TRUE; // Everything went OK }