有什么方法在OpenGL中呈现多个实体切割平面吗?
用实心的“切割平面”,我指的是一个平面,它把网格的一部分剪掉,然后用实心的颜色填充这个洞。这给人的印象是网格是坚实的,而不仅仅是一个外壳。
使用单个切割平面呈现这一点的经典方法是拒绝平面不可见侧的样本,然后使用模板缓冲区来计算剩余网格中的前面和后面的数量。
但是,我不知道如何将算法扩展到多个切割平面上。例如,就像这个案例:
e
___
/ \
| A |
| |
----------- a
| C |
| |
----------- b
| B |
| |
\___/
d切割平面'a‘从网格中移除'A’部分。切割平面b从网格中移除B部分。剩余的,可见的部分,'C‘是从位置'd’的方向e-d(看'e')。
问题是,“C”内的像素不会产生碎片,因为入口和出口点都会被切割平面移除。
我真的想避免切分实际的网格,因为切割的平面可以改变每一个帧的位置。
我想这就是几年前在这里提出的同样的问题:如何渲染多个实体切割平面?
发布于 2015-07-06 09:36:54
是的,可以使用模板缓冲区技术呈现任意CSG树。这里给出了一个很好的介绍:ftp://ftp.sgi.com/opengl/contrib/blythe/advanced99/notes/node22.html
https://stackoverflow.com/questions/31240755
复制相似问题