Convenience module for GLSL raytracing that provides a turntable camera for your scene.
If you're looking for more flexibility, you might want to check out glsl-camera-ray.
angle
is the camera's rotation around the origin in radians.height
is the camera's height relative to the origin.dist
is the distance the camera is placed from the origin.ro
is the ray origin, which gets set as a result of calling this function.rd
is the ray direction, a unit vector which gets set as a result of calling this function.
vec2 doModel(vec3 p);
#pragma glslify: raytrace = require('glsl-raytrace', map = doModel, steps = 50)
#pragma glslify: camera = require('glsl-turntable-camera')
void main() {
// Determine the ray origin/direction:
vec3 ro, rd;
camera(iGlobalTime * 0.8, 3.0, 3.5, iResolution.xy, ro, rd);
// Trace the scene:
vec2 t = raytrace(ro, rd);
if (t.x > -0.5) {
// ...
}
}
See stackgl/contributing for details.
MIT. See LICENSE.md for details.