Sfoglia il codice sorgente

make the default scene a bit more interesting

Lucas Stadler 10 anni fa
parent
commit
c8c84fb8e0
1 ha cambiato i file con 11 aggiunte e 1 eliminazioni
  1. 11 1
      glsl/raymarching.js

+ 11 - 1
glsl/raymarching.js

@ -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 ) {