Skip to main content

Module deferred

Module deferred 

Source
Expand description

Deferred rendering subsystem for the Proof Engine.

This module implements a full deferred rendering pipeline with:

  • G-Buffer management with configurable attachments
  • Multi-pass deferred rendering (depth pre-pass, geometry, lighting, forward, post-process)
  • PBR material system with instancing support
  • Anti-aliasing (FXAA, TAA, MSAA, CAS sharpening)

Re-exports§

pub use gbuffer::GBuffer;
pub use gbuffer::GBufferLayout;
pub use gbuffer::GBufferAttachment;
pub use gbuffer::GBufferAttachmentFormat;
pub use gbuffer::GBufferDebugView;
pub use gbuffer::GBufferDebugChannel;
pub use gbuffer::GBufferStats;
pub use gbuffer::MrtConfig;
pub use gbuffer::ClearValue;
pub use pipeline::DeferredPipeline;
pub use pipeline::DepthPrePass;
pub use pipeline::GeometryPass;
pub use pipeline::LightingPass;
pub use pipeline::ForwardPass;
pub use pipeline::PostProcessPass;
pub use pipeline::HdrFramebuffer;
pub use pipeline::ExposureController;
pub use pipeline::ExposureMode;
pub use pipeline::RenderQueue;
pub use pipeline::RenderBucket;
pub use pipeline::RenderItem;
pub use pipeline::SortMode;
pub use materials::PbrMaterial;
pub use materials::MaterialInstance;
pub use materials::MaterialLibrary;
pub use materials::MaterialSortKey;
pub use materials::InstanceData;
pub use materials::MaterialPreset;
pub use materials::MaterialPresets;
pub use antialiasing::AntiAliasingMode;
pub use antialiasing::FxaaPass;
pub use antialiasing::FxaaQuality;
pub use antialiasing::TaaPass;
pub use antialiasing::TaaConfig;
pub use antialiasing::MsaaConfig;
pub use antialiasing::MsaaSampleCount;
pub use antialiasing::SharpeningPass;
pub use antialiasing::CasConfig;

Modules§

antialiasing
Anti-aliasing implementations for the deferred rendering pipeline.
gbuffer
G-Buffer management for deferred rendering.
materials
PBR material system for deferred rendering.
pipeline
Full deferred rendering pipeline.

Structs§

FramebufferId
Identifier for a framebuffer object in the deferred pipeline.
Mat4
Common 4x4 matrix type used in the deferred pipeline (column-major).
TextureSlot
Identifier for a render target texture slot.
Viewport
Viewport dimensions used throughout the deferred pipeline.

Functions§

clampf
Clamp a float to [min, max].
lerpf
Linear interpolation.
saturate
Saturate to [0, 1].
smoothstep
Smoothstep interpolation.
vec3_add
vec3_cross
vec3_dot
3-component vector helper functions.
vec3_length
vec3_lerp
vec3_normalize
vec3_scale
vec3_sub