我正在尝试使用实例化在OpenGL中进行VR渲染,其中有1个绘制调用,2个实例(一个用于左眼,一个用于右眼)。然后,顶点着色器为instanceID 0向左平移顶点,为instanceID1向右平移顶点。我唯一需要的是用于自动硬件剔除/剪裁的每个实例视口。这在directX中是可行的,但在OpenGL中呢?
最近我实际上在为VR实现实例化立体渲染,但遇到了同样的问题。我可以选择在实例化视口中使用几何体着色器,但我不希望它会带来开销。所以,最后我改变了每个视图的透视图,并使用了一个剪辑平面。
所以这可能就是你想要的,一架剪辑飞机。在顶点着色器中实现它也非常简单,只需将"x"坐标传递到gl_ClipDistance中即可。https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/gl_ClipDistance.xhtml
祝好运