OpenGL ES 1 裁剪对象
Posted
技术标签:
【中文标题】OpenGL ES 1 裁剪对象【英文标题】:OpenGL ES 1 clipping object 【发布时间】:2011-11-03 00:08:29 【问题描述】:我对 OpenGLES1 相当缺乏经验,但我不得不根据我目前工作的限制来使用它。
我试图创造的效果是一种“容器”。 例子:
所以我希望能够让对象“框架”剪辑框架内的对象。问题是框架不是一个完美的正方形,所以我不能只是重新调整大小和调整纹理坐标。
我的一些同行建议使用模板,但我只处理过一次,我不确定基于“框架”alpha 创建模板的最佳方法。
各位先生有什么资源可以指点我吗?将不胜感激。
干杯,Xoorath。
【问题讨论】:
【参考方案1】:如果只是渲染您想要在非矩形区域内裁剪的对象,那么根据OpenGL FAQ 创建模板缓冲区可能就是您需要的(参见第 10.030 节)。
否则,如果您想剪裁对象(通过修改其坐标),而不仅仅是在渲染时遮盖某个区域,那么您将需要一个多边形剪裁库。
关于多边形裁剪库,有许多选项,但它们减少到一个 - GPC - 如果你想要一个可以用 C(而不是 C++)编译的库。但是 GPC 的许可证可能会给您带来问题,因为它不是免费用于商业用途的。如果许可证有问题,您可以考虑将其他库的功能封装在动态链接库中。这些用 C++ 编写的其他库包括 - Clipper、Boost Polygon 和 Boost Geometry。
【讨论】:
抱歉迟到了。这些是满足我需要的绝佳工具。以上是关于OpenGL ES 1 裁剪对象的主要内容,如果未能解决你的问题,请参考以下文章
在 cocos2d 中使用 opengl-es 进行圆形裁剪
我的OpenGL学习进阶之旅介绍一下OpenGL ES的图元装配:坐标系统透视分割视口变化