Hi,
I want draw pixels upon all other geometries, such as triangle. When I try it by calling glDrawPixels()
, triangle dispaly upon pixels. What’s going wrong? Here is the drawing code:
glBegin(GL_TRIANGLES);
glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 0.0f);
glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(1.0f, 0.0f);
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(0.5f, 1.0f);
glEnd();
GLint width = 50;
GLint height = 50;
GLint PixelLength = 4 * width*height;
PixelData = (GLubyte*)malloc(PixelLength);
if (PixelData == 0)
exit(0);
for (int i = 0; i < width; i++)
{
for (int k = 0; k < height; k++)
{
PixelData[(i*width + k) * 4] = 255;
PixelData[(i*width + k) * 4 + 1] = 0;
PixelData[(i*width + k) * 4 + 2] = 0;
PixelData[(i*width + k) * 4 + 3] = 100;
}
}
glRasterPos3i(0.5, 0,0.5);
glDrawPixels(width, height,
GL_RGBA, GL_UNSIGNED_BYTE, PixelData);
free(PixelData);
Thanks so much!