我对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首先会根据视口的大小剪切矩形,然后绘制,或者首先渲染整个图像然后剪辑吗?
答案 0 :(得分:1)
它将首先剪切几何体,然后绘制。更具体地说,OpenGL在向下渲染单个帧缓冲元素(像素)之前执行所有几何处理。以下是3.3 GL规范的相关引用(第2.4节):
最终生成的基元被剪切到查看卷中 准备下一阶段,光栅化。光栅化器产生 使用二维的一系列帧缓冲地址和值 点,线段或多边形的描述。