如何在OpenGL中绘制单个像素?

新手上路,请多包涵

有人能告诉我如何在一个坐标处绘制一个白色像素,比如(100,200)吗?

我正在使用 GLUT,到目前为止已经弄清楚如何打开一个空白窗口。一旦我弄清楚如何绘制像素,我将使用它来实现 [Bresenham 线条绘制算法](https://en.wikipedia.org/wiki/Bresenham’s_line_algorithm)。 (是的,我知道 OpenGL 可以画线。我需要自己实现)。

 #include <stdio.h>
#include <GL/glut.h>

static int win(0);

int main(int argc, char* argv[]){
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_RGBA|GLUT_SINGLE);
    glutInitWindowSize(500,500);
    glutInitWindowPosition(100,100);

    //step 2. Open a window named "GLUT DEMO"
    win = glutCreateWindow("GLUT DEMO");
    glClearColor(0.0,0.0,0.0,0.0); //set background

    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
    glutMainLoop();
}

原文由 quantumbutterfly 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 569
1 个回答

glVertex2i(x,y);

这是它需要工作的上下文:

 glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

glutInitWindowPosition(80, 80);
glutInitWindowSize(500,500);

glutCreateWindow("A Simple OpenGL Program");

glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluOrtho2D( 0.0, 500.0, 500.0,0.0 );

glBegin(GL_POINTS);
   glColor3f(1,1,1);
   glVertex2i(100,100);
glEnd();

原文由 quantumbutterfly 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题