1.0.0 • Published 9 years ago

glsl-turntable-camera v1.0.0

Weekly downloads
45
License
MIT
Repository
github
Last release
9 years ago

glsl-turntable-camera

stable

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.

Usage

NPM

camera(float angle, float height, float dist, vec2 resolution, out vec3 ro, out vec3 rd).

  • 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) {
    // ...
  }
}

Contributing

See stackgl/contributing for details.

License

MIT. See LICENSE.md for details.