I’m wanting to procedurally generate textures without any shader overhead.
I can do any fully dynamic effect I want using a material, but this has a shader overhead; and I can do a fully static texture using external applications like filter forge (but this cant adjust to any in game constants (I.E. screen resolution, or custom values like snow height or wind speed or any others I devise)
I would like to push my filter forge workflow into editor, so that I can build some textures when the game builds, and others when their inputs change (global settings like graphics options). This would incur a one off cost rather than a continuous shader overhead from implementing it in a material…
I intend to use it to:
- make the ‘VectorToRadialValue’ material function build a static texture mapped to the users screen resolution (I.E. 1920x1200 OR 1600x1200 OR …) with no shader overhead
- generate normal maps based off height maps that have no shader cost
- procedurally generate textures (like filter forge) without the enormous overhead of re-generating the texture for every frame, while still allowing some constants (e.g. a levels ambient temperature for a snow based texture) to alter them
This article talks about some of the benefits of procedural texture generation, and most of his uses were static. However he implemented them in materials so they incur a dynamic overhead (in UDK I believe)…
Is this already possible in the editor? has someone already made a tool to do this? or will I need to go off and program one???
Currently I achieve the first goal using this material
If I raster a texture to use instead of this function it would reduce the Base pass shader to 26 instructions from 50 (Screen position to the UV of the resulting texture) with a one off cost to generating that texture.
I need this information to produce this effect with a shader
(Credit to kaze369)