pub struct Room {
pub half_width: f32,
pub half_depth: f32,
pub ceiling_height: f32,
pub size: Option<[f32; 3]>,
pub texture: Option<TextureHandle>,
pub wall_texture: Option<TextureHandle>,
pub floor_texture: Option<TextureHandle>,
pub ceiling_texture: Option<TextureHandle>,
pub lod_levels: u32,
pub lod_distances: Vec<f32>,
}Expand description
Authored fields of a Room; the resolved dimensions and payload locator are
runtime state.
RoomArgs {
size: Some([16.0, 20.0, 3.5]),
..Default::default()
};Fields§
§half_width: f32Half the room’s width along X, in world units. Ignored when size is set.
half_depth: f32Half the room’s depth along Z, in world units. Ignored when size is set.
ceiling_height: f32Floor-to-ceiling height in world units. Ignored when size is set.
size: Option<[f32; 3]>Shorthand for the full dimensions [width, depth, height]. When set, it
overrides half_width, half_depth, and ceiling_height.
texture: Option<TextureHandle>Texture applied to all surfaces. Falls back to wall_texture
when unset. Generator names such as "brick" or "concrete" resolve to
a matching texture at build time.
wall_texture: Option<TextureHandle>Texture for the walls. Currently all surfaces share one texture; per-surface texturing is reserved for a future update.
floor_texture: Option<TextureHandle>Texture for the floor (see wall_texture).
ceiling_texture: Option<TextureHandle>Texture for the ceiling (see wall_texture).
lod_levels: u32Number of level-of-detail versions to generate, including the original.
1 (the default) generates no alternates.
lod_distances: Vec<f32>Camera distances at which to switch to each lower-detail version. Empty lets the build choose defaults.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RoomArgs
impl<'de> Deserialize<'de> for RoomArgs
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomArgs, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomArgs, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for RoomArgs
impl Serialize for RoomArgs
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for RoomArgs
impl RefUnwindSafe for RoomArgs
impl Send for RoomArgs
impl Sync for RoomArgs
impl Unpin for RoomArgs
impl UnsafeUnpin for RoomArgs
impl UnwindSafe for RoomArgs
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().