All Projects → Bauxitedev → Godot Particle Dof

Bauxitedev / Godot Particle Dof

Licence: mit
Bokeh-esque particle depth of field in Godot 3.0

Projects that are alternatives of or similar to Godot Particle Dof

Godot 3 2d Crt Shader
A 2D shader for Godot 3 simulating a CRT
Stars: ✭ 183 (+137.66%)
Mutual labels:  godot-engine, glsl, shader
Gpu Pro Books Source Code
💿 Source Code Collection of Book <GPU Pro> 1~ 7 | 《GPU Pro》1~ 7 书本源代码珍藏
Stars: ✭ 323 (+319.48%)
Mutual labels:  glsl, shader, graphics-programming
Godot Realistic Water
Godot - Realistic Water Shader
Stars: ✭ 235 (+205.19%)
Mutual labels:  godot-engine, glsl, shader
Godot Motion Blur
A motion blur shader for Godot 3.0
Stars: ✭ 115 (+49.35%)
Mutual labels:  godot-engine, glsl, graphics-programming
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+15092.21%)
Mutual labels:  glsl, shader, graphics-programming
Yasea
RTMP live streaming client for Android
Stars: ✭ 4,557 (+5818.18%)
Mutual labels:  glsl, shader
Awesome Glsl
🎇 Compilation of the best resources to learn programming OpenGL Shaders
Stars: ✭ 530 (+588.31%)
Mutual labels:  glsl, graphics-programming
Gpu Gems Book Source Code
💿 CD Content ( Source Code ) Collection of Book <GPU Gems > 1~ 3 | 《GPU精粹》 1~ 3 随书CD(源代码)珍藏
Stars: ✭ 567 (+636.36%)
Mutual labels:  glsl, shader
Material Maker
A procedural textures authoring and 3D model painting tool based on the Godot game engine
Stars: ✭ 880 (+1042.86%)
Mutual labels:  godot-engine, glsl
Colormap Shaders
A collection of shaders to draw color maps.
Stars: ✭ 315 (+309.09%)
Mutual labels:  glsl, shader
Bonzomatic
Live shader coding tool and Shader Showdown workhorse
Stars: ✭ 829 (+976.62%)
Mutual labels:  glsl, shader
Godot Shaders
A large library of free and open-source shaders for the Godot game engine. Here, you'll get 2D and 3D shaders with playable demos.
Stars: ✭ 988 (+1183.12%)
Mutual labels:  godot-engine, glsl
Thebookofshaders
Step-by-step guide through the abstract and complex universe of Fragment Shaders.
Stars: ✭ 4,070 (+5185.71%)
Mutual labels:  glsl, shader
Aladino
🧞‍♂️ Your magic WebGL carpet
Stars: ✭ 225 (+192.21%)
Mutual labels:  glsl, shader
Shadersketches
KodeLife shader sketches I wrote while commuting
Stars: ✭ 536 (+596.1%)
Mutual labels:  glsl, shader
Tess Opt
Demonstration of how we can use tessellation shaders to make faster fragment shaders.
Stars: ✭ 13 (-83.12%)
Mutual labels:  glsl, shader
Glsl Grid
Draws an antialiased grid along the X/Y/Z direction of a mesh.
Stars: ✭ 57 (-25.97%)
Mutual labels:  glsl, shader
X Postprocessing Library
Unity Post Processing Stack Library | Unity引擎的高品质后处理库
Stars: ✭ 1,079 (+1301.3%)
Mutual labels:  shader, graphics-programming
Unityraymarching
Unity Raymarching Examples
Stars: ✭ 57 (-25.97%)
Mutual labels:  glsl, shader
makma
Makma is a deferred Vulkan renderer written in C++.
Stars: ✭ 77 (+0%)
Mutual labels:  glsl, graphics-programming

Godot Particle DoF

This is a shader for particles to create a bokeh-esque depth of field effect. It works by essentially "precomputing" the various amounts of blur, instead of blurring in real time. Since the particles are radial, we can store only a single row of pixels per blur level, and the shader will distort the UV coordinates to turn it into a circle. This gives us a very compact 512x1024 texture that stores 1024 different blur levels, which can be smoothly interpolated.

This has the following advantages:

  • Really really fast blur. The GPU only has to look up the texture in a lookup table. No nested for loops with expensive convolution here. Only issue here is that there's a fairly large amount of overdraw.
  • Allows extremely large blur sizes (e.g. can blur a particle so much that it covers the entire screen without lagging).
  • No artifacts because of low sample count, looks very close to the "ground truth".

But has some disadvantages as well:

  • Only works for radial particles, that is, disks and toruses and such, facing towards the camera.
  • All particles must have the same size, or the effect breaks down.

It looks like this:

Bokeh

Here's a video of it in action.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].