Skip to content

An addon with a lot of helpful functions for Godot 4.0 to use in custom written shaders

License

Notifications You must be signed in to change notification settings

paddy-exe/ShaderFunction-Extras

Repository files navigation

ShaderFunction-Extras

ShaderFunctions-GitHub-Preview

This project aims to help Godot developers writing custom written shaders by providing high-level functions which are often used.

🎉 Using the addon

Download the source (releases and AssetLib version are still WIP) and put the ShaderFunction-Extras inside your addons folder. If you don't have one, create it or put the whole addons folder inside your project directory.

After that, you can include the include files you need in your shader like this: gdshaderinc-use-showcase

🔢 Versioning

This repository is only meant for projects created with Godot 4.0 and upwards. However, if you are using Godot 3.x and want to use specific functions, you can copy and paste it inside your shader code still.

ℹ️ Contributing

All these shader functions are based on publicly available shader functions (open-source licensed with permissive licenses such as MIT). If you want to contribute a function, create an issue starting with Proposal: ... describing the shader function and why you think it should be included in here. We can then discuss on how this function and its parameters should be called (for clarity of the users). After that you are open to create a PR (Pull Request) with the dicussed details of the proposal.

Provided Functions

Click me to enlarge

Color

Blend Modes

  • blend_normal
  • blend_dissolve
  • blend_multiply
  • blend_screen
  • blend_overlay
  • blend_hard_light
  • blend_soft_light
  • blend_burn
  • blend_dodge
  • blend_lighten
  • blend_darken
  • blend_difference
  • blend_additive
  • blend_addsub
  • blend_linear_light
  • blend_vivid_light
  • blend_pin_light
  • blend_hard_mix
  • blend_exclusion

Color Adjustment

  • greyscale
  • hsv_to_rgb
  • rgb_to_hsv
  • hsv_adjustment

Noise

  • psrdnoise3_with_gradient
  • psrdnoise3
  • psrdnoise2_with_gradient
  • psrdnoise2

Utility

  • depth_camera_*
  • depth_vertex_*
  • linear_scene_depth_*
  • distance_fade
  • proximity_camera_fade_*
  • proximity_vertex_fade_*
  • world_position_from_depth_*
  • screen_normal_world_space
  • rotation_matrix_by_axis
  • rotate_by_axis
  • random_range
  • remap
  • fresnel
  • fresnel_glow
  • smooth_clamp
  • soft_clamp
  • saturate
  • vertex_billboard

UV

  • uv_panning
  • uv_scaling
  • uv_rotate
  • uv_polar_coord_*
  • uv_flipbook
  • uv_twirl
  • uv_grid_tiler

Wave

  • sawtooth_wave
  • sine_wave
  • sine_wave_angular
  • square_wave
  • triangle_wave

Shapes

  • polygon
  • circle
  • square
  • square_stroke
  • square_rounded
  • swirl
  • line

About

An addon with a lot of helpful functions for Godot 4.0 to use in custom written shaders

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors 4

  •  
  •  
  •  
  •