GLGE имеет обнаружение столкновений на основе шейдеров. Смотрите это демо . (WASD, пробел и мышь для перемещения. Обратите внимание, как вы сталкиваетесь со стенами и т. Д.)
Если вы посмотрите на исходный код, обнаружение столкновений выполняется с кодом
var ray=gameScene.ray(origin,[0,0,1]);
Если вы выполните это в glge.js
, вы увидите, как это реализовано в специальном режиме рендеринга GLGE.RENDER_PICK
(который в свою очередь использует шейдер выбора фрагмента в pkfragStr
).