pub struct ForwardPlusGpuResources {Show 16 fields
pub light_buffer: Option<BufferId>,
pub light_index_buffer: Option<BufferId>,
pub light_grid_buffer: Option<BufferId>,
pub tile_info_buffer: Option<BufferId>,
pub culling_uniforms_buffer: Option<BufferId>,
pub shadow_view_projs_buffer: Option<BufferId>,
pub camera_layout: Option<BindGroupLayoutId>,
pub model_layout: Option<BindGroupLayoutId>,
pub material_layout: Option<BindGroupLayoutId>,
pub lighting_layout: Option<BindGroupLayoutId>,
pub culling_layout: Option<BindGroupLayoutId>,
pub camera_ring: Option<UniformRingBuffer>,
pub model_ring: Option<DynamicUniformRingBuffer>,
pub culling_bind_group: Option<BindGroupId>,
pub culling_pipeline: Option<ComputePipelineId>,
pub render_pipeline: Option<RenderPipelineId>,
}Expand description
GPU resource handles for the Forward+ compute pass.
These are created during lane initialization and used each frame for light culling and rendering.
Fields§
§light_buffer: Option<BufferId>Buffer containing all GpuLight instances.
light_index_buffer: Option<BufferId>Buffer containing per-tile light index lists.
light_grid_buffer: Option<BufferId>Buffer containing (offset, count) pairs per tile.
tile_info_buffer: Option<BufferId>Buffer containing tile info for the fragment shader.
culling_uniforms_buffer: Option<BufferId>Uniform buffer for culling parameters.
shadow_view_projs_buffer: Option<BufferId>Storage buffer with per-light 2D shadow view-projection matrices,
indexed identically to the light_buffer.
camera_layout: Option<BindGroupLayoutId>Bind group layout for Group 0 (Camera).
model_layout: Option<BindGroupLayoutId>Bind group layout for Group 1 (Model).
material_layout: Option<BindGroupLayoutId>Bind group layout for Group 2 (Material).
lighting_layout: Option<BindGroupLayoutId>Bind group layout for Group 3 — the lighting domain: light list, shadow atlases, per-tile culling results + shadow view-projs.
culling_layout: Option<BindGroupLayoutId>Bind group layout for Culling compute pass.
camera_ring: Option<UniformRingBuffer>Ring buffer for camera uniforms.
model_ring: Option<DynamicUniformRingBuffer>Ring buffer for model uniforms.
culling_bind_group: Option<BindGroupId>Bind group for the culling compute shader.
culling_pipeline: Option<ComputePipelineId>Compute pipeline for light culling.
render_pipeline: Option<RenderPipelineId>Render pipeline for the Forward+ pass.
Implementations§
Source§impl ForwardPlusGpuResources
impl ForwardPlusGpuResources
Sourcepub fn is_initialized(&self) -> bool
pub fn is_initialized(&self) -> bool
Returns true if all required resources are initialized.