我正在努力弄清楚一件事情,假设我正在渲染一个高度为100、宽度为100的图像。
在情况A中
我使用了glOrtho(0,100,0,100,-100,100)
和glViewPort(0,0,50,50)
。其中,glOrtho被定义为(left,right,bottom,top,zNear,zFar),glViewPort被定义为(lower left corner x,lower left corner y,width,height)。
在情况B中
我使用了glOrtho(0,50,0,50,-100,100)
和glViewPort(0,0,100,100)
。其中,glOrtho被定义为(left,right,bottom,top,zNear,zFar),glViewPort被定义为(lower left corner x,lower left corner y,width,height)。
这基本上意味着,在情况A中,这个图像将被渲染为比它需要的更低的宽度和高度(即每两个像素被渲染成一个)。原始图像将被映射到目标“表面”的一个像素中,但是整个图像仍然可以看到。
然而,在情况B中,这个图像将被剪裁,因此只有它的左上角的四分之一可见。 我正确吗? - 只是为了澄清,这是我明天CG考试的一个问题,我想确保我正确理解了OpenGL... (已经读过API了... =\
)。