Search across packages, versions, files, declarations, and comments. Use multiple terms to narrow results (AND), and add @vertex, @fragment, or @compute to filter by shader stage.

Structures

LightProbeQueryResult

#

The result of searching for a light probe.

struct LightProbeQueryResult {
texture_index: i32,
intensity: f32,
light_from_world: mat4x4<f32>,
affects_lightmapped_mesh_diffuse: bool,
}

Functions

transpose_affine_matrix

#
fn transpose_affine_matrix (
matrix: mat3x4<f32>
) -> mat4x4<f32>

query_light_probe

#
fn query_light_probe (
world_position: vec3<f32>,
is_irradiance_volume: bool,
clusterable_object_index_ranges: ptr<function, ClusterableObjectIndexRanges>
) -> LightProbeQueryResult

This is the version that’s used when storage buffers aren’t available and light probes aren’t clustered. It simply does a brute force search of all light probes. Because platforms without sufficient SSBO bindings typically lack bindless shaders, there will usually only be one of each type of light probe present anyway.

fn query_light_probe (
world_position: vec3<f32>,
is_irradiance_volume: bool,
clusterable_object_index_ranges: ptr<function, ClusterableObjectIndexRanges>
) -> LightProbeQueryResult
Contents