-
Notifications
You must be signed in to change notification settings - Fork 0
rendering: TAA + temporal history buffer #141
Copy link
Copy link
Open
Labels
P1-highHohe Priorität – als Nächstes einplanenHohe Priorität – als Nächstes einplanenarea:renderingRenderer, Lichter, Schatten, Post-FX, ShaderRenderer, Lichter, Schatten, Post-FX, Shadersize:L~1 Woche~1 Wochetype:featureNeues Engine-/Editor-FeatureNeues Engine-/Editor-Feature
Milestone
Description
Metadata
Metadata
Assignees
Labels
P1-highHohe Priorität – als Nächstes einplanenHohe Priorität – als Nächstes einplanenarea:renderingRenderer, Lichter, Schatten, Post-FX, ShaderRenderer, Lichter, Schatten, Post-FX, Shadersize:L~1 Woche~1 Wochetype:featureNeues Engine-/Editor-FeatureNeues Engine-/Editor-Feature
Context
Verified: the engine has NO anti-aliasing outside DLSS — no MSAA/FXAA/TAA/SMAA,
SampleDesc.Count=1in all PSOs (rendering gap analysis). Motion vectors already exist as an RG16F fullscreen pass (Engine/Graphics/DX12/DX12MotionVectorPipeline.{h,cpp},Engine/Shaders/motionvector.hlsl) but are consumed only by DLSS Frame Generation; there is no jitter, no history buffer, no temporal reuse for custom algorithms. Non-RTX users currently get raw aliased pixels — unacceptable for a moody, low-light horror presentation where crawling edges break immersion.Goal
Implement TAA: sub-pixel camera jitter (Halton sequence), a persistent history color buffer, and a resolve pass that reprojects history via the existing motion vectors with neighborhood clamping — establishing the temporal history infrastructure that SSR, AO and other temporal effects will reuse. DLSS remains the preferred path on RTX hardware.
Acceptance Criteria
DX12UpscalePipelinecomposite)on_scene_switch())Technical Notes
Camera-only motion vectors will ghost fast-moving skinned meshes — the per-object motion-vector issue fixes that; land this first with clamp-based mitigation.
Dependencies