5/ Doh! I could stick to a simpler four vertices if I provide the indices. Further I CAN use the one triangle trick and the viewport will clip it as though it were a full screen but adjusting the vertex positions will be necessary to make the UV span 0–1 on just the viewport region. #shaders #gamedev
Hi everybody! And welcome back to our miniseries dedicated to rendering 3D scenes in shaders using the ray marching method. In the third episode, we will bring the previously static scene to life – adding combinations of objects, rotations along different axes and pivots, multiple lighting sources, and morphing using the so-called smooth minimum. #Godot #Godot4 #GodotEngine #GodotTips #shaders #devlog #indiedev
https://www.youtube.com/watch?v=Zhtrb6qTgv0
I'm sure this has been done many times before, but I'm still happy to be bit-twiddling in #shaders. The star is this line:
(vertex_index & 3u) + (vertex_index >> 2u)
"Give me the first two bits but add one if the third bit is set.”
The shader generates a UV-mapped quad (right-triangle pair) from the 0 through 5 vertex indices. The screenshot code is abridged; full code is at the link.
https://github.com/shanecelis/bevy/blob/add-viewport-post-processing/crates/bevy_core_pipeline/src/viewport_vertex_shader/viewport.wgsl #gamedev #bevyengine #bittwiddling #wgsl
Fur shader update: finished implementing all parameters from Acerola's version, except the displacement direction which is hard coded downwards for now. Also made it fully interactive. Fun to play with!
The gist is also updated as well with the latest code: https://gist.github.com/kaofelix/13dca7b6db62df91d7a46bec34360b54
Such a trivial looking effect but surprisingly hard to make! Had to write a custom mesh importer and do some forbidden shader trickery just to get those rounded corners
Did I finally discover #ShaderGlass? Yes, yes I did.
https://github.com/mausimus/ShaderGlass?tab=readme-ov-file
#shaders #retro #fakeretro
Got a shell texture fur shader for Godot working today, based on a video and code from https://www.youtube.com/@Acerola_t
I've put it on a gist for now, but want to post to godotshaders.com at some point: https://gist.github.com/kaofelix/13dca7b6db62df91d7a46bec34360b54
video: https://youtu.be/9dr-tRQzij4?si=t-GQl-_rX03k3CjQ
There are still some features missing from the version on the video, as well as improvements to make in the node code itself, but getting there!
Backface culling is now fully operational, even on textured meshes!
One step closer to a more efficient renderer.
Listening, once again, to the amazing livecoded @samaaron music + @FieldFX ByteJam session.
Absolutely stunning - one of my absolute favourites!
https://www.scenesat.com/videoarchive/2ad71dbc-d207-11ef-be28-00505685775e?bs5#show-2ad71dbc-d207-11ef-be28-00505685775e
#livecoding #demoscene #SonicPi #TIC80 #shaders
I've updated the algorithm, so it can also be occluded by special objects and is not always in front. For a highlighted object, it's using now 3 additional layers, 2 for masking, 1 for the outline. Occluders only need 1 additional layer.
Hi everyone! Do you remember the digital clock shader I created here some time ago? It was one of the first 2D shaders I used in a 3D project, and the result looked very usable. I think a shader simulating a classic analog clock could have a similar application, and that's exactly what we'll be creating today. #Godot #Godot4 #GodotEngine #GodotTips #shaders #devlog #indiedev
https://www.youtube.com/watch?v=1KOGr3CovRw
Tried out some viewport and per-camera-layer shaders for silhouette-outlines.
Uhmm... we really need per material visual layer overwrites ^^ Without it, it's not possible to make such effects easily. Every solution for this now has a lots of duplicates.
Got a little project I'd like to share.
It's a interactive portfolio book that will show off some of my works. Right now it's still in development.
If you want to read more about it check out:
https://zksx.itch.io/zacks-undertakings
It was hard but I managed to get some basic water shader working.
Llet me set the water opacity without messing up the borders.
I had a hard time with it but it's quite easy once you stop thinking about the alpha channel of a texture as some magical values and just realise it wants a greyscale :)
I still need to implement water tint (easy), maybe make the waves squish and expand (hard?) and add some cool effects (???)
But first, I want to work on shallow water.
A test animation for a procedural background generator. Wanted to make a looping version, but can't force it to repeat in this iteration, which I guess makes this a success.
It's based on a Blender geonode experiment, which took a fair bit of thought to rework in Godot.
Probably one of the more complicated shaders I've worked on so far.