More accessible shape shader code

Avatar
  • updated
  • Currently out of scope

I'm working with a gpu particle system, and if possible I would like to use shapes in it. However trying to find the source shaders for each individual shape leads to a bunch of hierarchally dependent autogenerated shaders and utilities, which would make using shape shaders for custom purpose difficult.

If the shape shader auto-generator could be tweaked to make standalone shaders for specific purposes, or shaders that make it possible to input data from custom sources (or even if there was just some documentation or tips/guide) on how to do this manually, then I think the asset would have far more versatility in its use. (well, at least for me anyway!)

I apologize in advance if anything is unclear or if this is too difficult/too far outside of scope, I'm still a bit new to shaders and gpu coding.

Reporting a bug? please specify Unity version:
Reporting a bug? please specify Shapes version:
Reporting a bug? please specify Render Pipeline:
Pinned replies
Avatar
Freya Holmér creator
  • Answer
  • Currently out of scope

I think right now, this is too far out of the scope of Shapes!
I wanted to keep the code open (rather than in a .dll) so that people can do these types of things, but, for each feature and system I add and officially support, I need to maintain that too, which gets complicated and time consuming pretty quickly unfortunately :(

I did leave the codegen pipeline open though, so that it's slightly easier to tap into all the systems in Shapes

Shapes/Shaders/Core contains all core shapes shader code in .cginc files

Shapes/Advanced/Regenerate Shaders (top menu item) will regenerate all shader files from the core files
CodegenShaders.cs is where all shaders are generated in code

ShaderBuilder.cs is where each individual shader file is generated in code

Avatar
Freya Holmér creator
  • Answer
  • Currently out of scope

I think right now, this is too far out of the scope of Shapes!
I wanted to keep the code open (rather than in a .dll) so that people can do these types of things, but, for each feature and system I add and officially support, I need to maintain that too, which gets complicated and time consuming pretty quickly unfortunately :(

I did leave the codegen pipeline open though, so that it's slightly easier to tap into all the systems in Shapes

Shapes/Shaders/Core contains all core shapes shader code in .cginc files

Shapes/Advanced/Regenerate Shaders (top menu item) will regenerate all shader files from the core files
CodegenShaders.cs is where all shaders are generated in code

ShaderBuilder.cs is where each individual shader file is generated in code