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