@@ -8,7 +8,7 @@ uniform float radius;
88uniform float offset;
99uniform vec3 midPoint;
1010uniform vec4 mouseTime;
11- const int craterCount = 30 ;
11+ const int craterCount = 300 ;
1212
1313layout (rgba32f, binding = 0 ) uniform image3D vertexBufferWAlpha;
1414
@@ -38,34 +38,30 @@ void main() {
3838 if (mouseTime.x == 0 ) mouseX = 0.1 ;
3939
4040 float lengthFromCenter = length (movedPoint);
41- // float phi = atan(movedPoint.y/movedPoint.x);
42- // float theta = acos(movedPoint.z/r)+mouseTime.y;
43- // vec3 polarCoord = vec3(r, phi, theta);
4441
45-
46- // point.w = (snoise(polarCoord.yz/(mouseX*10))*radius - r);
47-
48- float noiseOuter = 1 - abs (fractalNoise(normalize (movedPoint)* 1 )+ 1 )* mouseTime.w* 100 ;
42+ float noiseOuter = (1 - abs (fractalNoise(normalize (movedPoint)* 1 )+ 1 ))* mouseTime.w;
4943 float planetRadius = radius+ noiseOuter;
50- point.w = smoothstep (0 , 1 , (planetRadius - lengthFromCenter)/ 10 );
44+ point.w = smoothstep (0 , 1 , (planetRadius - lengthFromCenter)/ 100 );
5145
5246
53- float cometOffset = 0.9 ;
54- float cometDiff = 0.01 ;
55- float sizeMatters = 0.4 ;
47+ float cometOffset = 0.8 ;
48+ float cometDiff = 50.5 ;
49+ float sizeMatters = 0.1 ;
5650 for (int i = 0 ; i < craterCount; i++ ) {
5751 float theta = rand((offset+ i))* 2 * PI;
5852 float phi = rand((offset+ i+ 200 ))* 2 * PI;
5953
60- float cometSize = rand((offset+ i))* 200 + 50 ;
54+ float cometSize = rand((offset+ i))* 50 + 100 ;
6155
6256 vec3 cartCraterNormal = vec3 (sin (theta)* cos (phi), sin (theta)* sin (phi), cos (theta));
6357 vec3 cartCraterPosCenter = (planetRadius* cometOffset- cometDiff+ cometSize* sizeMatters)* cartCraterNormal;
6458 vec3 cartCraterPosOffset = (planetRadius* cometOffset+ cometSize* sizeMatters)* cartCraterNormal;
6559
66- point.w += smoothstep (0 ,1 , max (0 , cometSize- distance (movedPoint, cartCraterPosCenter)));
67- point.w -= smoothstep (0 ,1 , max (0 , cometSize- cometDiff- distance (movedPoint, cartCraterPosOffset)))* 5 ;
60+ point.w += smoothstep (0 ,1 , max (0 , ( cometSize- distance (movedPoint, cartCraterPosCenter)) / 100 ));
61+ point.w -= smoothstep (0 ,1 , max (0 , ( cometSize- cometDiff- distance (movedPoint, cartCraterPosOffset)) / 100 ))* 5 ;
6862 }
6963
64+ // point.w = dot(sin(movedPoint.xyz*0.05)*0.3, vec3(1));
65+
7066 imageStore(vertexBufferWAlpha, ivec3 (gl_GlobalInvocationID.xyz), point);
7167}
0 commit comments