MixedReality-GraphicsTools-Unity icon indicating copy to clipboard operation
MixedReality-GraphicsTools-Unity copied to clipboard

More modularity in the Uber shader

Open jayliu50 opened this issue 2 years ago • 1 comments

Describe the problem

I'm trying to implement a custom shader (adds elevation contour lines) that also leverages the clipping primitive, and it seems harder than it should be. The Uber shader is a monolith of code.

Describe the solution you'd like

Consider breaking up the hlsl into modules. Perhaps even modules could be leveraged by custom functions in shader graph. (That use out parameters.)

I should be able to include a module or subgraph that will make my shader clip the same way as the Uber shader (for example).

Describe alternatives you've considered

Better support for shader graph in general. Either subgraphs and custom functions or both. #34

Additional context

Caveat is I am rather new to hlsl and unfamiliar with best practices. If performance suffers from breaking out the code, I'd be curious to know exactly how much.

jayliu50 avatar Jan 13 '24 12:01 jayliu50

This is a great idea @jayliu50 - and very similar to #34 as you point out. I'm not sure when the team will have time to do this, but it's a direction I would like to take Graphics Tools now that URP is becoming more stablished.

For utilizing clipping primitives, you might be in luck that the clipping primitive methods are somewhat modular. You can find them here and there are some docs on advanced usage.

Cameron-Micka avatar Jan 15 '24 18:01 Cameron-Micka