-
Notifications
You must be signed in to change notification settings - Fork 0
How to design a flexible framework for rendering algorithms demo
Yaochuang edited this page Jan 14, 2019
·
4 revisions
- A self-contained assert system to check parameter and conditions. It would give a unified feeling.
- It requires a detailed plan about return value of function call.
- Different Camera, Camera Parameter leads to Uniform Buffer Update.
- Camera holds a device resource to update by itself ?
- Camera notify 3rd module to do that ?
- Different Render Target: Final Scene, Scene Depth, Shadow Map, G-Buffer
- Mesh Data & Device Buffer
- Different Render Pass & Different Render Target & Different Vertex Layout
- UI system and Font Rendering
- Separate Init Stage to make it more flexible
There is a small framework for D3D12 in DeferredTexturing in github. I would give a review and hope to learn something.
- a class Window to handle stuff involving with windows system.
- a class App register a call back function to handle swap chain rebuild.
- It is a little complicated design.
- class Setting
- class SettingsContainer
-
struct ConstantBuffer
- A wrap to Raw D3D12 Buffer to make it easy to use in Framework.
- It Put it in framework to make it deeply involved with application. It should give a way and let app to do it.
- Perhaps by pure virtual function to enforce app to implement its own way.
- After profiling, LoadMaterialResources(meshMaterials, fileDirectory, settings.ForceSRGB, materialTextures)
- Is is possible to apply multi-threading ?
- The exposed interface is quit simple.
- The main interface is CompileFromFile()
- The main data type is CompiledShaderPtr