GLUT OpenGL - 仅使用GL_POINTS绘制形状

时间:2015-09-23 16:41:42

标签: opengl graphics glut

我正在完成作业,我只需要使用GL_POINTS画画。我意识到这是一种昂贵的方法,但它适用于家庭作业,所以没有GL_TRIANGLES / GL_POLYGON / GL_LINES等。

首先,我试图理解仅使用点的概念。假设我想绘制一个100 x 100像素的正方形。我是否需要四个for-loops以直线绘制每个100像素来创建正方形?如果我想用正方形填充颜色怎么办?

我理解使用GL_POLYGON画一个正方形,因为它相当直接。我们只是使用GLUT库来绘制带点的形状。

2 个答案:

答案 0 :(得分:0)

我认为这项任务基本上会迫使你编写自己的渲染器。因此,例如,您需要针对三角形的线和扫描线光栅化实施Bresenham算法。完成后,您可以对每个形状进行三角测量,并将栅格化为多个三角形。

答案 1 :(得分:-1)

要绘制宽度为100x100像素的正方形,您只需在应用程序中使用:

glEnable(GL_PROGRAM_POINT_SIZE);

然后在您的顶点着色器中找到您需要的唯一顶点(正方形的中心):

gl_PointSize = pixel_size;

在你的情况下:

gl_PointSize = 100;