-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The point of effects library was to decouple effect creation from the rendering, however as I add more rendering techniques, the effect library just grows to the point where it is hard to manage, on top of that, running switch every frame to determine what effect to update is quite inefficient. For this reason I will create RenderPass base class that will be inherited by concrete render passes. Those render passes will declare effects needed for them to properly render whatever they have to.
Different rendre passes are going to communicate between each other through RenderingContext struct. Where different images and such will be stored so that render pass knows what to put to the descriptor sets.
Same will happen to the path tracer. The path tracer will create its of RayTracingEffec and use it to update descriptor sets.
This should remove the Effects library class and only single map of all render passes will be required in Forward or depth-pre pass renderer.
The synchronisation should be done on barrier level an in later time I will try to put it into the render graph and see how it will play out, for now I will record everything manually and see how it will play out.