#[repr(C)]pub struct CullParams {
pub planes: [[f32; 4]; 6],
pub cam_pos: [f32; 3],
pub object_count: u32,
pub bucket_count: u32,
pub bucket_stride: u32,
}Expand description
The GPU-cull push constant (cull.slang): six already-normalised frustum planes (xyz = normal, w = d), the camera position sharing its 16-byte slot with the build-time object count, then the shader-bucket routing (120 B total).
Fields§
§planes: [[f32; 4]; 6]Frustum planes, each (normal.xyz, d).
cam_pos: [f32; 3]World-space camera position.
object_count: u32Draw records the kernel iterates.
bucket_count: u32Shader-bucket command regions in the indirect buffer. The kernel writes
every record’s slot in all bucket_count regions (a draw in the record’s
own bucket, a no-op everywhere else); region b starts at command
b * bucket_stride. bucket_count = 1 degenerates to a single region.
bucket_stride: u32u32 slots one bucket occupies in the output list.
Trait Implementations§
Source§impl Clone for CullParams
impl Clone for CullParams
Source§fn clone(&self) -> CullParams
fn clone(&self) -> CullParams
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CullParams
Auto Trait Implementations§
impl Freeze for CullParams
impl RefUnwindSafe for CullParams
impl Send for CullParams
impl Sync for CullParams
impl Unpin for CullParams
impl UnsafeUnpin for CullParams
impl UnwindSafe for CullParams
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more