就像问题标题一样,我对这些东西有些困惑,尤其是视口和渲染区域。AFAIK,视口用于VS阶段,而渲染区域用于FS阶段,如果视口小于渲染区域,会发生什么?
谢谢。
视口指定如何将规范化的设备坐标转换为帧缓冲区的像素坐标。
剪刀是可以渲染的区域,在这方面类似于视口,但是更改剪刀矩形不会影响坐标。
RenderArea是将由renderpass更改的帧缓冲区的区域。这使实现知道不是整个帧缓冲区都将被更改,并且通过例如在基于图块的体系结构中不包括某些图块来使其有机会进行优化。应用程序有责任在该区域之外进行任何渲染,例如,确保剪刀矩形始终完全包含在renderArea中。
帧缓冲区大小和附件大小之间的关系是,附件必须至少与帧缓冲区一样大。
如果视口小于渲染区域,将会发生什么?
没什么特别的,render命令将在视口中渲染。反之(渲染区域小于视口)将导致帧缓冲区中的值未定义。