|
|
|
|
|
|
20
|
uniform float MinimumDistance; slider[0.0,0.01,10.0]
|
20
|
uniform float MinimumDistance; slider[0.0,0.01,10.0]
|
|
21
|
uniform int MaximumRaySteps; slider[0,10,100]
|
21
|
uniform int MaximumRaySteps; slider[0,10,100]
|
|
22
|
|
22
|
|
|
|
|
23
|
// Defined later, must be forward declared for use in `trace`.
|
|
|
|
24
|
float DistanceEstimator(vec3 pos);
|
|
|
|
25
|
|
|
23
|
// Adapted with minimal changes from [1].
|
26
|
// Adapted with minimal changes from [1].
|
|
24
|
float trace(vec3 from, vec3 direction) {
|
27
|
float trace(vec3 from, vec3 direction) {
|
|
25
|
float totalDistance = 0.0;
|
28
|
float totalDistance = 0.0;
|