Come up with a structure for the second section of the tutorial
deccer opened this issue · comments
deccer commented
All that tbd, we should VC like last time
Basics
- Colors
- Blending (BlendState)
- Dear Imgui? (it might make sense to manipulate light position/color later why not introduce dear imgui here, we could manipulate the color of the 3 corners of the HelloTriangle to see it in action and also how interpolation by the PS affects the outcome
- Gamma Correction
- Blinn-Phong with hardcoded directional light
- Blinn-Phong materials and lights
- Normal Mapping
- Lights from CPU
- Point
- Spot
- Directional
- Light Geometry (I think we should use them from the start, for point/spot lights)
- Debug Lights
- RenderTargets (aka Framebuffers, we need them for Shadows and Defered and whatnot)
- We could also introduce Framebuffer scaling, like modern games provide a way too (render to 50% of screen res etc) (Quake Chanmpions, Path of Exile on top of my head)
- Shadows
- Implement basic shadow
- Fixup with bias, front face culling, PCF
- Point Light Cubes?
- Cascade Shadow maps
- Variance Shadow Maps?
- Frustum Culling?
- Forward+ ... (steal from 3dgep?)
- Deferred Shading
- Tightly Packed GBuffer?
- Classical Deferred
- Tiled/Clustered ... (we could steal from 3dgep? but implement it using our "framework")
PBR
- Rendering equation and basic theory
- Used BRDFs
- Physically based lighting
- IBL with SH
Techniques
- Compute Shaders
- Text Rendering
- SDF Bitmap fonts? (using compute to generate the font bitmap)
- Particles
- Skeletal Animation
- SSAO
- SSR
- Frustum Culling
- Sky + Clouds
- Reflection probes
- GI
- Voxel Cone Tracing (see 3dgep?)
Post-processing
- HDR + Tonemapping
- Better camera + Bloom
- Depth of Field
- TAA
- Motion Blur
- Lens flare