|
|
@ -102,6 +102,14 @@ float sphere(vec3 pos) {
|
|
102
|
102
|
return length(pos) - 1.0;
|
|
103
|
103
|
}
|
|
104
|
104
|
|
|
|
105
|
float sphere(vec3 pos, float size) {
|
|
|
106
|
return length(pos) - size;
|
|
|
107
|
}
|
|
|
108
|
|
|
|
109
|
float udBox( vec3 p, vec3 b ) {
|
|
|
110
|
return length(max(abs(p)-b,0.0));
|
|
|
111
|
}
|
|
|
112
|
|
|
105
|
113
|
float pMod1(inout float p, float size) {
|
|
106
|
114
|
float halfsize = size * 0.5;
|
|
107
|
115
|
float c = floor((p + halfsize)/size);
|
|
|
@ -115,7 +123,9 @@ float DistanceEstimator(vec3 pos) {
|
|
115
|
123
|
pMod1(pos.x, offset.x);
|
|
116
|
124
|
pMod1(pos.y, offset.y);
|
|
117
|
125
|
pMod1(pos.z, offset.z + sin(iGlobalTime));
|
|
118
|
|
return sphere(pos);
|
|
|
126
|
//return sphere(pos);
|
|
|
127
|
return min(sphere(vec3(pos.x, pos.y - 0.5, pos.z), 0.75),
|
|
|
128
|
udBox(pos, vec3(1.0, 0.3, 1.0)));
|
|
119
|
129
|
}
|
|
120
|
130
|
|
|
121
|
131
|
mat3 setCamera( in vec3 ro, in vec3 ta, float cr ) {
|