Просмотр исходного кода

make the default scene a bit more interesting

Lucas Stadler лет назад: 10
Родитель
Сommit
c8c84fb8e0
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      glsl/raymarching.js

+ 11 - 1
glsl/raymarching.js

102
  return length(pos) - 1.0;
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
float pMod1(inout float p, float size) {
113
float pMod1(inout float p, float size) {
106
  float halfsize = size * 0.5;
114
  float halfsize = size * 0.5;
107
  float c = floor((p + halfsize)/size);
115
  float c = floor((p + halfsize)/size);
115
  pMod1(pos.x, offset.x);
123
  pMod1(pos.x, offset.x);
116
  pMod1(pos.y, offset.y);
124
  pMod1(pos.y, offset.y);
117
  pMod1(pos.z, offset.z + sin(iGlobalTime));
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
mat3 setCamera( in vec3 ro, in vec3 ta, float cr ) {
131
mat3 setCamera( in vec3 ro, in vec3 ta, float cr ) {