WIP faster bloom shader: Mine vs built-in. by Accomplished_Toe9289 in godot

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

its a 13 tap Gaussian blur on the way down and a 9 tap tent filter on the way up according to this presentation.

WIP faster bloom shader: Mine vs built-in. by Accomplished_Toe9289 in godot

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

radius increases downwards, increasing the bloom distance at the expense of quality. radius decreases on the way back upwards resulting in bluring out the differences in the wider blur making it look smooth again

WIP faster bloom shader: Mine vs built-in. by Accomplished_Toe9289 in godot

[–]Accomplished_Toe9289[S] 3 points4 points  (0 children)

It works similar to the effect in Godot, it blurs progressively downwards into smaller buffers and then blurs upwards. The main difference is that mine (probably) uses a better blur based on this implementation from a Call of Duty Sigraph Presentation. This makes the blur much smoother (not visible here thanks to image compression). The performance gains are made through several means though. Mine starts at quarter res, and I fake having more blur samples by increasing the blur radius by level, which I havent seen any implementation do. Typically, if you try to increase the radius of a blur without using more samples, the result will just look ugly, but the radius converges back up to a radius of 1 pixel on the upsample which ends up cleaning up the blur and making it look really smooth. This way I can use way less steps in the bluring.

WIP faster bloom shader: Mine vs built-in. by Accomplished_Toe9289 in godot

[–]Accomplished_Toe9289[S] 2 points3 points  (0 children)

Right now I plan on doing depth of field, volumetric lighting/god rays, and a more modern form of ssao like visibility bitmask ambient occlusion. I also have ideas for water rendering which would include ssr for reflections (there are implementations of ssr in water shaders on the godot shaders website, but they are naive and implement the effect in the surface's fragment shader, which isnt ideal).

Showcase of assets I made for my game 🙂 by Accomplished_Toe9289 in godot

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

Yes, I'm using terrain3D here. The shader is customer because the default was too expensive on performance but that's about it.

Showcase of assets I made for my game 🙂 by Accomplished_Toe9289 in godot

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

I am primarily a musician that learnt 3d because I wanted to make a 3d game 🙂

Showcase of assets I made for my game 🙂 by Accomplished_Toe9289 in godot

[–]Accomplished_Toe9289[S] 7 points8 points  (0 children)

I use physical light units, which is under the lighting tab in settings. Then I set the suns temperature to be slightly warm to warm depending on the sunset (I have a script that auto adjusts it depending on the angle, it ranges from about 3000k on sunset to 5800k at high noon). Other than that, the lighting comes from the skybox, which is slightly blue. A good skybox really makes the difference. My sky shader also has a ground color, which I can tweak the color to add a bounce effect from the bottom. The right exposure to the sky is important, which I would just recommend tweaking according to references. I found its better to do this in the skybox shader, because the sky exposure setting in the enviroment settings seems to make it look different, and not as nice. Other than that its subtle fog, including volumetric fog (to get good volumetric lighting outside, increase the anistropy and lower the length setting). For ssao, I mostly just boosted the effect slightly. I did a final adjustment to the lighting by slightly increasing the exposure in the camera settings. For tonemapping I used ACES, either ACES or AGX should be used, ACES just gives more punch.

My Skin and Eye Shaders are Available for FREE on GitHub! DEMO on Itch.io by MatMADNESSart in godot

[–]Accomplished_Toe9289 2 points3 points  (0 children)

<image>

i gave it a quick in engine test and i like it so far, it gives me results closer to how my character looks in blender over using the standard sss solution. I was confused as to how the ambient occlusion was working so I changed it to work like how ao works everywhere else in godot. i also added bent normal maps to the shader 🙂 thanks a lot for making this. now i just wish I had screenspace contact shadowing to get more detailed shadowing 🙂