Opengl es 关闭OpenGL视口剪裁

Opengl es 关闭OpenGL视口剪裁,opengl-es,Opengl Es,我想画一些原语,这些原语是在窗口空间坐标中预先剪裁和给定的。这意味着我的顶点着色器将这些坐标输出为(x,y,0,1)。glViewport设置为(-1,-1,2,2),这将禁用视口变换 问题是,顶点后处理中的视口剪裁会删除一个组件位于-w,w(在本例中为w=1)之外的所有坐标 OpenGL ES 3中有没有办法禁用此剪辑 关于否,没有任何方法禁用此剪辑。只需将视口设置为整个窗口,并在顶点着色器中缩放坐标。听起来有点浪费,但事实就是这样。如果你出于性能原因而尝试这样做,那么现代GPU并不会显式地进

我想画一些原语,这些原语是在窗口空间坐标中预先剪裁和给定的。这意味着我的顶点着色器将这些坐标输出为(x,y,0,1)。glViewport设置为(-1,-1,2,2),这将禁用视口变换

问题是,顶点后处理中的视口剪裁会删除一个组件位于-w,w(在本例中为w=1)之外的所有坐标

OpenGL ES 3中有没有办法禁用此剪辑


关于

否,没有任何方法禁用此剪辑。只需将视口设置为整个窗口,并在顶点着色器中缩放坐标。听起来有点浪费,但事实就是这样。如果你出于性能原因而尝试这样做,那么现代GPU并不会显式地进行剪裁,因为它在许多情况下会增加额外的工作量。它主要是作为渲染管道其他部分的副作用发生的。OpenGL不保证通过标准进行这种剪裁吗?除了主要问题之外,我还要检查您对
glViewport
的使用情况;在大多数平台上,您要求每个维度的输出最多为两个像素,并且除一个像素外,其他所有像素都应在屏幕外
glViewport
获取窗口坐标。虽然听起来可能只是个问题输入错误?