summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/shaders/particles.glsl
AgeCommit message (Collapse)Author
2022-09-29Fix typo - "collison" -> "collision"danboo
2022-07-29Fix vector field particle attractor texture samplingAndreas Raddau
2022-07-28Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio
The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
2022-05-20Fix GPUParticles3D disappearance at attractor originsSomnath Sarkar
2022-02-15Add Particle Shader Userdatareduz
* Adds optional vec4 USERDATA1 .. USERDATA6 to particles, allowing to store custom data. * This data is allocated on demand, so shaders that do not use it do not cost more.
2022-02-11RendererRD: Remove binding specifier for push constantsRémi Verschelde
This is unsupported and glslang made it raise an error in 11.7.0: https://github.com/KhronosGroup/glslang/pull/2810 Co-authored-by: Clay John <claynjohn@gmail.com>
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-05-23Support for 2D particles to collide against SDFreduz
-Added SDF collision support for 2D particles -Changed the SDF generation to be fully signed
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-17Split particle shader entry pointsreduz
* Particle shaders now have start() and process() * Particle collision happens between them. * The RESTART property is kept, so porting an old shader is still possible. This fixes the problem of particle collisions not functioning on the first particle frame.
2021-04-14Refactor GLSL shader compilationreduz
-Used a more consistent set of keywords for the shader -Remove all harcoded entry points -Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization. -Entry point for sky shaders is now sky(). -Entry point for particle shaders is now process().
2021-01-12Renamed `emit_particle` to `emit_subparticle` shader functionYuri Roubinsky
2020-12-04RenderingServer reorganizationreduz