void GLWidget::paintGL() { glClearColor(1.0, 1.0, 0.0, 1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); switch (type) { case 0: drawPoints() ; break; case 1: drawLines(); break; case 2: drawLineStrip(); break; case 3: drawLineLoop(); break; case 4: drawTriangles(); break; case 5: drawTriangleStrip(); break; case 6: drawTriangleFan(); break; case 7: drawQuads(); break; case 8: drawQuadStrip(); break; case 9: drawPolygons(); break; default: break; } }
static void drawImage(GLshort* textureCoords, GLshort* vertexCoords, Texture* texture) { glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, texture->glTexture); glMatrixMode(GL_TEXTURE); glPushMatrix(); //glLoadIdentity(); // maybe save this matrix for each texture... glScalex(texture->textureWidthInv, texture->textureHeightInv, 0x10000); glMatrixMode(GL_MODELVIEW); drawTriangleFan(textureCoords, vertexCoords); glMatrixMode(GL_TEXTURE); glPopMatrix(); glMatrixMode(GL_MODELVIEW); }
static void ogl_fillRect(int left, int top, int width, int height) { GLshort vertexCoords[] = { left, top, left+width, top, left+width, top+height, left, top+height }; //glDisable(GL_BLEND); glColor4f(0.0f, 0.0f, 0.0f, 1.0f); glDisable(GL_TEXTURE_2D); drawTriangleFan(NULL, vertexCoords); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); //glEnable(GL_BLEND); }