标签: opengl collision-detection glsl webgl shader
Web上是否有任何OpenGL,OpenGL ES或WebGL代码示例如何使用着色器(最好是GLSL)实现3D碰撞检测?
谢谢。
答案 0 :(得分:4)
GLGE具有基于着色器的碰撞检测。见this demo。 (WASD,空格键和鼠标四处移动。注意你是如何与墙壁碰撞的。)
如果查看源代码,则使用代码
var ray=gameScene.ray(origin,[0,0,1]);
如果您按照glge.js进行操作,则会看到如何使用特殊的渲染模式GLGE.RENDER_PICK(后者使用pkfragStr中的拾取片段着色器)来实现此功能。
glge.js
GLGE.RENDER_PICK
pkfragStr