有没有办法检测具有一定数量顶点的物体是否撞击平面?如果是这样,我想将其以二进制(黑/白)绘制到平面上或用它创建纹理。
而且我也不关心这是否只能通过光线投射或一些棘手的物理操作/着色器/等来创建。我只是想知道什么数学算法可以创建这个。
Here is an example of what I'm trying to achieve:
干杯,迈克尔
大多数游戏将通过专门的着色器来实现这一点:
- 第一遍渲染一个深度图对于场景中的不透明物体
- 第二遍使用相交着色器对于透明物体
相交着色器会查找深度等于(或接近等于)第一遍深度的片段,然后对这些片段进行不同的着色。
关于游戏开发堆栈交换的问题更详细的内容,包括屏幕截图和 WebGL 演示。
在你的情况下,这可能看起来像:
- 将平面渲染为不透明几何体
- Render the other objects using intersection shader
- 绘制与平面相交的片段
- 做的片段not相交平面被丢弃
无论您是对整个场景执行此操作,还是只是生成可应用于其他对象的纹理,着色器原理都保持相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)