#[repr(C, align(16))]pub struct Arguments {Show 14 fields
pub colors_sh_degree_max: u32,
pub focal_length_x: f32,
pub focal_length_y: f32,
pub image_size_half_x: f32,
pub image_size_half_y: f32,
pub point_count: u32,
pub tile_count_x: i32,
pub tile_count_y: i32,
pub view_bound_x: f32,
pub view_bound_y: f32,
pub _padding_1: [u32; 2],
pub view_position: [f32; 3],
pub _padding_2: [u32; 1],
pub view_transform: [[f32; 4]; 4],
}
Expand description
Arguments.
Fields§
§colors_sh_degree_max: u32
$ 0 \sim 3 $
focal_length_x: f32
$ \text{fl}_x = \frac{\text{im}_x}{2 \tan\left(\frac{\text{fov}_x}{2}\right)} $
focal_length_y: f32
$ \text{fl}_y = \frac{\text{im}_y}{2 \tan\left(\frac{\text{fov}_y}{2}\right)} $
image_size_half_x: f32
$ \frac{\text{im}_x}{2} $
image_size_half_y: f32
$ \frac{\text{im}_y}{2} $
point_count: u32
$ p $
tile_count_x: i32
$ \frac{\text{im}_x}{\text{t}_x} $
$ \text{t}_x $ is the tile width.
tile_count_y: i32
$ \frac{\text{im}_y}{\text{t}_y} $
$ \text{t}_y $ is the tile height.
view_bound_x: f32
$ \tan\left(\frac{\text{fov}_x}{2}\right) \cdot (c_f + 1) $
$ c_f $ is FILTER_LOW_PASS
.
view_bound_y: f32
$ \tan\left(\frac{\text{fov}_y}{2}\right) \cdot (c_f + 1) $
$ c_f $ is FILTER_LOW_PASS
.
_padding_1: [u32; 2]
Padding.
view_position: [f32; 3]
$ V_p \in \mathbb{R}^3 $
It is the position in world space.
_padding_2: [u32; 1]
Padding.
view_transform: [[f32; 4]; 4]
$ M_v \in \mathbb{R}^{4 \times 4} = \begin{bmatrix} R_v & T_v \\ 0 & 1 \end{bmatrix} $
$ R_v \in \mathbb{R}^{3 \times 3} $ is the rotation from world space to view space.
Trait Implementations§
impl Copy for Arguments
impl Pod for Arguments
Auto Trait Implementations§
impl Freeze for Arguments
impl RefUnwindSafe for Arguments
impl Send for Arguments
impl Sync for Arguments
impl Unpin for Arguments
impl UnwindSafe for Arguments
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
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§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
.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more