我正在开发一个引擎,我处理玩家不应该达到的边界的方式是将实际的多边形作为这些边界。现在,我想知道如何“渲染”polgon但是它不可见。
我的主要问题是:OpenGL是否有办法本地执行此操作?
如果没有,如果我按照我通常在纹理中加载的方式来创建纹理,但是这个纹理只是一个像素。我可以将alpha通道设置为特定的像素颜色,然后使用alpha蒙版,就像我通常使用蒙版纹理一样。
有什么建议吗?
答案 0 :(得分:2)
我的主要问题是:OpenGL是否有办法本地执行此操作?
没有!
OpenGL只绘制色彩鲜艳的三角形,线条并指向帧缓冲区,就是这样。
答案 1 :(得分:0)
问题评论解决了你所遇到的问题但是有一种方法可以做你实际要求的事情,所以无论如何我都把它放在这里。
我理解的问题是关于在深度缓冲区(也许是模板)中渲染某些东西而不是其他地方。要实现这一点,您只需在绘制透明多边形之前使用glColorMask:
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
然后恢复颜色遮罩。
答案 2 :(得分:0)
如果要将边界渲染为透明多边形 - 可以使用此处给出的混合方法:http://www.opengl.org/resources/faq/technical/transparency.htm
那是你在找什么?