GL_SCISSOR_TEST导致奇怪的渲染文物

时间:2014-07-21 14:34:38

标签: opengl opengl-es jogl clipping

我正在使用OpenGL 2 ES 2进行正交2D设置,使用JOGL& amp;的java。

我遇到了GL_SCISSOR_TEST的问题,我的圆角矩形对象中的某些多边形在启用测试时会消失,但在禁用时会很好。

我的方案是使用TRIANGLE_FAN绘制圆角矩形。我正在尝试绘制此形状内的子矩形。到目前为止,我一直很成功。我的技术依赖于剪裁到我想要渲染的子区域,以避免纹理在整个圆角矩形上拉伸(我的纹理是CLAMP_TO_EDGE)。但是我注意到在非常特殊的情况下,某些poly的像素没有被渲染..但是如果我禁用剪刀测试那么一切都很好(除了我渲染到整个圆角矩形,这不是我想要的)

当测试是每个像素时,我也对剪刀测试如何剔除多边形的像素感到困惑?不是每个顶点。

请参阅下图:

enter image description here

我注意到问题出现&当我调整窗口大小时,即使每次绘制的组件大小相同,也会消失。

我已经尝试过调查面部剔除,z平面冲突等事情,但没有快乐。

我画了其他形状(椭圆形,长方形等)并且它们看起来很好,这让我担心它与我的圆角矩形有关..但是如果它是,那么图像中的蓝色圆角矩形不是以同样的方式打破?绘制到整个形状,或任何包含形状中心的子区域看起来都很好..

我的设置:

  • 始终禁用深度测试。
  • 始终禁用剔除。
  • 启用Stencilling&按需禁用。
  • 供应商:英特尔开源技术中心
  • 渲染器:Mesa DRI英特尔(R)Sandybridge Mobile
  • 版本:3.0 Mesa 9.0
  • GL简介:GLProfile [GL2 / GL2.hw]
  • GLES2兼容:是真的
  • NPOTT是否可用:是

我完全不知道它可能是什么或如何继续......

更新:

我在路径中绘制子区域时也出现了问题:

enter image description here

0 个答案:

没有答案