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: u32
Which 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: SurfaceFace
Which 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