FencerDevLog

joined 2 years ago
[–] FencerDevLog 1 points 10 hours ago

0.9.3 (2025-05-25): Added ray_marching_6 (scene, shader, and texture). Added voronoi_mosaic (scene and shader).

[–] FencerDevLog 1 points 1 day ago

I see. Good idea.

[–] FencerDevLog 1 points 1 day ago (2 children)

I think Bevy uses WGSL that has a different syntax. But your friend can at least extract the algorithms and rewrite them. 😎

[–] FencerDevLog 1 points 4 days ago

0.9.2 (2025-05-21): Added print_number (scene and shader) and its usage in paper_burn (script and shader). Added ray_marching_5 (scene and shader).

 

Hi everyone! We've already had a spiral tunnel, a circular tunnel, and a triangular tunnel. How about trying a square or rectangular one this time, which could resemble a classic dungeon-style game? It's pretty simple, so let's get to it.

[–] FencerDevLog 8 points 1 week ago

This is what happens when a programmer tries to create some graphics. 😀

[–] FencerDevLog 6 points 1 week ago
62
Godot Shader Pack (filiprachunek.gumroad.com)
submitted 1 week ago by FencerDevLog to c/godot
 

Many people asked for it, so I created and released a new product: 80 shaders from my collection, ready to use in any project. Plus bonuses. 😎

 

Hi everybody. You might remember that the fire effect created using particles in Godot 4 was one of the first tutorials I published on this channel. Since then, more than a year has passed, the Godot Engine has evolved a lot, and many things have changed in the editor as well, so the original video is no longer very usable with the latest version of Godot (currently 4.4). That's why I decided to create a new, up-to-date, and improved tutorial, which we're about to dive into.

 

Hey everybody! Let's go back to two dimensions, and take a look at how to create the effect you're currently seeing in the background of this video. It's basically something like a kaleidoscope, for which we need a source image and parameters like the number of segments, or the rotation speed. So let's go ahead and program this shader.

 

Hey everyone! This time, we'll be playing with fire. It's not the first time I've created a fire shader, but back then, I used a noise texture and a curve as a parameter, which significantly simplified the whole process. Now, we'll try it without such tools and generate a candle flame, which, as always, will have plenty of parameters for further adjustments. So let's get to it.

 

Hey everybody! Recently, we created a shader that simulated an analog clock using polar coordinates, and we'll stick with this type of display a little longer. This time, I'll demonstrate how to program a fully customizable spinner based on similar principles. So, let's start coding!

 

Hi everybody! I hope the previous episodes have piqued your interest and that you're motivated to learn more tricks for rendering a 3D scene in 2D shaders. As you may have noticed, so far we've been able to change the camera's position, but not the direction it's facing, meaning it was fixed straight ahead, which has been somewhat limiting. In this video, we'll solve this problem, so that by the end, we'll be able to aim the camera anywhere or even set it up as an orbiting camera. So, let’s do it.

 

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.

 

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.

 

Hi everyone! In this video, I would like to demonstrate a shader that reacts to mouse clicks and movements. It is a variation of a shader displaying the Mandelbrot set, which I created here about a year ago. This time, however, we will enhance it by adding the Julia set at a point chosen by the user, and we will add more control elements, all of which will be controlled by the mouse.

[–] FencerDevLog 4 points 2 months ago
[–] FencerDevLog 4 points 2 months ago

You are welcome! Glad to help.

 

Hi everyone! In this video, I won't be showcasing any shader. Instead, I'll show you a trick for easily generating 2D sprites from 3D models in Godot Engine 4.4 or higher.

 

Hello everybody! In this video, I would like to create an effect that transforms a scene into its pixelated version. We've seen that before, right? But this time, we won't settle for ordinary square objects—we'll tilt them a bit to create a diagonal grid with an adjustable size. Let's take a look at how such an algorithm works.

[–] FencerDevLog 1 points 4 months ago

Thanks! The offset of UV coordinates works like refraction, localized to the corresponding cell of the defined grid. Without using a noise texture, such light refraction would be circular, similar to the magnifying glass effect. However, this approach creates slightly irregular shapes, which better simulate droplets on a window pane. If you reduce the drop_layer function to its absolute minimum, you should see the mentioned grid before the shaping and movement of the droplets.

Like this:

vec2 drop_layer(vec2 uv, float time) {
	vec2 grid = vec2(grid_x, grid_y);
	vec2 drop_uv = fract(uv * grid);
	drop_uv = 2.0 * drop_uv - 1.0;
	vec2 drop_size = drop_uv / grid;
	return drop_size;
}

[–] FencerDevLog 2 points 5 months ago

Thanks! About a year ago, I was experimenting with decals, but I don’t remember if it led to anything. Maybe I’ll revive this subproject.

[–] FencerDevLog 1 points 6 months ago

Yes, you are right. Fixed.

[–] FencerDevLog 4 points 9 months ago

Assemble your objects from smaller, independent 3D meshes, which you can control separately after destroying an enemy. That's how I do it in my space shooter game.

view more: next ›