If you wanna try out some WebGPU shaders and fiddle with them, all in the browser.
Try an exercise and see if you can match the output.
Link: simondev.io/lessons/shad...
#threejs #webgpu
If you wanna try out some WebGPU shaders and fiddle with them, all in the browser.
Try an exercise and see if you can match the output.
Link: simondev.io/lessons/shad...
#threejs #webgpu
Thank you for all your support all these years! ✨
Thank you for all your support all these years! ✨
Latest addition: integrated shader homework - edit GLSL in-browser and match target output. It’s a polished evolution of my 2023 GLSL site.
Reminder, teachable students can access same content (and more)
Link below 👇
Latest addition: integrated shader homework - edit GLSL in-browser and match target output. It’s a polished evolution of my 2023 GLSL site.
Reminder, teachable students can access same content (and more)
Link below 👇
Link: github.com/yhutter/soko...
#c #sokol #gamedev
Link: github.com/yhutter/soko...
#c #sokol #gamedev
for(float i,z,d;i++<8e1;o+=(cos(d/.1+vec4(0,2,4,0))+1.)/d*z){vec3 p=z*normalize(FC.rgb*2.-r.xyy),a=normalize(cos(vec3(4,2,0)+t-d*8.));p.z+=5.,a=a*dot(a,p)-cross(a,p);for(d=1.;d++<9.;)a+=sin(a*d+t).yzx/d;z+=d=.05*abs(length(p)-3.)+.04*abs(a.y);}o=tanh(o/1e4);
for(float i,z,d;i++<8e1;o+=(cos(d/.1+vec4(0,2,4,0))+1.)/d*z){vec3 p=z*normalize(FC.rgb*2.-r.xyy),a=normalize(cos(vec3(4,2,0)+t-d*8.));p.z+=5.,a=a*dot(a,p)-cross(a,p);for(d=1.;d++<9.;)a+=sin(a*d+t).yzx/d;z+=d=.05*abs(length(p)-3.)+.04*abs(a.y);}o=tanh(o/1e4);
Learn about it in my latest section on graph traversal.
simondev.io
Learn about it in my latest section on graph traversal.
simondev.io
for(float i,z=fract(dot(FC,sin(FC))),d;i++<1e2;){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.z+=9.;for(d=.7;d<4.;d/=.9)p+=cos(p.yzx*d-t/vec3(2,1,5))/d;z+=d=.002+abs(p.z)/2e1;o+=(sin(z+4.*p.z+vec4(0,1,5,0))+1.2)/d;}o=tanh(o/1e4);
for(float i,z=fract(dot(FC,sin(FC))),d;i++<1e2;){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.z+=9.;for(d=.7;d<4.;d/=.9)p+=cos(p.yzx*d-t/vec3(2,1,5))/d;z+=d=.002+abs(p.z)/2e1;o+=(sin(z+4.*p.z+vec4(0,1,5,0))+1.2)/d;}o=tanh(o/1e4);
Give me just 10 years to complete all the courses I bought, and I should come up with interesting stuff...
Combined they're about 2.5 hours of new content, live now!
simondev.io
#threejs #gamedevelopment
Combined they're about 2.5 hours of new content, live now!
simondev.io
#threejs #gamedevelopment
This is just the intro, planning on expanding it soon. It's already live in the course, if you grabbed the early access!
simondev.io
This is just the intro, planning on expanding it soon. It's already live in the course, if you grabbed the early access!
simondev.io
Shader is doing all the work, and blending between frames. First pass, probably not super robust.
#threejs
Shader is doing all the work, and blending between frames. First pass, probably not super robust.
#threejs
The guidelines I use to visually improve my shader art
mini.gmshaders.com/p/design-cho...
The guidelines I use to visually improve my shader art
mini.gmshaders.com/p/design-cho...
I just hit publish on ~2 hours of new content to the course, covering how to dig into Three.js's internals, and we cap the project off with some terrain with erosion and scattering tricks.
Live in the course, so check it out!
I just hit publish on ~2 hours of new content to the course, covering how to dig into Three.js's internals, and we cap the project off with some terrain with erosion and scattering tricks.
Live in the course, so check it out!
#threejs #gamedev #IndieGameDev
#threejs #gamedev #IndieGameDev
🔔 Want to be notified? Sign up here 👉
simondev.teachable.com/p/games-thre...
🔔 Want to be notified? Sign up here 👉
simondev.teachable.com/p/games-thre...
Look for a broader announcement shortly. All the project demos are live too!
simondev.teachable.com/p/games-thre...
#threejs #gamedevelopment
Look for a broader announcement shortly. All the project demos are live too!
simondev.teachable.com/p/games-thre...
#threejs #gamedevelopment
mini.gmshaders.com/p/mistakes
How to avoid the most common pitfalls in graphics programming
mini.gmshaders.com/p/mistakes
How to avoid the most common pitfalls in graphics programming
Had a minute, so I filled in trigger #3. A few people asked for rain. ☔
Good excuse to implement:
- Velocity-locked particles
- Positional audio
- A flexible animation system for cameras, lighting, and sound
#threejs
Had a minute, so I filled in trigger #3. A few people asked for rain. ☔
Good excuse to implement:
- Velocity-locked particles
- Positional audio
- A flexible animation system for cameras, lighting, and sound
#threejs
Whipped up a trigger and animation system, which will eventually make their way into the course.
What should trigger #3 do?
Whipped up a trigger and animation system, which will eventually make their way into the course.
What should trigger #3 do?