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

Fields

mip: u32

The MIP level.

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.

image: NameRef<Image>

Each subsurface is initialized by a common 1-D or 2-D image, not a complex compound image such as DDS.

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.

Implementations

Construct a SurfaceInit::From variant with default arguments.

Parse a SurfaceInit from an XML element.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.