So glad to see you posting again. I was beginning to worry you are done. You and Inigo Quilez make up the the apex of pure maths based shader design. Unfortunately, your combined exposure on UA-cam is one of the most confounding mysteries of our age and further solidifies my position that not only is there no God but any existence compatible with this universe was never even an option . To fill that void, the universe has provided us with the likes of you and Inigo. Amen.
@@TheArtofCodeIsCool Also, look into falling sand. It's really cool! I have seen people take images and mask parts to become sand, water, fire, smoke, acid etc... Then watch it all melt! Usually you can use a mouse to draw in solid rock to catch the liquefying sand and water. I made something like this using Javascript but Its very slow to run, therefore, I set mine at a very low resolution. However, a shader should run at 4k I assume?
i am still trying to implement this on a Torus. I've come across your Torus tutorial today, really helpful. I am an absolute beginner, but your videos inspired me so I chose to use Shader toys for my school project. I tell you, it's been a journey. Now trying to merge the two lessons. I love your tutorials, i think you're just brilliant. Remain ever blessed.
really happy to see you teaching about buffers as I dont think a lot of your previous videos did so, and a majority of the shaders on shadertoy are using them. Thanks for showing that a bit more!
Yeah! I have always avoided those tabs when surfing ShaderToy effects (just because, on my own work I don’t mind going in with RenderTargets, temporary buffers, etc)… didn’t know it happens to be so easy to have a feedback loop directly there on shader toy.
Great to see a new video! Game of life as a shader - nice. You have a really great content here. You can consider making some shaders tutorials for Godot game engine. It is small, Open-Source, lightweight and it is getting more and more popular. With v4, that will be hopefully released in a few months, it will also gain a lot of wider adoption in my opinion. I haven't seen though too many shader tutorials. You got the math / shaders knowledge, so translating it to Godot should not be a big problem as you did with Unity. The community is friendly and would for sure love to see you contributing. I am not suggesting abandoning using ShaderToy at all, just to maybe to try reaching a new, bigger audience. I believe your channel can grow massively, as it deserves. Keep up the good work whether you will decide to try it or not!
Awesome video. Not only as a shader tutorial. Also enlightening. Note: Pls fix your mic I had to follow the subtitles at some point because of the headache :D
I love your videos and shader programming. It introduces a new way of thinking about it if you can't just press F9 to see wtf is going on... Could you maybe do a video on making music with shaders?
@@TheArtofCodeIsCool I know its a bit of stretch. Do whatever you see fit and please don't stop. Every video is an absolute mindfuck and gem! Will contribute to the padreon from January onwards to support you in any case! Merry Xmas and thank you for teaching us.
@@TheArtofCodeIsCool Not to derail this convo but I'm a JS programmer myself getting introduced into shaders now too (as Hans Goetze just stated the f9 reference haha). Debugging tips using shaders would be nice as well. How to see values of variables when debugging? Is there a way? Any other debugging tips like how to pause execution and step through code like a lot of other languages have?
@@aylictal it's a good question. Nvidia might have a tool that allows you to do this (I believe it's nsight) though I've never used it. The only thing you can do is visualize intermediate values as colors, like I often do in videos to visualize UV coordinates (e.g. col.rg=uv)
@@TheArtofCodeIsCool Need to detect key press and save to a buffer. Possibly the same buffer but on another color channel(I found out shadertoy already has this). In the calculation for a survivor, check if the key is pressed and run the Thanos function. Also need a 50 percent random chance function and could have a more complicated function predict if the life was going to die anyways based on the neighboring cells(kernal comparison or "saved" to a buffer). The random function probably under/over kills without some sort of counter for the remaining number to be culled.
Great video! Ages ago I gave up trying to process data, then I see your video and you say "oh yeah, texelFetch()". Where's the sauce? How is the current buffer written to the screen and copied to the previous buffer?
The buffer is not copied from a screen. Above a code area on ShaderToy there are two tabs, the first is a shader for Buffer A and the second is a shader for a screen. For the whole video Martijn writes a shader in "Buffer A" tab that has access to its previous content as a texture until ShaderToy explicitly ends a render pass for a shader on this tab ordering a videocard to flush its pixel cache into that buffer and proceed to a shader on the next tab that will see the current content of Buffer A as a texture.
How would one turn this 2d flat grill into a globe i.e as the cell slips off one end of the grill it appears on the other side? top/bottom and both sides.
Supurb as always ! Btw, I was wondering how much time line 27 would cost you, initially you did say OR but typed &, I guess you couldn't hear me yelling from across the Atlantic. 😂👍
any closed system is deterministic, you need inputs that are not dependent on the system to be intelligent, like a mouse/keyboard/random-noise-generator for a computer
Great video, I particularily liked the introduction. I would just like to say that there is something weird with your microphone, it's slightly unpleasent to hear sometimes.
You're obviously great with graphics, but you definitely have to improve your audio skills... How is it even possible to be clipping and be too quiet at the same time?!
We miss you !!!
Good to see you back
So glad to see you posting again. I was beginning to worry you are done. You and Inigo Quilez make up the the apex of pure maths based shader design.
Unfortunately, your combined exposure on UA-cam is one of the most confounding mysteries of our age and further solidifies my position that not only is there no God but any existence compatible with this universe was never even an option . To fill that void, the universe has provided us with the likes of you and Inigo. Amen.
It's cool how the edges grow off gliders.
It's great to see you again.
Wow, what a christmas gift!
I would love to see you do a tutorial on sand a water simulation using cellular automata!
a ripple effect would be a good one, it could be done in 2D and then expanded to 3D
A wave ripple sim could probably be done. Gotta look into that
@@TheArtofCodeIsCool Also, look into falling sand. It's really cool! I have seen people take images and mask parts to become sand, water, fire, smoke, acid etc... Then watch it all melt! Usually you can use a mouse to draw in solid rock to catch the liquefying sand and water. I made something like this using Javascript but Its very slow to run, therefore, I set mine at a very low resolution. However, a shader should run at 4k I assume?
This is awesome. Can't wait for the part 2 you mentioned.
I was wondering when there'd be a new video of yours just yesterday :D
Been traveling lately so it's been hard to make stuff. I got others coming though!
i am still trying to implement this on a Torus. I've come across your Torus tutorial today, really helpful. I am an absolute beginner, but your videos inspired me so I chose to use Shader toys for my school project. I tell you, it's been a journey. Now trying to merge the two lessons. I love your tutorials, i think you're just brilliant. Remain ever blessed.
With a creepy enough music those gigantic patterns always give you gross bumps.
Yeah there definitely some mystery there.
really happy to see you teaching about buffers as I dont think a lot of your previous videos did so, and a majority of the shaders on shadertoy are using them.
Thanks for showing that a bit more!
I haven't talked about multibuffer effects before. This is the first video on the topic. But certainly won't be the last.
Yeah! I have always avoided those tabs when surfing ShaderToy effects (just because, on my own work I don’t mind going in with RenderTargets, temporary buffers, etc)… didn’t know it happens to be so easy to have a feedback loop directly there on shader toy.
Great to see a new video! Game of life as a shader - nice.
You have a really great content here. You can consider making some shaders tutorials for Godot game engine. It is small, Open-Source, lightweight and it is getting more and more popular. With v4, that will be hopefully released in a few months, it will also gain a lot of wider adoption in my opinion. I haven't seen though too many shader tutorials. You got the math / shaders knowledge, so translating it to Godot should not be a big problem as you did with Unity. The community is friendly and would for sure love to see you contributing.
I am not suggesting abandoning using ShaderToy at all, just to maybe to try reaching a new, bigger audience. I believe your channel can grow massively, as it deserves. Keep up the good work whether you will decide to try it or not!
This is awesome man, Thanks Martijn.
Glad you like it!
I loved the "why don't you work". What it means to me that he is coding this for real.
Very cool that you use state for a shader this way
Awesome video. Not only as a shader tutorial. Also enlightening.
Note: Pls fix your mic I had to follow the subtitles at some point because of the headache :D
It's Alive !!
Someone did a clock with this? Unbelievable
Yeah. Have a look at Alan Zurconi's great video on the topic of building a computer with this. It's pretty mind bending.
I need this 26:35 as audio que for work into a big red button I can hit every now and then
love your shader tours! Your videos are awesome!
This really sparks the imagination!
Right? 🤠
You have to do a water sim now!!!
I'll put it on the next future topic list!
8:40 its gave me goosebumps
weird I recently watched a person make this in Unity and to took a lot more effor. :)
Amazing!
Thanks for the video!!
At some times the background music competes with your voice.
wow amazing tutorial ^^!
awesome video as always!:)
I love your videos and shader programming. It introduces a new way of thinking about it if you can't just press F9 to see wtf is going on... Could you maybe do a video on making music with shaders?
Fragment shaders just produce pixels, no music. It would be possible to do music visualization with a shader though.
@@TheArtofCodeIsCool I know its a bit of stretch. Do whatever you see fit and please don't stop. Every video is an absolute mindfuck and gem! Will contribute to the padreon from January onwards to support you in any case! Merry Xmas and thank you for teaching us.
@@hago7568 my pleasure, thank you for watching.
@@TheArtofCodeIsCool Not to derail this convo but I'm a JS programmer myself getting introduced into shaders now too (as Hans Goetze just stated the f9 reference haha).
Debugging tips using shaders would be nice as well. How to see values of variables when debugging? Is there a way? Any other debugging tips like how to pause execution and step through code like a lot of other languages have?
@@aylictal it's a good question. Nvidia might have a tool that allows you to do this (I believe it's nsight) though I've never used it. The only thing you can do is visualize intermediate values as colors, like I often do in videos to visualize UV coordinates (e.g. col.rg=uv)
can you make shader that uses game of life? :D
Need to add a Thanos function and half the current life on a key press
Entirely possible. How would you implement it?
@@TheArtofCodeIsCool "at random, dispassionate, fair to rich and poor alike."
@@TheArtofCodeIsCool Need to detect key press and save to a buffer. Possibly the same buffer but on another color channel(I found out shadertoy already has this). In the calculation for a survivor, check if the key is pressed and run the Thanos function. Also need a 50 percent random chance function and could have a more complicated function predict if the life was going to die anyways based on the neighboring cells(kernal comparison or "saved" to a buffer). The random function probably under/over kills without some sort of counter for the remaining number to be culled.
@@TheArtofCodeIsCool P.S. Thank you for your tutorials!
Great video!
Ages ago I gave up trying to process data, then I see your video and you say "oh yeah, texelFetch()".
Where's the sauce?
How is the current buffer written to the screen and copied to the previous buffer?
The buffer is not copied from a screen. Above a code area on ShaderToy there are two tabs, the first is a shader for Buffer A and the second is a shader for a screen. For the whole video Martijn writes a shader in "Buffer A" tab that has access to its previous content as a texture until ShaderToy explicitly ends a render pass for a shader on this tab ordering a videocard to flush its pixel cache into that buffer and proceed to a shader on the next tab that will see the current content of Buffer A as a texture.
The buffer copy stuff is handled by shadertoy. If you wanted to implement this in a game engine you'd have to take care of that yourself.
How would one turn this 2d flat grill into a globe i.e as the cell slips off one end of the grill it appears on the other side? top/bottom and both sides.
Supurb as always ! Btw, I was wondering how much time line 27 would cost you, initially you did say OR but typed &, I guess you couldn't hear me yelling from across the Atlantic. 😂👍
Ahh that was you! I actually DID hear you, but this video was recorded last week ;)
Cool as always :) (Just work a bit on the audio ;) ) Looking forward to the next one! :)
Ah audio... Not my strong point for sure.
@@TheArtofCodeIsCool Audio is the hardest to get right :)
any closed system is deterministic, you need inputs that are not dependent on the system to be intelligent, like a mouse/keyboard/random-noise-generator for a computer
add random noise in the rules
if you dont have dynamic input, then the life is like a complex random number generator with a repeat cycle, like its evident
the system cannot be outside of its memory/instruction set
unless it has a dynamic free entity inside itself, its equal to dead/death
octave in linux with nvblas gpu acceleration through cuda
Great video, I particularily liked the introduction. I would just like to say that there is something weird with your microphone, it's slightly unpleasent to hear sometimes.
Yeah I think the levels were set too high so some of the audio data clipped. Audio is obviously not my strong point 😅
Subcribing.... !!! thank you!!!
Hi, how does this work so fast? It seems it would have to do billions of operations per frame real time...
Yes it does. Graphics cards are insanely powerful because the process 100s of pixels in parallel.
Realy nice. Just donated a few bucks, have a tea on me :-)
Thank you!
The fart at 12:44 really added to the video
Imagine trying to debug these!!
You're obviously great with graphics, but you definitely have to improve your audio skills...
How is it even possible to be clipping and be too quiet at the same time?!