How to add a new postprocessing shader?

If you want to add a new post process in C++ and HLSL. Then you will need to look at the following classes:

  • Extend FGlobalShader for your Vertex Shader and for your Pixel Shader. Look at the other Post Processing effects to see how to set it up. Basically you add DECLARE_SHADER_TYPE to your class and then IMPLEMENT_SHADER_TYPE or IMPLEMENT_SHADER_TYPE2 depending on your needs to tie it to your USF file. (For this to work in a plugin you need to make sure that the LoadingPhase is set to PostConfigInit, to allow the shaders to be added to the global list)

  • Extend TRenderingCompositePassBase to define your actual Post Process, override Process and thats where you set your render targets, states, shaders, etc.

This is a very advanced area, I would suggest you do a lot of research before embarking down this path, especially if your Post process could easily be created as a material post process instead.

As for implementing the GUI side of things, can’t help there yet.