#[repr(C)]pub struct PbrSceneUniform {
pub model: [[f32; 4]; 4],
pub view_proj: [[f32; 4]; 4],
pub normal_matrix: [[f32; 4]; 4],
pub camera_pos: [f32; 4],
pub light_dir: [f32; 4],
pub light_color: [f32; 4],
pub material_params: [f32; 4],
pub lights: [GpuLight; 8],
pub shadow_view_proj: [[f32; 4]; 4],
pub emissive_factor: [f32; 4],
}Expand description
PBR 场景 Uniform (848 字节)
包含 per-object 变换、材质参数和多光源数据。 前 256 字节与旧布局兼容(light_dir/light_color 保留但多光源路径不使用)。
Fields§
§model: [[f32; 4]; 4]§view_proj: [[f32; 4]; 4]§normal_matrix: [[f32; 4]; 4]§camera_pos: [f32; 4]§light_dir: [f32; 4]§light_color: [f32; 4]§material_params: [f32; 4]§lights: [GpuLight; 8]§shadow_view_proj: [[f32; 4]; 4]§emissive_factor: [f32; 4]Trait Implementations§
Source§impl Clone for PbrSceneUniform
impl Clone for PbrSceneUniform
Source§fn clone(&self) -> PbrSceneUniform
fn clone(&self) -> PbrSceneUniform
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for PbrSceneUniform
impl Default for PbrSceneUniform
impl Copy for PbrSceneUniform
impl Pod for PbrSceneUniform
Auto Trait Implementations§
impl Freeze for PbrSceneUniform
impl RefUnwindSafe for PbrSceneUniform
impl Send for PbrSceneUniform
impl Sync for PbrSceneUniform
impl Unpin for PbrSceneUniform
impl UnsafeUnpin for PbrSceneUniform
impl UnwindSafe for PbrSceneUniform
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
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self using data from the given World.