X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=SlimDXc_Jun2010%28VC%2B%2B2008%29%2Fsource%2Fdirect3d9%2FD3DXEnums.h;fp=SlimDXc_Jun2010%28VC%2B%2B2008%29%2Fsource%2Fdirect3d9%2FD3DXEnums.h;h=0000000000000000000000000000000000000000;hb=d3453b257c2faf4db202d38666a872929ff220cd;hp=2a929dfc78c96c7fbde8df57db563801334c20ed;hpb=1c2eac207d4963c6bc170b3f7fbe0feeffcd17e0;p=dtxmania%2Fdtxmania.git
diff --git a/SlimDXc_Jun2010(VC++2008)/source/direct3d9/D3DXEnums.h b/SlimDXc_Jun2010(VC++2008)/source/direct3d9/D3DXEnums.h
deleted file mode 100644
index 2a929dfc..00000000
--- a/SlimDXc_Jun2010(VC++2008)/source/direct3d9/D3DXEnums.h
+++ /dev/null
@@ -1,1238 +0,0 @@
-/*
-* Copyright (c) 2007-2010 SlimDX Group
-*
-* Permission is hereby granted, free of charge, to any person obtaining a copy
-* of this software and associated documentation files (the "Software"), to deal
-* in the Software without restriction, including without limitation the rights
-* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-* copies of the Software, and to permit persons to whom the Software is
-* furnished to do so, subject to the following conditions:
-*
-* The above copyright notice and this permission notice shall be included in
-* all copies or substantial portions of the Software.
-*
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-* THE SOFTWARE.
-*/
-#pragma once
-
-namespace SlimDX
-{
- namespace Direct3D9
- {
-#ifdef XMLDOCS
- ref class AnimationOutput;
-#endif
-
- // NOTE: The enumerations defined in this file are in alphabetical order. When
- // adding new enumerations or renaming existing ones, please make sure
- // the ordering is maintained.
-
-
- ///
- /// Specifies which members of the structure are valid.
- ///
- /// None
- [System::Flags]
- public enum class AnimationOutputFlags : System::Int32
- {
- ///
- /// None of the members are valid.
- ///
- None = 0,
-
- ///
- /// The transformation member is valid.
- ///
- Transformation = 1,
-
- ///
- /// The translation member is valid.
- ///
- Translation = 2,
-
- ///
- /// The scale member is valid.
- ///
- Scale = 4,
-
- ///
- /// The rotation member is valid.
- ///
- Rotation = 8
- };
-
- ///
- /// Flags used to obtain callback information.
- ///
- /// D3DXCALLBACK_SEARCH_FLAGS
- public enum class CallbackSearchFlags : System::Int32
- {
- ///
- /// Exclude callbacks located at the initial position from the search.
- ///
- SearchExcludingInitialPosition = D3DXCALLBACK_SEARCH_EXCLUDING_INITIAL_POSITION,
-
- ///
- /// Reverse the callback search direction.
- ///
- SearchBehindInitialPosition = D3DXCALLBACK_SEARCH_BEHIND_INITIAL_POSITION
- };
-
- ///
- /// The following flags are used to specify which channels in a texture to operate on.
- ///
- /// D3DX_CHANNEL
- [System::Flags]
- public enum class Channel : System::Int32
- {
- ///
- /// Indicates the red channel should be used.
- ///
- Red = D3DX_CHANNEL_RED,
-
- ///
- /// Indicates the blue channel should be used.
- ///
- Blue = D3DX_CHANNEL_BLUE,
-
- ///
- /// Indicates the green channel should be used.
- ///
- Green = D3DX_CHANNEL_GREEN,
-
- ///
- /// Indicates the alpha channel should be used.
- ///
- Alpha = D3DX_CHANNEL_ALPHA,
-
- ///
- /// Indicates the luminances of the red, green, and blue channels should be used.
- ///
- Luminance = D3DX_CHANNEL_LUMINANCE
- };
-
- ///
- /// Defines operations to perform on vertices in preparation for mesh cleaning.
- ///
- /// D3DXCLEANTYPE
- [System::Flags]
- public enum class CleanType : System::Int32
- {
- ///
- /// Merge triangles that share the same vertex indices but have face normals pointing
- /// in opposite directions (back-facing triangles). Unless the triangles are not split by
- /// adding a replicated vertex, mesh adjacency data from the two triangles may conflict.
- ///
- BackFacing = D3DXCLEAN_BACKFACING,
-
- ///
- /// If a vertex is the apex of two triangle fans (a bowtie) and mesh operations will affect
- /// one of the fans, then split the shared vertex into two new vertices. Bowties can cause problems
- /// for operations such as mesh simplification that remove vertices, because removing one vertex
- /// affects two distinct sets of triangles.
- ///
- Bowties = D3DXCLEAN_BOWTIES,
-
- ///
- /// Use this flag to prevent infinite loops during skinning setup mesh operations.
- ///
- Skinning = D3DXCLEAN_SKINNING,
-
- ///
- /// Use this flag to prevent infinite loops during mesh optimization operations.
- ///
- Optimization = D3DXCLEAN_OPTIMIZATION,
-
- ///
- /// Use this flag to prevent infinite loops during mesh simplification operations.
- ///
- Simplification = D3DXCLEAN_SIMPLIFICATION
- };
-
- ///
- /// Effect data types. The data is contained in the Value member of EffectDefault.
- ///
- /// D3DXEFFECTDEFAULTTYPE
- public enum class EffectDefaultType : System::Int32
- {
- ///
- /// The data type is a NULL-terminated ASCII text string.
- ///
- String = D3DXEDT_STRING,
-
- ///
- /// The data type is an array of type float. The number of float types in
- /// the array is specified by Value.Length in EffectDefault.
- ///
- Floats = D3DXEDT_FLOATS,
-
- ///
- /// The data type is a DWORD.
- ///
- Dword = D3DXEDT_DWORD,
- };
-
- ///
- /// Describes the type of events that can be keyed by the animation controller.
- ///
- /// D3DXEVENT_TYPE
- public enum class EventType : System::Int32
- {
- ///
- /// Track speed.
- ///
- TrackSpeed = D3DXEVENT_TRACKSPEED,
-
- ///
- /// Track weight.
- ///
- TrackWeight = D3DXEVENT_TRACKWEIGHT,
-
- ///
- /// Track position.
- ///
- TrackPosition = D3DXEVENT_TRACKPOSITION,
-
- ///
- /// Enable flag.
- ///
- TrackEnable = D3DXEVENT_TRACKENABLE,
-
- ///
- /// Priority blend value.
- ///
- PriorityBlend = D3DXEVENT_PRIORITYBLEND
- };
-
- ///
- /// Flags used to specify what filters to use when processing an image.
- ///
- /// D3DX_FILTER
- [System::Flags]
- public enum class Filter : System::Int32
- {
- ///
- /// Uses the default behavior.
- ///
- Default = static_cast( D3DX_DEFAULT ),
-
- ///
- /// No scaling or filtering will take place. Pixels outside the bounds of the source image are assumed to be transparent black.
- ///
- None = D3DX_FILTER_NONE,
-
- ///
- /// Each destination pixel is computed by sampling the nearest pixel from the source image.
- ///
- Point = D3DX_FILTER_POINT,
-
- ///
- /// Each destination pixel is computed by sampling the four nearest pixels from the source
- /// image. This filter works best when the scale on both axes is less than two.
- ///
- Linear = D3DX_FILTER_LINEAR,
-
- ///
- /// Every pixel in the source image contributes equally to the destination image. This is the slowest of the filters.
- ///
- Triangle = D3DX_FILTER_TRIANGLE,
-
- ///
- /// Each pixel is computed by averaging a 2x2(x2) box of pixels from the source image.
- /// This filter works only when the dimensions of the destination are half those of the source,
- /// as is the case with mipmaps.
- ///
- Box = D3DX_FILTER_BOX,
-
- ///
- /// Pixels off the edge of the texture on the u-axis should be mirrored, not wrapped.
- ///
- MirrorU = D3DX_FILTER_MIRROR_U,
-
- ///
- /// Pixels off the edge of the texture on the v-axis should be mirrored, not wrapped.
- ///
- MirrorV = D3DX_FILTER_MIRROR_V,
-
- ///
- /// Pixels off the edge of the texture on the w-axis should be mirrored, not wrapped.
- ///
- MirrorW = D3DX_FILTER_MIRROR_W,
-
- ///
- /// Specifying this flag is the same as specifying the MirrorU, MirrorV, and MirrorW flags.
- ///
- Mirror = D3DX_FILTER_MIRROR,
-
- ///
- /// The resulting image must be dithered using a 4x4 ordered dither algorithm.
- ///
- Dither = D3DX_FILTER_DITHER,
-
- ///
- /// Specifying this flag is the same as specifying the SrgbIn and SrgbOut flags.
- ///
- Srgb = D3DX_FILTER_SRGB,
-
- ///
- /// Input data is in sRGB (gamma 2.2) color space.
- ///
- SrgbIn = D3DX_FILTER_SRGB_IN,
-
- ///
- /// The output data is in sRGB (gamma 2.2) color space.
- ///
- SrgbOut = D3DX_FILTER_SRGB_OUT
- };
-
- ///
- /// Options for saving and creating effects.
- ///
- /// D3DXFX
- [System::Flags]
- public enum class FX : System::Int32
- {
- ///
- /// No flags.
- ///
- None = 0,
-
- ///
- /// No state is saved when calling Effect.Begin or restored when calling Effect.End.
- ///
- DoNotSaveState = D3DXFX_DONOTSAVESTATE,
-
- ///
- /// A stateblock saves state when calling Effect.Begin and restores state when calling Effect.End.
- ///
- DoNotSaveShaderState = D3DXFX_DONOTSAVESHADERSTATE,
-
- ///
- /// A stateblock saves state (except shaders and shader constants) when
- /// calling Effect.Begin and restores state when calling Effect.End.
- ///
- DoNotSaveSamplerState = D3DXFX_DONOTSAVESAMPLERSTATE,
- };
-
- ///
- /// Describes the supported image file formats.
- ///
- /// D3DXIMAGE_FILEFORMAT
- public enum class ImageFileFormat : System::Int32
- {
- ///
- /// Windows bitmap (BMP) file format.
- ///
- Bmp = D3DXIFF_BMP,
-
- ///
- /// Joint Photographics Experts Group (JPEG) compressed file format.
- ///
- Jpg = D3DXIFF_JPG,
-
- ///
- /// Truevision (Targa, or TGA) image file format.
- ///
- Tga = D3DXIFF_TGA,
-
- ///
- /// Portable Network Graphics (PNG) file format.
- ///
- Png = D3DXIFF_PNG,
-
- ///
- /// DirectDraw surface (DDS) file format.
- ///
- Dds = D3DXIFF_DDS,
-
- ///
- /// Portable pixmap (PPM) file format.
- ///
- Ppm = D3DXIFF_PPM,
-
- ///
- /// Windows device-independent bitmap (DIB) file format.
- ///
- Dib = D3DXIFF_DIB,
-
- ///
- /// High dynamic range (HDR) file format.
- ///
- Hdr = D3DXIFF_HDR,
-
- ///
- /// Portable float map file format.
- ///
- Pfm = D3DXIFF_PFM,
- };
-
- ///
- /// Describes the location for the include file.
- ///
- /// D3DXINCLUDE_TYPE
- public enum class IncludeType : System::Int32
- {
- ///
- /// Look in the local project for the include file.
- ///
- Local = D3DXINC_LOCAL,
-
- ///
- /// Look in the system path for the include file.
- ///
- System = D3DXINC_SYSTEM,
- };
-
- ///
- /// Defines the type of mesh data present in MeshData.
- ///
- /// D3DXMESHDATATYPE
- public enum class MeshDataType : System::Int32
- {
- ///
- /// The data type is a mesh. See Mesh.
- ///
- Mesh = D3DXMESHTYPE_MESH,
-
- ///
- /// The data type is a progressive mesh. See ProgressiveMesh.
- ///
- ProgressiveMesh = D3DXMESHTYPE_PMESH,
-
- ///
- /// The data type is a patch mesh. See PatchMesh.
- ///
- PatchMesh = D3DXMESHTYPE_PATCHMESH
- };
-
- ///
- /// Flags used to specify creation options for a mesh.
- ///
- /// D3DXMESH
- [System::Flags]
- public enum class MeshFlags : System::Int32
- {
- ///
- /// The mesh has 32-bit indices instead of 16-bit indices.
- ///
- Use32Bit = D3DXMESH_32BIT,
-
- ///
- /// Use the DoNotClip usage flag for vertex and index buffers.
- ///
- DoNotClip = D3DXMESH_DONOTCLIP,
-
- ///
- /// Use the Points usage flag for vertex and index buffers.
- ///
- Points = D3DXMESH_POINTS,
-
- ///
- /// Use the RTPatches usage flag for vertex and index buffers.
- ///
- RTPatches = D3DXMESH_RTPATCHES,
-
- ///
- /// Specifying this flag causes the vertex and index buffer of the mesh to be created with the NPatches
- /// flag. This is required if the mesh object is to be rendered using N-patch enhancement using Direct3D.
- ///
- NPatches = D3DXMESH_NPATCHES,
-
- ///
- /// Use the SystemMemory usage flag for vertex buffers.
- ///
- VertexBufferSystemMemory = D3DXMESH_VB_SYSTEMMEM,
-
- ///
- /// Use the Managed usage flag for vertex buffers.
- ///
- VertexBufferManaged = D3DXMESH_VB_MANAGED,
-
- ///
- /// Use the WriteOnly usage flag for vertex buffers.
- ///
- VertexBufferWriteOnly = D3DXMESH_VB_WRITEONLY,
-
- ///
- /// Use the Dynamic usage flag for vertex buffers.
- ///
- VertexBufferDynamic = D3DXMESH_VB_DYNAMIC,
-
- ///
- /// Use the SoftwareProcessing usage flag for vertex buffers.
- ///
- VertexBufferSoftware = D3DXMESH_VB_SOFTWAREPROCESSING,
-
- ///
- /// Use the SystemMemory usage flag for index buffers.
- ///
- IndexBufferSystemMemory = D3DXMESH_IB_SYSTEMMEM,
-
- ///
- /// Use the Managed usage flag for index buffers.
- ///
- IndexBufferManaged = D3DXMESH_IB_MANAGED,
-
- ///
- /// Use the WriteOnly usage flag for index buffers.
- ///
- IndexBufferWriteOnly = D3DXMESH_IB_WRITEONLY,
-
- ///
- /// Use the Dynamic usage flag for index buffers.
- ///
- IndexBufferDynamic = D3DXMESH_IB_DYNAMIC,
-
- ///
- /// Use the SoftwareProcessing usage flag for index buffers.
- ///
- IndexBufferSoftware = D3DXMESH_IB_SOFTWAREPROCESSING,
-
- ///
- /// Forces the cloned meshes to share vertex buffers.
- ///
- VertexBufferShare = D3DXMESH_VB_SHARE,
-
- ///
- /// Use hardware processing only. For mixed-mode device, this flag will cause the system
- /// to use hardware (if supported in hardware) or will default to software processing.
- ///
- UseHardwareOnly = D3DXMESH_USEHWONLY,
-
- ///
- /// Equivalent to specifying both VertexBufferSystemMemory and IndexBufferSystemMemory.
- ///
- SystemMemory = D3DXMESH_SYSTEMMEM,
-
- ///
- /// Equivalent to specifying both VertexBufferManaged and IndexBufferManaged.
- ///
- Managed = D3DXMESH_MANAGED,
-
- ///
- /// Equivalent to specifying both VertexBufferDynamic and IndexBufferDynamic.
- ///
- WriteOnly = D3DXMESH_WRITEONLY,
-
- ///
- /// Equivalent to specifying both D3DXMESH_VB_DYNAMIC and D3DXMESH_IB_DYNAMIC.
- ///
- Dynamic = D3DXMESH_DYNAMIC,
-
- ///
- /// Equivalent to specifying both D3DXMESH_VB_SOFTWAREPROCESSING and D3DXMESH_IB_SOFTWAREPROCESSING.
- ///
- Software = D3DXMESH_SOFTWAREPROCESSING,
- };
-
- ///
- /// Specifies the type of mesh optimization to be performed.
- ///
- /// D3DXMESHOPT
- [System::Flags]
- public enum class MeshOptimizeFlags : System::Int32
- {
- ///
- /// Reorders faces to remove unused vertices and faces.
- ///
- Compact = D3DXMESHOPT_COMPACT,
-
- ///
- /// Reorders faces to optimize for fewer attribute bundle state changes and enhanced BaseMesh.DrawSubset performance.
- ///
- AttributeSort = D3DXMESHOPT_ATTRSORT,
-
- ///
- /// Reorders faces to increase the cache hit rate of vertex caches.
- ///
- VertexCache = D3DXMESHOPT_VERTEXCACHE,
-
- ///
- /// Reorders faces to maximize length of adjacent triangles.
- ///
- StripReorder = D3DXMESHOPT_STRIPREORDER,
-
- ///
- /// Optimize the faces only; do not optimize the vertices.
- ///
- IgnoreVertices = D3DXMESHOPT_IGNOREVERTS,
-
- ///
- /// While attribute sorting, do not split vertices that are shared between attribute groups.
- ///
- DoNotSplit = D3DXMESHOPT_DONOTSPLIT,
-
- ///
- /// Affects the vertex cache size. Using this flag specifies a default vertex cache size that works well on legacy hardware.
- ///
- DeviceIndependent = D3DXMESHOPT_DEVICEINDEPENDENT,
- };
-
- ///
- /// Specifies simplification options for a mesh.
- ///
- /// D3DXMESHSIMP
- public enum class MeshSimplification : System::Int32
- {
- ///
- /// The mesh will be simplified by the number of vertices specified in the MinValue parameter.
- ///
- Vertex = D3DXMESHSIMP_VERTEX,
-
- ///
- /// The mesh will be simplified by the number of faces specified in the MinValue parameter.
- ///
- Face = D3DXMESHSIMP_FACE
- };
-
- ///
- /// Normal maps generation constants.
- ///
- /// D3DX_NORMALMAP
- [System::Flags]
- public enum class NormalMapFlags : System::Int32
- {
- ///
- /// Indicates that pixels off the edge of the texture on the u-axis should be mirrored, not wrapped.
- ///
- MirrorU = D3DX_NORMALMAP_MIRROR_U,
-
- ///
- /// Indicates that pixels off the edge of the texture on the v-axis should be mirrored, not wrapped.
- ///
- MirrorV = D3DX_NORMALMAP_MIRROR_V,
-
- ///
- /// Same as specifying the MirrorU and MirrorV flags.
- ///
- Mirror = D3DX_NORMALMAP_MIRROR,
-
- ///
- /// Inverts the direction of each normal.
- ///
- InvertSign = D3DX_NORMALMAP_INVERTSIGN,
-
- ///
- /// Computes the per-pixel occlusion term and encodes it into the alpha. An alpha of 1 means that the
- /// pixel is not obscured in any way, and an alpha of 0 means that the pixel is completely obscured.
- ///
- ComputeOcclusion = D3DX_NORMALMAP_COMPUTE_OCCLUSION
- };
-
- ///
- /// The type of object.
- ///
- /// D3DXPARAMETER_CLASS
- public enum class ParameterClass : System::Int32
- {
- ///
- /// Constant is a scalar.
- ///
- Scalar = D3DXPC_SCALAR,
-
- ///
- /// Constant is a vector.
- ///
- Vector = D3DXPC_VECTOR,
-
- ///
- /// Constant is a row major matrix.
- ///
- MatrixRows = D3DXPC_MATRIX_ROWS,
-
- ///
- /// Constant is a column major matrix.
- ///
- MatrixColumns = D3DXPC_MATRIX_COLUMNS,
-
- ///
- /// Constant is either a texture, shader, or a string.
- ///
- Object = D3DXPC_OBJECT,
-
- ///
- /// Constant is a structure.
- ///
- Struct = D3DXPC_STRUCT,
- };
-
- ///
- /// These flags provide additional information about effect parameters.
- ///
- /// D3DX_PARAMETER
- [System::Flags]
- public enum class ParameterFlags : System::Int32
- {
- ///
- /// This parameter is not marked.
- ///
- None = 0,
-
- ///
- /// The value of a parameter will be shared by all effects in the same namespace.
- /// Changing the value in one effect will change it in all shared effects.
- ///
- Shared = D3DX_PARAMETER_SHARED,
-
- ///
- /// This parameter is marked as a literal value.
- ///
- Literal = D3DX_PARAMETER_LITERAL,
-
- ///
- /// This parameter is marked as an annotation.
- ///
- Annotation = D3DX_PARAMETER_ANNOTATION,
- };
-
- ///
- /// Describes the data contained by the enumeration.
- ///
- /// D3DXPARAMETER_TYPE
- public enum class ParameterType : System::Int32
- {
- ///
- /// Parameter is a void pointer.
- ///
- Void = D3DXPT_VOID,
-
- ///
- /// Parameter is a Boolean. Any non-zero value passed into ConstantTable.SetBool, ConstantTable.SetBoolArray,
- /// ConstantTable.SetValue, ConstantTable.SetVector, or ConstantTable.SetVectorArray will be mapped to 1 (true)
- /// before being written into the constant table; otherwise, the value will be set to 0 in the constant table.
- ///
- Bool = D3DXPT_BOOL,
-
- ///
- /// Parameter is an integer. Any floating-point values passed into ConstantTable.SetValue,
- /// ConstantTable.SetVector, or ConstantTable::SetVectorArray will be rounded off (to zero decimal places)
- /// before being written into the constant table.
- ///
- Int = D3DXPT_INT,
-
- ///
- /// Parameter is a floating-point number.
- ///
- Float = D3DXPT_FLOAT,
-
- ///
- /// Parameter is a string.
- ///
- String = D3DXPT_STRING,
-
- ///
- /// Parameter is a texture.
- ///
- Texture = D3DXPT_TEXTURE,
-
- ///
- /// Parameter is a 1D texture.
- ///
- Texture1D = D3DXPT_TEXTURE1D,
-
- ///
- /// Parameter is a 2D texture.
- ///
- Texture2D = D3DXPT_TEXTURE2D,
-
- ///
- /// Parameter is a DD texture.
- ///
- Texture3D = D3DXPT_TEXTURE3D,
-
- ///
- /// Parameter is a cube texture.
- ///
- TextureCube = D3DXPT_TEXTURECUBE,
-
- ///
- /// Parameter is a sampler.
- ///
- Sampler = D3DXPT_SAMPLER,
-
- ///
- /// Parameter is a 1D sampler.
- ///
- Sampler1D = D3DXPT_SAMPLER1D,
-
- ///
- /// Parameter is a 2D sampler.
- ///
- Sampler2D = D3DXPT_SAMPLER2D,
-
- ///
- /// Parameter is a 3D sampler.
- ///
- Sampler3D = D3DXPT_SAMPLER3D,
-
- ///
- /// Parameter is a cube sampler.
- ///
- SamplerCube = D3DXPT_SAMPLERCUBE,
-
- ///
- /// Parameter is a pixel shader.
- ///
- PixelShader = D3DXPT_PIXELSHADER,
-
- ///
- /// Parameter is a vertex shader.
- ///
- VertexShader = D3DXPT_VERTEXSHADER,
-
- ///
- /// Parameter is a pixel shader fragment.
- ///
- PixelFragment = D3DXPT_PIXELFRAGMENT,
-
- ///
- /// Parameter is a vertex shader fragment.
- ///
- VertexFragment = D3DXPT_VERTEXFRAGMENT,
-
- ///
- /// Parameter is not supported.
- ///
- Unsupported = D3DXPT_UNSUPPORTED
- };
-
- ///
- /// Mesh patch types.
- ///
- /// D3DXPATCHMESHTYPE
- public enum class PatchMeshType : System::Int32
- {
- ///
- /// Rectangle patch mesh type.
- ///
- Rectangle = D3DXPATCHMESH_RECT,
-
- ///
- /// Triangle patch mesh type.
- ///
- Triangle = D3DXPATCHMESH_TRI,
-
- ///
- /// N-patch mesh type.
- ///
- NPatch = D3DXPATCHMESH_NPATCH
- };
-
- ///
- /// Defines the type of animation set looping modes used for playback.
- ///
- /// D3DXPLAYBACK_TYPE
- public enum class PlaybackType : System::Int32
- {
- ///
- /// The animation repeats endlessly.
- ///
- Loop = D3DXPLAY_LOOP,
-
- ///
- /// The animation plays once, and then it stops on the last frame.
- ///
- Once = D3DXPLAY_ONCE,
-
- ///
- /// The animation alternates endlessly between playing forward and playing backward.
- ///
- PingPong = D3DXPLAY_PINGPONG
- };
-
- ///
- /// Data type of the register.
- ///
- /// D3DXREGISTER_SET
- public enum class RegisterSet : System::Int32
- {
- ///
- /// Boolean value.
- ///
- Bool = D3DXRS_BOOL,
-
- ///
- /// 4D integer number.
- ///
- Int4 = D3DXRS_INT4,
-
- ///
- /// 4D floating-point number.
- ///
- Float4 = D3DXRS_FLOAT4,
-
- ///
- /// The register contains 4D sampler data.
- ///
- Sampler = D3DXRS_SAMPLER,
- };
-
- ///
- /// Flags used for parsing, compiling, or assembling shaders.
- ///
- /// D3DXSHADER
- [System::Flags]
- public enum class ShaderFlags : System::Int32
- {
- ///
- /// No flags.
- ///
- None = 0,
-
- ///
- /// Unless explicitly specified, matrices will be packed in column-major order (each vector will be in a single
- /// column) when passed to and from the shader. This is generally more efficient because it allows vector-matrix
- /// multiplication to be performed using a series of dot products.
- ///
- PackMatrixColumnMajor = D3DXSHADER_PACKMATRIX_COLUMNMAJOR,
-
- ///
- /// Unless explicitly specified, matrices will be packed in row-major order (each vector will be in a single
- /// row) when passed to or from the shader.
- ///
- PackMatrixRowMajor = D3DXSHADER_PACKMATRIX_ROWMAJOR,
-
- ///
- /// This is a hint to the compiler to avoid using flow-control instructions.
- ///
- AvoidFlowControl = D3DXSHADER_AVOID_FLOW_CONTROL,
-
- ///
- /// Insert debug filename, line numbers, and type and symbol information during shader compile.
- ///
- Debug = D3DXSHADER_DEBUG,
-
- ///
- /// Compile ps_1_x shaders as ps_2_0. Effects that specify ps_1_x targets will instead compile to ps_2_0
- /// targets because this is the minimum shader version supported by the DirectX 10 shader compiler. This flag
- /// has no effect when used with higher level compile targets.
- ///
- EnableBackwardsCompatibility = D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY,
-
- ///
- /// Force the compiler to compile against the next highest available software target for pixel shaders.
- /// This flag also turns optimizations off and debugging on.
- ///
- ForcePSSoftwareNoOpt = D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT,
-
- ///
- /// Force the compiler to compile against the next highest available software target for vertex shaders.
- /// This flag also turns optimizations off and debugging on.
- ///
- ForceVSSoftwareNoOpt = D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT,
-
- ///
- /// Disable optimizations that may cause the output of a compiled shader program to differ from the output
- /// of a program compiled with the DirectX 9 shader compiler due to small precision erros in floating point math.
- ///
- IeeeStrictness = D3DXSHADER_IEEE_STRICTNESS,
-
- ///
- /// Disables preshaders. The compiler will not pull out static expressions for evaluation on the host CPU.
- /// Additionally, the compiler will not loft any expressions when compiling stand-alone functions.
- ///
- NoPreshader = D3DXSHADER_NO_PRESHADER,
-
- ///
- /// Lowest optimization level. May produce slower code but will do so more quickly.
- /// This may be useful in a highly iterative shader development cycle.
- ///
- OptimizationLevel0 = D3DXSHADER_OPTIMIZATION_LEVEL0,
-
- ///
- /// Second lowest optimization level.
- ///
- OptimizationLevel1 = D3DXSHADER_OPTIMIZATION_LEVEL1,
-
- ///
- /// Second highest optimization level.
- ///
- OptimizationLevel2 = D3DXSHADER_OPTIMIZATION_LEVEL2,
-
- ///
- /// Highest optimization level. Will produce best possible code but may take significantly longer to do so.
- /// This will be useful for final builds of an application where performance is the most important factor.
- ///
- OptimizationLevel3 = D3DXSHADER_OPTIMIZATION_LEVEL3,
-
- ///
- /// Force all computations in the resulting shader to occur at partial precision
- /// This may result in faster evaluation of shaders on some hardware.
- ///
- PartialPrecision = D3DXSHADER_PARTIALPRECISION,
-
- ///
- /// This is a hint to the compiler to prefer using flow-control instructions.
- ///
- PreferFlowControl = D3DXSHADER_PREFER_FLOW_CONTROL,
-
- ///
- /// Instruct the compiler to skip optimization steps during code generation.
- /// Unless you are trying to isolate a problem in your code and you suspect the
- /// compiler, using this option is not recommended.
- ///
- SkipValidation = D3DXSHADER_SKIPVALIDATION,
-
- ///
- /// Do not validate the generated code against known capabilities and constraints.
- /// This option is recommended only when compiling shaders that are known to work
- /// (that is, shaders that have compiled before without this option). Shaders are
- /// always validated by the runtime before they are set to the device.
- ///
- SkipOptimization = D3DXSHADER_SKIPOPTIMIZATION,
-
- ///
- /// Enable the use of the original Direct3D 9 HLSL compiler. OCT2006_d3dx9_31_x86.cab or
- /// OCT2006_d3dx9_31_x64.cab must be included as part of the applications redist. This flag
- /// is required to compile ps_1_x shaders without using the promotion flag to ps_2_0. Specifying
- /// this flag when obtaining an EffectCompiler interface causes subsequent calls to
- /// EffectCompiler.CompileEffect and EffectCompiler/CompileShader through this object
- /// to use the legacy compiler.
- ///
- UseLegacyD3DX9_31Dll = D3DXSHADER_USE_LEGACY_D3DX9_31_DLL
- };
-
- ///
- /// Flags used to specify sprite rendering options to the flags parameter in the Sprite.Begin method.
- ///
- /// D3DXSPRITE
- [System::Flags]
- public enum class SpriteFlags : System::Int32
- {
- ///
- /// No flags.
- ///
- None = 0,
-
- ///
- /// The device state is not to be saved or restored when Sprite.Begin or Sprite.End is called.
- ///
- DoNotSaveState = D3DXSPRITE_DONOTSAVESTATE,
-
- ///
- /// The device render state is not to be changed when Sprite.Begin is called. The device is assumed
- /// to be in a valid state to draw vertices containing UsageIndex = 0 in the DeclarationUsage.Position,
- /// DeclarationUsage.TexCoord, and DeclarationUsage.Color data.
- ///
- DoNotModifyRenderState = D3DXSPRITE_DONOTMODIFY_RENDERSTATE,
-
- ///
- /// The world, view, and projection transforms are not modified. The transforms currently set to the
- /// device are used to transform the sprites when the batched sprites are drawn (when Sprite.Flush or
- /// Sprite.End is called). If this flag is not specified, then world, view, and projection
- /// transforms are modified so that sprites are drawn in screen-space coordinates.
- ///
- ObjectSpace = D3DXSPRITE_OBJECTSPACE,
-
- ///
- /// Each sprite will be rotated about its center so that it is facing the viewer.
- /// Sprite.SetWorldViewLH or Sprite.SetWorldViewRH must be called first.
- ///
- Billboard = D3DXSPRITE_BILLBOARD,
-
- ///
- /// Enables alpha blending with RenderState.AlphaTestEnable set to true (for nonzero alpha).
- /// Blend.SourceAlpha will be the source blend state, and Blend.InverseSourceAlpha will be the destination
- /// blend state in calls to Device.SetRenderState. Font expects this flag to be set when drawing text.
- ///
- AlphaBlend = D3DXSPRITE_ALPHABLEND,
-
- ///
- /// Sort sprites by texture prior to drawing. This can improve performance when drawing
- /// non-overlapping sprites of uniform depth. You may also combine SortTexture with either
- /// SortDepthFrontToBack or SortDepthBackToFront. This will sort the list of sprites by depth
- /// first and texture second.
- ///
- SortTexture = D3DXSPRITE_SORT_TEXTURE,
-
- ///
- /// Sprites are sorted by depth in front-to-back order prior to drawing. This procedure is
- /// recommended when drawing opaque sprites of varying depths. You may combine SortDepthFrontToBack
- /// with SortTexture to sort first by depth, and second by texture.
- ///
- SortDepthFrontToBack = D3DXSPRITE_SORT_DEPTH_FRONTTOBACK,
-
- ///
- /// Sprites are sorted by depth in back-to-front order prior to drawing. This procedure is
- /// recommended when drawing transparent sprites of varying depths. You may combine SortDepthBackToFront
- /// with SortTexture to sort first by depth, and second by texture.
- ///
- SortDepthBackToFront = D3DXSPRITE_SORT_DEPTH_BACKTOFRONT,
-
- ///
- /// Disables calling AddRef() on every draw, and Release() on Flush() for better performance.
- ///
- DoNotAddRefTexture = D3DXSPRITE_DO_NOT_ADDREF_TEXTURE,
- };
-
- ///
- /// Defines settings used for mesh tangent frame computations.
- ///
- /// D3DXTANGENT
- [System::Flags]
- public enum class TangentOptions : System::Int32
- {
- ///
- /// No options.
- ///
- None = 0,
-
- ///
- /// Texture coordinate values in the U direction are between 0 and 1. In this case a texture
- /// coordinate set will be chosen that minimizes the perimeter of the triangle.
- ///
- WrapU = D3DXTANGENT_WRAP_U,
-
- ///
- /// Texture coordinate values in the V direction are between 0 and 1. In this case a texture
- /// coordinate set will be chosen that minimizes the perimeter of the triangle.
- ///
- WrapV = D3DXTANGENT_WRAP_V,
-
- ///
- /// Texture coordinate values in both U and V directions are between 0 and 1. In this case a texture
- /// coordinate set will be chosen that minimizes the perimeter of the triangle.
- ///
- WrapUV = D3DXTANGENT_WRAP_UV,
-
- ///
- /// Do not normalize partial derivatives with respect to texture coordinates. If not normalized,
- /// the scale of the partial derivatives is proportional to the scale of the 3D model divided by the
- /// scale of the triangle in (U, V) space. This scale value provides a measure of how much the
- /// texture is stretched in a given direction. The resulting vector length is a weighted sum of
- /// the lengths of the partial derivatives.
- ///
- DontNormalizePartials = D3DXTANGENT_DONT_NORMALIZE_PARTIALS,
-
- ///
- /// Do not transform texture coordinates to orthogonal Cartesian coordinates. Mutually exclusive
- /// with OrthogonalizeFromU and OrthogonalizeFromV.
- ///
- DontOrthogonalize = D3DXTANGENT_DONT_ORTHOGONALIZE,
-
- ///
- /// Compute the partial derivative with respect to texture coordinate V independently for each vertex,
- /// and then compute the partial derivative with respect to U as the cross product of the partial derivative
- /// with respect to V and the normal vector. Mutually exclusive with DontOrthogonalize and OrthogonalizeFromU.
- ///
- OrthogonalizeFromV = D3DXTANGENT_ORTHOGONALIZE_FROM_V,
-
- ///
- /// Compute the partial derivative with respect to texture coordinate u independently for each vertex,
- /// and then compute the partial derivative with respect to V as the cross product of the normal vector
- /// and the partial derivative with respect to U. Mutually exclusive with DontOrthogonalize and OrthogonalizeFromV.
- ///
- OrthogonalizeFromU = D3DXTANGENT_ORTHOGONALIZE_FROM_U,
-
- ///
- /// Weight the direction of the computed per-vertex normal or partial derivative vector according to the areas
- /// of triangles attached to that vertex. Mutually exclusive with WeightEqual.
- ///
- WeightByArea = D3DXTANGENT_WEIGHT_BY_AREA,
-
- ///
- /// Compute a unit-length normal vector for each triangle of the input mesh.
- /// Mutually exclusive with WeightByArea.
- ///
- WeightEqual = D3DXTANGENT_WEIGHT_EQUAL,
-
- ///
- /// Vertices are ordered in a clockwise direction around each triangle.
- /// The computed normal vector direction is therefore inverted 180 degrees from
- /// the direction computed using counterclockwise vertex ordering.
- ///
- WindCW = D3DXTANGENT_WIND_CW,
-
- ///
- /// Compute the per-vertex normal vector for each triangle of the input mesh,
- /// and ignore any normal vectors already in the input mesh.
- ///
- CalculateNormals = D3DXTANGENT_CALCULATE_NORMALS,
-
- ///
- /// The results are stored in the original input mesh, and the output mesh is not used.
- ///
- GenerateInPlace = D3DXTANGENT_GENERATE_IN_PLACE,
- };
-
- ///
- /// Defines the priority type to which an animation track is assigned.
- ///
- /// D3DXPRIORITY_TYPE
- public enum class TrackPriority : System::Int32
- {
- ///
- /// Track should be blended with all the low-priority tracks before the
- /// low-priority blend is mixed with the high-priority blend.
- ///
- Low = D3DXPRIORITY_LOW,
-
- ///
- /// Track should be blended with all the high-priority tracks before the
- /// high-priority blend is mixed with the low-priority blend.
- ///
- High = D3DXPRIORITY_HIGH
- };
-
- ///
- /// Defines the transition style between values of a mesh animation.
- ///
- /// D3DXTRANSITION_TYPE
- public enum class TransitionType : System::Int32
- {
- ///
- /// Linear transition between values.
- ///
- Linear = D3DXTRANSITION_LINEAR,
-
- ///
- /// Ease-in, ease-out spline transition between values.
- ///
- EaseInEaseOut = D3DXTRANSITION_EASEINEASEOUT
- };
-
- public enum class UVAtlasQuality : System::Int32
- {
- Default = D3DXUVATLAS_DEFAULT,
- GeodesicFast = D3DXUVATLAS_GEODESIC_FAST,
- GeodesicQuality = D3DXUVATLAS_GEODESIC_QUALITY
- };
-
- ///
- /// Specifies options for welding together vertices.
- ///
- /// D3DXWELDEPSILONSFLAGS
- [System::Flags]
- public enum class WeldFlags : System::Int32
- {
- ///
- /// Weld together all vertices that are at the same location.
- ///
- WeldAll = D3DXWELDEPSILONS_WELDALL,
-
- ///
- /// If a given vertex component is within epsilon, modify partially matched vertices so that both components are identical.
- /// If all components are equal, remove one of the vertices.
- ///
- WeldPartialMatches = D3DXWELDEPSILONS_WELDPARTIALMATCHES,
-
- ///
- /// Instructs the weld to allow only modifications to vertices and not removal. This flag is
- /// valid only if WeldPartialMatches is set. It is useful to modify vertices to be equal,
- /// but not to allow vertices to be removed.
- ///
- DoNotRemoveVertices = D3DXWELDEPSILONS_DONOTREMOVEVERTICES,
-
- ///
- /// Instructs the weld not to split vertices that are in separate attribute groups.
- ///
- DoNotSplit = D3DXWELDEPSILONS_DONOTSPLIT
- };
- }
-}
\ No newline at end of file