opengl - 网络上是否有任何示例如何使用着色器实现碰撞检测?

标签 opengl collision-detection glsl webgl shader

网络上是否有任何 OpenGL、OpenGL ES 或 WebGL 代码示例,如何使用着色器(最好是 GLSL)实现 3D 碰撞检测?

谢谢你。

最佳答案

GLGE具有基于着色器的碰撞检测。见 this demo . (WASD,空格键和鼠标移动。注意你如何与墙壁等碰撞)

如果您查看源代码,则使用代码处理碰撞检测

var ray=gameScene.ray(origin,[0,0,1]);

如果你按照这个进入 glge.js您将看到这是如何使用特殊渲染模式实现的 GLGE.RENDER_PICK (它反过来在 pkfragStr 中使用拾取片段着色器)。

关于opengl - 网络上是否有任何示例如何使用着色器实现碰撞检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4546744/

相关文章:

opengl - 了解 dFdX 和 dFdY 的基础知识

c++ - ScrollWheel 没有生成任何事件 - GLUT

c++ - 在 C++/OpenGL 中围绕另一个对象旋转投影一个对象

c++ - 无法释放设备上下文、HWND,也无法注销 Windows 类 (OpenGL) -

c++ - 碰撞检测和时间复杂度 : How do I make checking for collisions easier?

opengl - GPU 驱动程序如何解释 GLSL 的 "coherent"内存限定符以进行多 channel 渲染?

OpenGL 规范规定 `GLint` 必须是 32 位宽,但 gl.xml 天真地将其定义为 `int` 而不是 `int32_t` 。为什么?

java - 碰撞检测-避开盒子

canvas - 弹跳速度计算、与地面碰撞

glsl - 默认的 GLSL 着色器是什么样子的?适用于 330 版本