pub enum SurfaceInit {
Null,
Target,
From {
mip: u32,
slice: u32,
face: SurfaceFace,
image: NameRef<Image>,
},
}Expand description
A Surface initialization option, which specifies
whether to initialize the surface and how to do so.
Variants§
Null
This surface is intended to be initialized later externally by a EffectSetParam element.
If it is used before being initialized, there is profile- and platform-specific behavior.
Most elements on the Surface element that contains this will be ignored,
including mip_levels, mipmap_generate,
size, viewport_ratio,
and format.
Target
Initializes this surface as a target for depth, stencil, or color. It does not need image
data. If this element is used, mipmap_generate is ignored.
From
Contains a reference to a 1D or 2D image. Initializes the surface one subsurface at
a time by specifying combinations of mip, face, and slice that make sense for a
particular surface type. Each subsurface is initialized by a common 1-D or 2-D
image, not a complex compound image such as DDS. If not all subsurfaces are
initialized, the surface is invalid and will result in profile- and platform-specific
behavior unless mipmap_generate is responsible for
initializing the remaining subsurfaces.
Fields
slice: u32Which 2D layer within a volume to initialize.
There are anywhere from 0 to n slices in a volume,
where n is the volume’s depth slice.
This attribute is used in combination with mip because a volume might have MIPmaps.
face: SurfaceFaceWhich surface of a cube to initialize from the specified image.
This attribute is used in combination with mip because a cubemap might
have MIPmaps.
Implementations§
Trait Implementations§
Source§impl Clone for SurfaceInit
impl Clone for SurfaceInit
Source§fn clone(&self) -> SurfaceInit
fn clone(&self) -> SurfaceInit
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more