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.