OpenGL中的2D剪辑

时间:2013-03-18 15:48:58

标签: opengl

我对OpenGL中的裁剪有疑问。所以我有一个小视口,我想渲染一个大图像的一部分。如果我画一个像

这样的大图像
glEnable(GL_TEXTURE_RECTANGLE)

glColor3f(1,1,1)

glTexCoord2f(0,height)
glVertex2f(0,0)

glTexdoord2f(width,height)
glVertex2f(width,0)

glTexCoord2f(width,0)
glVertex2f(width,height)

glTexCoord(0,0)
glVertex2f(0,height)

宽度和高度图像(纹理)的大小,远大于视口。

我的问题是:OpenGL首先会根据视口的大小剪切矩形,然后绘制,或者首先渲染整个图像然后剪辑吗?

1 个答案:

答案 0 :(得分:1)

它将首先剪切几何体,然后绘制。更具体地说,OpenGL在向下渲染单个帧缓冲元素(像素)之前执行所有几何处理。以下是3.3 GL规范的相关引用(第2.4节):

  

最终生成的基元被剪切到查看卷中   准备下一阶段,光栅化。光栅化器产生   使用二维的一系列帧缓冲地址和值   点,线段或多边形的描述。