Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "shaders/chunks/ray_pars_fragment"

Index

Variables

Variables

Const ray_pars_fragment

ray_pars_fragment: "struct Ray {vec3 origin;vec3 direction;};Ray createPerspectiveRay() {return Ray(cameraPosition,normalize(vPosition - cameraPosition));}Ray createOrthographicRay() {return Ray(vPosition + dot(vPosition - cameraPosition, cameraDirection) * cameraDirection,cameraDirection);}Ray createRay() {if (isOrthographic) {return createOrthographicRay();}return createPerspectiveRay();}Ray convertRayFromWorldToObject(Ray ray) {vec3 origin = (invModelMatrix * vec4(ray.origin, 1.0)).xyz;vec3 direction = normalize((invModelMatrix * vec4(ray.direction, 0.0)).xyz);return Ray(origin, direction);}vec2 getRaymarchRange(Ray ray) {vec3 hs = 0.5 * size;vec2 range = vec2(0.0, 1e8);for (int i = 0; i < 3; i++) {if (ray.direction[i] == 0.0) continue;float t1 = (hs[i] - ray.origin[i]) / ray.direction[i];float t2 = (-hs[i] - ray.origin[i]) / ray.direction[i];range.x = max(range.x, min(t1, t2));range.y = min(range.y, max(t1, t2));}return range;}" = `struct Ray {vec3 origin;vec3 direction;};Ray createPerspectiveRay() {return Ray(cameraPosition,normalize(vPosition - cameraPosition));}Ray createOrthographicRay() {return Ray(vPosition + dot(vPosition - cameraPosition, cameraDirection) * cameraDirection,cameraDirection);}Ray createRay() {if (isOrthographic) {return createOrthographicRay();}return createPerspectiveRay();}Ray convertRayFromWorldToObject(Ray ray) {vec3 origin = (invModelMatrix * vec4(ray.origin, 1.0)).xyz;vec3 direction = normalize((invModelMatrix * vec4(ray.direction, 0.0)).xyz);return Ray(origin, direction);}vec2 getRaymarchRange(Ray ray) {vec3 hs = 0.5 * size;vec2 range = vec2(0.0, 1e8);for (int i = 0; i < 3; i++) {if (ray.direction[i] == 0.0) continue;float t1 = (hs[i] - ray.origin[i]) / ray.direction[i];float t2 = (-hs[i] - ray.origin[i]) / ray.direction[i];range.x = max(range.x, min(t1, t2));range.y = min(range.y, max(t1, t2));}return range;}`

Generated using TypeDoc