Skip to content

Come up with a structure for the second section of the tutorial #38

Open
@deccer

Description

@deccer

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions