/// Defines how to combine a source color with the destination color already on the render target for color blending.
/// </summary>
structBlendFunction
{
enumtype
{
Add=1,
Subtract=2,
ReverseSubtract=3,
Min=4,
Max=5
};
};
/// <summary>
/// Specifies Special Usage of the buffer contents.
/// </summary>
structBufferUsage
{
enumtype
{
None=0,
Points=0x40,
WriteOnly=8
};
};
/// <summary>
/// Specifies the buffer to use when calling GraphicsDevice.Clear.
/// </summary>
structClearOptions
{
enumtype
{
Depth=2,
Stencil=4,
Target=1
};
};
/// <summary>
/// Defines the color channels that can be chosen for a per-channel write to a render target color buffer.
/// </summary>
structColorWriteChannels
{
enumtype
{
All=15,
Alpha=8,
Blue=4,
Green=2,
None=0,
Red=1
};
};
/// <summary>
/// Defines comparison functions that can be chosen for alpha, stencil, or depth-buffer tests.
/// </summary>
structCompareFunction
{
enumtype
{
Never=1,
Less=2,
Equal=3,
LessEqual=4,
Greater=5,
NotEqual=6,
GreaterEqual=7,
Always=8
};
};
/// <summary>
/// Identifies an include file as a local or system resource.
/// </summary>
structCompilerIncludeHandlerType
{
enumtype
{
Local,
System
};
};
/// <summary>
/// Defines optimization options that may be chosen for shader and effect code compilation.
/// </summary>
structCompilerOptions
{
enumtype
{
AvoidFlowControl,
Debug,
ForcePixelShaderSoftwareNoOptimizations,
ForceVertexShaderSoftwareNoOptimizations,
None,
NoPreShader,
NotCloneable,
PackMatrixColumnMajor,
PackMatrixRowMajor,
PartialPrecision,
PreferFlowControl,
SkipOptimization,
SkipValidation
};
};
/// <summary>
/// Defines the faces of a cube map in the TextureCube class type.
/// </summary>
structCubeMapFace
{
enumtype
{
NegativeX=1,
NegativeY=3,
NegativeZ=5,
PositiveX=0,
PositiveY=2,
PositiveZ=4
};
};
/// <summary>
/// Defines winding orders that may be used to identify back faces for culling.
/// </summary>
structCullMode
{
enumtype
{
None=1,
CullClockwiseFace=2,
CullCounterClockwiseFace=3
};
};
/// <summary>
/// Defines the format of data in a depth buffer.
/// </summary>
structDepthFormat
{
enumtype
{
Depth15Stencil1=56,
Depth16=54,
Depth24=51,
Depth24Stencil8=48,
Depth24Stencil8Single=49,
Depth24Stencil4=50,
Depth32=52,
Unknown=-1
};
};
/// <summary>
/// Specifies the type of device driver.
/// </summary>
structDeviceType
{
enumtype
{
Hardware=1,
NullReference=4,
Reference=2
};
};
/// <summary>
/// Defines classes that can be used for effect parameters or shader constants.
/// </summary>
structEffectParameterClass
{
enumtype
{
MatrixColumns,
MatrixRows,
Object,
Scalar,
Struct,
Vector
};
};
/// <summary>
/// Describes options for filling the vertices and lines that define a primitive.
/// </summary>
structFillMode
{
enumtype
{
Point=1,
Solid=3,
WireFrame=2
};
};
/// <summary>
/// Defines modes describing how to filter an image or mipmap when it is minified or magnified to fit a set of vertices.
/// </summary>
structFilterOptions
{
enumtype
{
Box=5,
Dither=524288,
DitherDiffusion=1048576,
Linear=3,
Mirror=458752,
MirrorU=65536,
MirrorV=131072,
MirrorW=262144,
None=1,
Point=2,
Srgb=6291456,
SrgbIn=2097152,
SrgbOut=4194304,
Triangle=4
};
};
/// <summary>
/// Defines constants that describe the fog mode.
/// </summary>
structFogMode
{
enumtype
{
Exponent=1,
ExponentSquared=2,
Linear=3,
None=0
};
};
/// <summary>
/// Describes the status of the device.
/// </summary>
structGraphicsDeviceStatus
{
enumtype
{
Lost=1,
Normal=0,
NotReset=2
};
};
/// <summary>
/// Defines supported image file formats that may be used for textures.
/// </summary>
structImageFileFormat
{
enumtype
{
Bmp=0,
Dds=4,
Dib=6,
Hdr=7,
Jpg=1,
Pfm=8,
Png=3,
Ppm=5,
Tga=2
};
};
/// <summary>
/// Defines the size of an element of an index buffer.
/// </summary>
structIndexElementSize
{
enumtype
{
SixteenBits,
ThirtyTwoBits
};
};
/// <summary>
/// Defines the levels of full-scene multisampling that the game machine can apply.
/// </summary>
structMultiSampleType
{
enumtype
{
SixteenSamples=16,
FifteenSamples=15,
FourteenSamples=14,
ThirteenSamples=13,
TwelveSamples=12,
ElevenSamples=11,
TenSamples=10,
NineSamples=9,
EightSamples=8,
SevenSamples=7,
SixSamples=6,
FiveSamples=5,
FourSamples=4,
ThreeSamples=3,
TwoSamples=2,
NonMaskable=1,
None=0
};
};
/// <summary>
/// Defines flags that describe the relationship between the adapter refresh rate and the rate at which GraphicsDevice.Present operations are completed.
/// </summary>
structPresentInterval
{
enumtype
{
Default=0,
Four=8,
Immediate=-2147483648,
One=1,
Three=4,
Two=2
};
};
/// <summary>
/// Defines flags that control the behavior of the back buffer and depth buffer.
/// </summary>
structPresentOptions
{
enumtype
{
DeviceClip=4,
DiscardDepthStencil=2,
None=0,
Video=16
};
};
/// <summary>
/// Defines how data in a vertex stream is interpreted during a draw call.
/// </summary>
structPrimitiveType
{
enumtype
{
LineList=2,
LineStrip=3,
PointList=1,
TriangleFan=6,
TriangleList=4,
TriangleStrip=5
};
};
/// <summary>
/// Defines options for querying device resource formats.
/// </summary>
structQueryUsages
{
enumtype
{
Filter=131072,
None=0,
PostPixelShaderRendering=524288,
SrgbRead=65536,
SrgbWrite=262144,
VertexTexture=1048576,
WrapAndMip=2097152
};
};
/// <summary>
/// Determines how render target data is used once a new render target is set.
/// </summary>
structRenderTargetUsage
{
enumtype
{
DiscardContents,
PlatformContents,
PreserveContents
};
};
/// <summary>
/// Defines resource types.
/// </summary>
structResourceType
{
enumtype
{
DepthStencilBuffer=1,
IndexBuffer=7,
RenderTarget=8,
Texture2D=3,
Texture3D=4,
Texture3DVolume=2,
TextureCube=5,
VertexBuffer=6
};
};
/// <summary>
/// Defines options for saving the graphics device state before and after an effect technique is applied.
/// </summary>
structSaveStateMode
{
enumtype
{
None,
SaveState
};
};
/// <summary>
/// Describes whether existing buffer data will be overwritten or discarded during a SetData operation.
/// </summary>
structSetDataOptions
{
enumtype
{
Discard=8192,
None=0,
NoOverwrite=4096
};
};
/// <summary>
/// Defines vertex and pixel shader versions.
/// </summary>
structShaderProfile
{
enumtype
{
PS_1_1,
PS_1_2,
PS_1_3,
VS_1_1,
XPS_1_1,//Denotes XBOX specific shader configuration
XVS_1_1//Denotes XBOX specific shader configuration