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

标签 c++ opengl glut

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

我正在使用 GLUT,到目前为止已经弄清楚了如何打开一个空白窗口。一旦我弄清楚如何绘制像素,我将使用它来实现 Bresenham line drawing 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();
}

最佳答案

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();

关于c++ - 如何在 OpenGL 中绘制单个像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42405420/

相关文章:

php - 编译由 HipHop 生成的 C++ 源代码

c++ - 来自 C++ 代码的 Shell 命令

opengl - 来自高度图的法线图

c++ - 使用 GLM(旋转)为 OpenGL 创建变换矩阵

c++ - GLUT 程序仅适用于几帧

c++ - 我如何在没有循环的情况下找到小于数字的两个最大幂?

c++ - 无法在 OSX 下编译 OpenGL 项目

c++ - 在 OpenGL 中使用文本——GLUT?

c++ - 我想将我的计算内容放在辅助线程中,同时将主循环保留在主线程中

c++ - 如果存储 unique_ptr,则不会构建 std::queue 的线程安全包装器,但 std::queue 可以工作