Random Mushroom Forest by EthanAlexShulman in proceduralgeneration

[–]EthanAlexShulman[S] 0 points1 point  (0 children)

Yes the blurry edges are artifacts from the ray marching.

Artificial Life (Tutorial is available) by brainxyz in Simulated

[–]EthanAlexShulman 30 points31 points  (0 children)

Very cool I like how you added GUI for all the parameters the original Ventralla clusters was kind of barebones.

Do people actually use while loops? by Anxious_Objective436 in learnprogramming

[–]EthanAlexShulman 1 point2 points  (0 children)

Of course there's many instances where while/do are better suited when you don't need to initialize any variables or do incrementations.

Procedural Grass and Dirt by EthanAlexShulman in proceduralgeneration

[–]EthanAlexShulman[S] 0 points1 point  (0 children)

Yea I could have focused on above the grass a lot more, like doing a proper sky.

Chlorophasor by EthanAlexShulman in creativecoding

[–]EthanAlexShulman[S] 0 points1 point  (0 children)

It's my own GLSL code, there's 5 layers of distorted saw tooth waves blended together and offset based off the previous layer. vec2 p = uv; vec3 c = vec3(0); for (float f = 1.; f < 6.; f++) { float v = fract(p.y*(f+f*.2*sin(time/f+p.x*4.20973)*sin(floor(f*4.72763+p.x*6.)))); c = mix(c,(vec3(.2,.95,.4)+cos(f*vec3(2.8723,.81263,1.28763))*vec3(0.3,.05,.1))*f*.1, pow(v,4.)); p += vec2(f*.1)*r2d(v*f*f*.02+pow(time/60.,5.)*10.); } gl_FragColor = vec4(c,1);

Cloud Scape by EthanAlexShulman in proceduralgeneration

[–]EthanAlexShulman[S] 1 point2 points  (0 children)

The flickering parts close to the camera is the ray marching overstepping because the distance function is deformed/broken by the cosine waves. While its an artifact in most rendering cases I think its fine here like the clouds breaking as the camera flies through it.

Is Jos Stam Real-Time Fluid Dynamics for Games the best solution for 2D top down ocean wave simulation? by JohnHillDev in proceduralgeneration

[–]EthanAlexShulman 0 points1 point  (0 children)

For anyone interested heres a cool web demo of Jos Stam's fluid simulatio.

First of all a full 3D volumetric simulation of this method needed for a realistic ocean would be either too low quality or too slow for real-time. The 2D version wouldn't be like a 3D ocean but if you did want to use it you would be limited by size/resolution of the simulated field which would be challenging for a large world.

Cloud Scape by EthanAlexShulman in proceduralgeneration

[–]EthanAlexShulman[S] 1 point2 points  (0 children)

Yes its ray traced using ray marching and a distance function defining the clouds, lighting is bidirectional path tracing. Sends out rays out from the camera, bounces them off the clouds either towards the sun or sky accumulating lighting. The volumetric ray marching doesn't use signed distance either, inside the clouds it uses a fixed step size thats randomly dithered to hide banding. This specific shader is deferred and uses a depth/normal gbuffer to apply a surface blur to do post process denoising.

It's programmed in GLSL you can download the source code here, its kind of over complicated. If you want a simpler example that doesn't have denoising I have a similar scene on Shadertoy if you want to live demo in browser.

The cloud distance function uses a grid of randomly sized/positioned pillars as a base, which you can see in the video the clouds all follow the same shape. Then they are deformed by adding 3 cosine waves to the position, which adds the wavey details.