+++ /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
-#include <windows.h>\r
-#include <d3d10.h>\r
-#include <d3dx10.h>\r
-\r
-namespace SlimDX\r
-{\r
-#ifdef XMLDOCS\r
- namespace DXGI\r
- {\r
- ref class SwapChain;\r
- }\r
-#endif\r
-\r
- namespace Direct3D10\r
- {\r
-#ifdef XMLDOCS\r
- ref class Device;\r
- ref class Effect;\r
- ref class Sprite;\r
- ref class Debug;\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
- /// <summary>Optional flags that control the behavior of Asynchronous.GetData.</summary>\r
- /// <unmanaged>D3D10_ASYNC_GETDATA_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class AsynchronousFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates no specific behavior.\r
- /// </summary>\r
- None = 0,\r
-\r
- /// <summary>\r
- /// Indicates the command buffer should not be flushed.\r
- /// Note that this can cause an infinite loop if GetData() is called repeatedly until \r
- /// returning successfully: there may still be commands in the buffer than need\r
- /// to be processed in order for GetData() to return successfully. Since the buffer \r
- /// will not be flushed, those commands will not be processed and GetData() will never\r
- /// return successfully.\r
- /// </summary>\r
- DoNotFlush = D3D10_ASYNC_GETDATA_DONOTFLUSH\r
- };\r
- \r
- /// <summary>Identifies how to bind a resource to the pipeline.</summary>\r
- /// <unmanaged>D3D10_BIND_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class BindFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates no specific behavior.\r
- /// </summary>\r
- None = 0,\r
-\r
- /// <summary>\r
- /// Indicates the resource can be bound to the input-assembler stage as a vertex buffer. \r
- /// </summary>\r
- VertexBuffer = D3D10_BIND_VERTEX_BUFFER,\r
- \r
- /// <summary>\r
- /// Indicates the resource can be bound to the input-assembler stage as an index buffer \r
- /// </summary>\r
- IndexBuffer = D3D10_BIND_INDEX_BUFFER,\r
-\r
- /// <summary>\r
- /// Indicates the resource can be bound to the shader stage as a constant buffer \r
- /// </summary>\r
- ConstantBuffer = D3D10_BIND_CONSTANT_BUFFER,\r
-\r
- /// <summary>\r
- /// Indicates the resource can be bound to the shader stage as a buffer or texture. \r
- /// Note that it is invalid to specify this flag and subsequently map the resource\r
- /// using MapMode.WriteNoOverwrite.\r
- /// </summary>\r
- ShaderResource = D3D10_BIND_SHADER_RESOURCE, \r
-\r
- /// <summary>\r
- /// Indicates the resource can be bound to the stream-output stage as an output buffer. \r
- /// </summary>\r
- StreamOutput = D3D10_BIND_STREAM_OUTPUT,\r
-\r
- /// <summary>\r
- /// Indicates the resource can be bound to the output-merger stage as a render target. \r
- /// </summary>\r
- RenderTarget = D3D10_BIND_RENDER_TARGET,\r
-\r
- /// <summary>\r
- /// Indicates the resource can be bound to the output-merger stage as a depth-stencil target. \r
- /// </summary>\r
- DepthStencil = D3D10_BIND_DEPTH_STENCIL\r
- };\r
- \r
- /// <summary>RGB or alpha blending operation.</summary>\r
- /// <unmanaged>D3D10_BLEND_OP</unmanaged>\r
- public enum class BlendOperation : System::Int32\r
- {\r
- /// <summary>\r
- /// Adds the source to the destination.\r
- /// </summary>\r
- Add = D3D10_BLEND_OP_ADD,\r
- \r
- /// <summary>\r
- /// Subtracts the source from the destination.\r
- /// </summary>\r
- Subtract = D3D10_BLEND_OP_SUBTRACT,\r
- \r
- /// <summary>\r
- /// Subtracts the destination from the source.\r
- /// </summary>\r
- ReverseSubtract = D3D10_BLEND_OP_REV_SUBTRACT,\r
- \r
- /// <summary>\r
- /// Takes the lesser of the source and destination values.\r
- /// </summary>\r
- Minimum = D3D10_BLEND_OP_MIN,\r
- \r
- /// <summary>\r
- /// Takes the greater of the source and destination values.\r
- /// </summary>\r
- Maximum = D3D10_BLEND_OP_MAX\r
- };\r
- \r
- /// <summary>Blend options. A blend option identifies the data source and an optional pre-blend operation.</summary>\r
- /// <unmanaged>D3D10_BLEND</unmanaged>\r
- public enum class BlendOption : System::Int32\r
- {\r
- /// <summary>\r
- /// The source is the color (0,0,0,0) with no pre-blend.\r
- /// </summary>\r
- Zero = D3D10_BLEND_ZERO,\r
- \r
- /// <summary>\r
- /// The source is the color (1,1,1,1) with no pre-blend.\r
- /// </summary>\r
- One = D3D10_BLEND_ONE,\r
- \r
- /// <summary>\r
- /// The source is the color (RGB) from a pixel shader with no pre-blend.\r
- /// </summary>\r
- SourceColor = D3D10_BLEND_SRC_COLOR,\r
- \r
- /// <summary>\r
- /// The source is the color (RGB) from a pixel shader with an inverting pre-blend (1 - RGB).\r
- /// </summary>\r
- InverseSourceColor = D3D10_BLEND_INV_SRC_COLOR,\r
- \r
- /// <summary>\r
- /// The source is the alpha (A) from a pixel shader with no pre-blend.\r
- /// </summary>\r
- SourceAlpha = D3D10_BLEND_SRC_ALPHA,\r
- \r
- /// <summary>\r
- /// The source is the alpha (A) from a pixel shader with an inverting pre-blend (1 - A).\r
- /// </summary>\r
- InverseSourceAlpha = D3D10_BLEND_INV_SRC_ALPHA,\r
- \r
- /// <summary>\r
- /// The source is the alpha (A) from a rendertarget with no pre-blend.\r
- /// </summary>\r
- DestinationAlpha = D3D10_BLEND_DEST_ALPHA,\r
- \r
- /// <summary>\r
- /// The source is the alpha (A) from a rendertarget with an inverting pre-blend (1 - A).\r
- /// </summary>\r
- InverseDestinationAlpha = D3D10_BLEND_INV_DEST_ALPHA,\r
- \r
- /// <summary>\r
- /// The source is the color (RGB) from a rendertarget with no pre-blend.\r
- /// </summary>\r
- DestinationColor = D3D10_BLEND_DEST_COLOR,\r
- \r
- /// <summary>\r
- /// The source is the color (RGB) from a rendertarget with an inverting pre-blend (1 - A).\r
- /// </summary>\r
- InverseDestinationColor = D3D10_BLEND_INV_DEST_COLOR,\r
- \r
- /// <summary>\r
- /// The source is the alpha (A) from a render target with a saturation pre-blend (clamping to 1 or less).\r
- /// </summary>\r
- SourceAlphaSaturate = D3D10_BLEND_SRC_ALPHA_SAT,\r
- \r
- /// <summary>\r
- /// The source is the blend factor (F) from the current blend state with no pre-blend operation.\r
- /// </summary>\r
- BlendFactor = D3D10_BLEND_BLEND_FACTOR,\r
- \r
- /// <summary>\r
- /// The source is the blend factor (F) from the current blend state with an inverting pre-blend (1 - F).\r
- /// </summary>\r
- InverseBlendFactor = D3D10_BLEND_INV_BLEND_FACTOR,\r
- \r
- /// <summary>\r
- /// The sources are both color (RGB) outputs from a pixel shader. There is no pre-blend operation. This option\r
- /// allows for dual-source blending.\r
- /// </summary>\r
- SecondarySourceColor = D3D10_BLEND_SRC1_COLOR,\r
- \r
- /// <summary>\r
- /// The sources are both color (RGB) outputs from a pixel shader. There is an inverting pre-blend (1 - RGB). This option\r
- /// allows for dual-source blending.\r
- /// </summary>\r
- InverseSecondarySourceColor = D3D10_BLEND_INV_SRC1_COLOR,\r
- \r
- /// <summary>\r
- /// The sources are both alpha (A) outputs from a pixel shader. There is no pre-blend. This option\r
- /// allows for dual-source blending.\r
- /// </summary>\r
- SecondarySourceAlpha = D3D10_BLEND_SRC1_ALPHA,\r
- \r
- /// <summary>\r
- /// The sources are both alpha (A) outputs from a pixel shader. There is an inverting pre-blend (1 - A). This option\r
- /// allows for dual-source blending.\r
- /// </summary>\r
- InverseSecondarySourceAlpha = D3D10_BLEND_INV_SRC1_ALPHA\r
- };\r
-\r
- /// <summary>\r
- /// The following flags are used to specify which channels in a texture to operate on.\r
- /// </summary>\r
- /// <unmanaged>D3DX10_CHANNEL_FLAG</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 = D3DX10_CHANNEL_RED,\r
-\r
- /// <summary>\r
- /// Indicates the blue channel should be used.\r
- /// </summary>\r
- Blue = D3DX10_CHANNEL_BLUE,\r
-\r
- /// <summary>\r
- /// Indicates the green channel should be used.\r
- /// </summary>\r
- Green = D3DX10_CHANNEL_GREEN,\r
-\r
- /// <summary>\r
- /// Indicates the alpha channel should be used.\r
- /// </summary>\r
- Alpha = D3DX10_CHANNEL_ALPHA,\r
-\r
- /// <summary>\r
- /// Indicates the luminances of the red, green, and blue channels should be used.\r
- /// </summary>\r
- Luminance = D3DX10_CHANNEL_LUMINANCE\r
- };\r
- \r
- /// <summary>Identifies mask values for writing to a render target.</summary>\r
- /// <unmanaged>D3D10_COLOR_WRITE_ENABLE</unmanaged>\r
- [System::Flags]\r
- public enum class ColorWriteMaskFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates that writes to the red component should be enabled.\r
- /// </summary>\r
- Red = D3D10_COLOR_WRITE_ENABLE_RED,\r
- \r
- /// <summary>\r
- /// Indicates that writes to the green component should be enabled.\r
- /// </summary>\r
- Green = D3D10_COLOR_WRITE_ENABLE_GREEN,\r
- \r
- /// <summary>\r
- /// Indicates that writes to the blue component should be enabled.\r
- /// </summary>\r
- Blue = D3D10_COLOR_WRITE_ENABLE_BLUE,\r
- \r
- /// <summary>\r
- /// Indicates that writes to the alpha component should be enabled.\r
- /// </summary>\r
- Alpha = D3D10_COLOR_WRITE_ENABLE_ALPHA,\r
- \r
- /// <summary>\r
- /// Indicates that writes to all components should be enabled.\r
- /// </summary>\r
- All = D3D10_COLOR_WRITE_ENABLE_ALL\r
- };\r
- \r
- /// <summary>Comparison options.</summary>\r
- /// <unmanaged>D3D10_COMPARISON_FUNC</unmanaged>\r
- public enum class Comparison : System::Int32\r
- {\r
- /// <summary>\r
- /// The test never passes.\r
- /// </summary>\r
- Never = D3D10_COMPARISON_NEVER,\r
- \r
- /// <summary>\r
- /// The test passes if (source < destination).\r
- /// </summary>\r
- Less = D3D10_COMPARISON_LESS,\r
- \r
- /// <summary>\r
- /// The test passes if (source == destination).\r
- /// </summary>\r
- Equal = D3D10_COMPARISON_EQUAL,\r
- \r
- /// <summary>\r
- /// The test passes if (source <= destination).\r
- /// </summary>\r
- LessEqual = D3D10_COMPARISON_LESS_EQUAL,\r
- \r
- /// <summary>\r
- /// The test passes if (source > destination).\r
- /// </summary>\r
- Greater = D3D10_COMPARISON_GREATER,\r
- \r
- /// <summary>\r
- /// The test passes if (source != destination).\r
- /// </summary>\r
- NotEqual = D3D10_COMPARISON_NOT_EQUAL,\r
- \r
- /// <summary>\r
- /// The test passes if (source >= destination).\r
- /// </summary>\r
- GreaterEqual = D3D10_COMPARISON_GREATER_EQUAL,\r
- \r
- /// <summary>\r
- /// The test always passes.\r
- /// </summary>\r
- Always = D3D10_COMPARISON_ALWAYS\r
- };\r
- \r
- /// <summary>Performance counter types.</summary>\r
- /// <unmanaged>D3D10_COUNTER</unmanaged>\r
- public enum class CounterKind : System::Int32\r
- {\r
- /// <summary>\r
- /// The counter for the percentage of time the GPU is idle.\r
- /// </summary>\r
- Idle = D3D10_COUNTER_GPU_IDLE,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the GPU is processing vertices.\r
- /// </summary>\r
- VertexProcessing = D3D10_COUNTER_VERTEX_PROCESSING,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the GPU is processing geometry.\r
- /// </summary>\r
- GeometryProcessing = D3D10_COUNTER_GEOMETRY_PROCESSING,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the GPU is processing pixels. \r
- /// </summary>\r
- PixelProcessing = D3D10_COUNTER_PIXEL_PROCESSING,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the GPU is performing processing that is not vertex, pixel or geometry processing.\r
- /// </summary>\r
- OtherProcessing = D3D10_COUNTER_OTHER_GPU_PROCESSING,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of bandwidth used on a host adapter.\r
- /// </summary>\r
- HostAdapterBandwidth = D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of bandwidth used by local video memory.\r
- /// </summary>\r
- LocalVideoMemoryBandwidth = D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of throughput for vertices.\r
- /// </summary>\r
- VertexThroughput = D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of throughput used for triangle setup.\r
- /// </summary>\r
- TriangleSetupThroughput = D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of throughput used for fillrate.\r
- /// </summary>\r
- FillRateThroughput = D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the vertex shader spends sampling resources.\r
- /// </summary>\r
- VertexShaderMemoryLimited = D3D10_COUNTER_VS_MEMORY_LIMITED,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the vertex shader spends performing computations.\r
- /// </summary>\r
- VertexShaderComputationLimited = D3D10_COUNTER_VS_COMPUTATION_LIMITED,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the geometry shader spends sampling resources.\r
- /// </summary>\r
- GeometryShaderMemoryLimited = D3D10_COUNTER_GS_MEMORY_LIMITED,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the geometry shader spends performing computations.\r
- /// </summary>\r
- GeometryShaderComputationLimited = D3D10_COUNTER_GS_COMPUTATION_LIMITED,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the pixel shader spends sampling resources.\r
- /// </summary>\r
- PixelShaderMemoryLimited = D3D10_COUNTER_PS_MEMORY_LIMITED,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of time the pixel shader spends performing computations.\r
- /// </summary>\r
- PixelShaderComputationLimited = D3D10_COUNTER_PS_COMPUTATION_LIMITED,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of vertex data that was read from the cache.\r
- /// </summary>\r
- PostTransformCacheHitRate = D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,\r
- \r
- /// <summary>\r
- /// The counter for the percentage of texel data that was read from the cache.\r
- /// </summary>\r
- TextureCacheHitRate = D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE\r
- };\r
- \r
- /// <summary>Data type of a performance counter.</summary>\r
- /// <unmanaged>D3D10_COUNTER_TYPE</unmanaged>\r
- public enum class CounterType : System::Int32\r
- {\r
- /// <summary>\r
- /// 32-bit floating point.\r
- /// </summary>\r
- Float32 = D3D10_COUNTER_TYPE_FLOAT32,\r
- \r
- /// <summary>\r
- /// 16-bit unsigned integer.\r
- /// </summary>\r
- UnsignedInt16 = D3D10_COUNTER_TYPE_UINT16,\r
- \r
- /// <summary>\r
- /// 32-bit unsigned integer.\r
- /// </summary>\r
- UnsignedInt32 = D3D10_COUNTER_TYPE_UINT32, \r
- \r
- /// <summary>\r
- /// 64-bit unsigned integer.\r
- /// </summary>\r
- UnsignedInt64 = D3D10_COUNTER_TYPE_UINT64\r
- };\r
- \r
- /// <summary>Specifies the types of CPU access allowed for a resource.</summary>\r
- /// <unmanaged>D3D10_CPU_ACCESS_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class CpuAccessFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// No access is required on the CPU.\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Write access is required on the CPU.\r
- /// </summary>\r
- Write = D3D10_CPU_ACCESS_WRITE,\r
- \r
- /// <summary>\r
- /// Read access is required on the CPU.\r
- /// </summary>\r
- Read = D3D10_CPU_ACCESS_READ\r
- };\r
- \r
- /// <summary>Indicates triangles facing a particular direction are not drawn.</summary>\r
- /// <unmanaged>D3D10_CULL_MODE</unmanaged>\r
- public enum class CullMode : System::Int32 \r
- {\r
- /// <summary>\r
- /// Do not cull; all triangles are rendered.\r
- /// </summary>\r
- None = D3D10_CULL_NONE,\r
- \r
- /// <summary>\r
- /// Cull triangles that are front-facing.\r
- /// </summary>\r
- Front = D3D10_CULL_FRONT,\r
- \r
- /// <summary>\r
- /// Cull triangles that are back-facing.\r
- /// </summary>\r
- Back = D3D10_CULL_BACK\r
- };\r
- \r
- /// <summary>Flags controlling which debug features are enabled.</summary>\r
- /// <unmanaged href="bb173520">D3D10_DEBUG_FEATURE</unmanaged>\r
- [System::Flags]\r
- public enum class DebugFeatureFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// The application will wait for the GPU to complete the render operation before continuing.\r
- /// </summary>\r
- FinishPerRender = D3D10_DEBUG_FEATURE_FINISH_PER_RENDER_OP,\r
- \r
- /// <summary>\r
- /// The runtime will call <see cref="SlimDX::Direct3D10::Device">Device.Flush</see> after the render operation.\r
- /// </summary>\r
- FlushPerRender = D3D10_DEBUG_FEATURE_FLUSH_PER_RENDER_OP,\r
- \r
- /// <summary>\r
- /// The runtime will call <see cref="SlimDX::DXGI::SwapChain">SwapChain.Present</see> after the render operation.\r
- /// Presentation of buffers will occur according to the settings specified by the \r
- /// <see cref="SlimDX::Direct3D10::Debug">Debug.SwapChain</see> and <see cref="SlimDX::Direct3D10::Debug">Debug.PresentDelay</see> properties.\r
- /// </summary>\r
- PresentPerRender = D3D10_DEBUG_FEATURE_PRESENT_PER_RENDER_OP\r
- };\r
- \r
- /// <summary>Specifies which parts of the depth stencil buffer to clear.</summary>\r
- /// <unmanaged>D3D10_CLEAR_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class DepthStencilClearFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates the depth buffer should be cleared.\r
- /// </summary>\r
- Depth = D3D10_CLEAR_DEPTH,\r
- \r
- /// <summary>\r
- /// Indicates the stencil buffer should be cleared.\r
- /// </summary>\r
- Stencil = D3D10_CLEAR_STENCIL\r
- };\r
- \r
- /// <summary>Specified the dimension (and access methodology) for depth-stencil resource views.</summary>\r
- /// <unmanaged>D3D10_DSV_DIMENSION</unmanaged>\r
- public enum class DepthStencilViewDimension : System::Int32\r
- {\r
- /// <summary>\r
- /// The resource will be accessed according to its type, determined by the actual resource specified\r
- /// during the creation of the view.\r
- /// </summary>\r
- Unknown = D3D10_DSV_DIMENSION_UNKNOWN,\r
- \r
- /// <summary>\r
- /// The resource will be accessed as a 1D texture.\r
- /// </summary>\r
- Texture1D = D3D10_DSV_DIMENSION_TEXTURE1D,\r
- \r
- /// <summary>\r
- /// The resource will be accessed as an array of 1D textures.\r
- /// </summary>\r
- Texture1DArray = D3D10_DSV_DIMENSION_TEXTURE1DARRAY,\r
- \r
- /// <summary>\r
- /// The resource will be accessed as a 2D texture.\r
- /// </summary>\r
- Texture2D = D3D10_DSV_DIMENSION_TEXTURE2D,\r
- \r
- /// <summary>\r
- /// The resource will be accessed as an array of 2D textures.\r
- /// </summary>\r
- Texture2DArray = D3D10_DSV_DIMENSION_TEXTURE2DARRAY,\r
- \r
- /// <summary>\r
- /// The resource will be accessed as a 2D texture with multisampling support.\r
- /// </summary>\r
- Texture2DMultisampled = D3D10_DSV_DIMENSION_TEXTURE2DMS,\r
- \r
- /// <summary>\r
- /// The resource will be accessed as an array of 2D textures with multisampling support.\r
- /// </summary>\r
- Texture2DMultisampledArray = D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY\r
- };\r
- \r
- /// <summary>Identifies mask values for writing to a depth-stencil buffer.</summary>\r
- /// <unmanaged>D3D10_DEPTH_WRITE_MASK</unmanaged>\r
- public enum class DepthWriteMask : System::Int32\r
- {\r
- /// <summary>\r
- /// Disables all writes to the depth-stencil buffer.\r
- /// </summary>\r
- Zero = D3D10_DEPTH_WRITE_MASK_ZERO,\r
- \r
- /// <summary>\r
- /// Enables all writes to the depth-stencil buffer.\r
- /// </summary>\r
- All = D3D10_DEPTH_WRITE_MASK_ALL\r
- };\r
- \r
- /// <summary>Flags controlling the creation of a device.</summary>\r
- /// <unmanaged>D3D10_CREATE_DEVICE_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class DeviceCreationFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates no specific behavior.\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Indicates that a single-threaded device should be created; by default, Direct3D 10 devices are\r
- /// thread-safe. Specifying this flag causes thread-safety to be disabled.\r
- /// </summary>\r
- SingleThreaded = D3D10_CREATE_DEVICE_SINGLETHREADED,\r
- \r
- /// <summary>\r
- /// Indicates that the device should support the debug layer.\r
- /// </summary>\r
- Debug = D3D10_CREATE_DEVICE_DEBUG,\r
- \r
- /// <summary>\r
- /// Indicates that both a REF and HAL device should be created, allowing the application to toggle\r
- /// between them.\r
- /// </summary>\r
- SwitchToRef = D3D10_CREATE_DEVICE_SWITCH_TO_REF,\r
- \r
- /// <summary>\r
- /// Reserved. Do not use.\r
- /// </summary>\r
- PreventThreadingOptimizations = D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS,\r
-\r
- AllowNullFromMap = D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP,\r
-\r
- BgraSupport = D3D10_CREATE_DEVICE_BGRA_SUPPORT\r
- };\r
- \r
- /// <summary>Specifies a device driver type.</summary>\r
- /// <unmanaged>D3D10_DRIVER_TYPE</unmanaged>\r
- public enum class DriverType : System::Int32\r
- { \r
- /// <summary>\r
- /// A hardware (HAL) device.\r
- /// </summary>\r
- Hardware = D3D10_DRIVER_TYPE_HARDWARE,\r
- \r
- /// <summary>\r
- /// A software reference (REF) device.\r
- /// </summary>\r
- Reference = D3D10_DRIVER_TYPE_REFERENCE,\r
- \r
- /// <summary>\r
- /// A null device (a REF device with no rendering capability).\r
- /// </summary>\r
- Null = D3D10_DRIVER_TYPE_NULL,\r
- \r
- /// <summary>\r
- /// Reserved. Do not use.\r
- /// </summary>\r
- Software = D3D10_DRIVER_TYPE_SOFTWARE,\r
-\r
- /// <summary>\r
- /// A WARP high performance software rasterizer.\r
- /// </summary>\r
- Warp = D3D10_DRIVER_TYPE_WARP,\r
- };\r
-\r
- /// <summary>Specifies detailed information about <see cref="SlimDX::Direct3D10::Effect">Effect</see> variables.</summary>\r
- /// <unmanaged>D3D10_EFFECT_VARIABLE</unmanaged>\r
- [System::Flags]\r
- public enum class EffectVariableFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Standard effect variable.\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Indicates that the variable is an annotation or global.\r
- /// </summary>\r
- Annotation = D3D10_EFFECT_VARIABLE_ANNOTATION,\r
- \r
- /// <summary>\r
- /// Indicates that the variable or constant buffer resides in an effect pool. \r
- /// </summary>\r
- Pooled = D3D10_EFFECT_VARIABLE_POOLED,\r
- \r
- /// <summary>\r
- /// Indicates the variable has been explicitly bound using the register keyword in the effect code.\r
- /// </summary>\r
- ExplicitBindPoint = D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT,\r
- };\r
- \r
- /// <summary>Determines the fill mode to use when rendering triangles.</summary>\r
- /// <unmanaged>D3D10_FILL_MODE</unmanaged>\r
- public enum class FillMode : System::Int32\r
- {\r
- /// <summary>\r
- /// Draw lines connecting the vertices. Adjacent vertices are not drawn.\r
- /// </summary>\r
- Wireframe = D3D10_FILL_WIREFRAME,\r
- \r
- /// <summary>\r
- /// Fill the triangles formed by the vertices. Adjacent vertices are not drawn.\r
- /// </summary>\r
- Solid = D3D10_FILL_SOLID\r
- };\r
- \r
- /// <summary>Specifies filtering options used during texture sampling.</summary>\r
- /// <unmanaged>D3D10_FILTER</unmanaged>\r
- public enum class Filter : System::Int32\r
- {\r
- /// <summary>\r
- /// Use point sampling for minification, magnification, and mip-level sampling.\r
- /// </summary>\r
- MinMagMipPoint = D3D10_FILTER_MIN_MAG_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.\r
- /// </summary>\r
- MinMagPointMipLinear = D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling.\r
- /// </summary>\r
- MinPointMagLinearMipPoint = D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use point sampling for minification; use linear interpolation for magnification and mip-level sampling.\r
- /// </summary>\r
- MinPointMagMipLinear = D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification; use point sampling for magnification and mip-level sampling.\r
- /// </summary>\r
- MinLinearMagMipPoint = D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling.\r
- /// </summary>\r
- MinLinearMagPointMipLinear = D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.\r
- /// </summary>\r
- MinMagLinearMipPoint = D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification, magnification, and mip-level sampling.\r
- /// </summary>\r
- MinMagMipLinear = D3D10_FILTER_MIN_MAG_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use anisotropic interpolation for minification, magnification, and mip-level sampling.\r
- /// </summary>\r
- Anisotropic = D3D10_FILTER_ANISOTROPIC,\r
- \r
- /// <summary>\r
- /// Use point sampling for minification, magnification, and mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinMagMipPoint = D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.\r
- /// Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinMagPointMipLinear = D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinPointMagLinearMipPoint = D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use point sampling for minification; use linear interpolation for magnification and mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinPointMagMipLinear = D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification; use point sampling for magnification and mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinLinearMagMipPoint = D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinLinearMagPointMipLinear = D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification and magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinMagLinearMipPoint = D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT,\r
- \r
- /// <summary>\r
- /// Use linear interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonMinMagMipLinear = D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR,\r
- \r
- /// <summary>\r
- /// Use anisotropic interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.\r
- /// </summary>\r
- ComparisonAnisotropic = D3D10_FILTER_COMPARISON_ANISOTROPIC,\r
- \r
- /// <summary>\r
- /// For use with pixel shaders utilizing textures in the R1_UNorm format.\r
- /// </summary>\r
- Texture1Bit = D3D10_FILTER_TEXT_1BIT\r
- };\r
- \r
- /// <summary>Specifies possible texture filtering flags.</summary>\r
- /// <unmanaged>D3DX10_FILTER_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class FilterFlags : System::Int32\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 = D3DX10_FILTER_NONE,\r
- \r
- /// <summary>\r
- /// Each destination pixel is computed by sampling the nearest pixel from the source image.\r
- /// </summary>\r
- Point = D3DX10_FILTER_POINT,\r
- \r
- /// <summary>\r
- /// Each destination pixel is computed by sampling the four nearest pixels from the source image. This filter\r
- /// works best when the scale on both axes is less than two.\r
- /// </summary>\r
- Linear = D3DX10_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 = D3DX10_FILTER_TRIANGLE,\r
- \r
- /// <summary>\r
- /// Each pixel is computed by averaging a 2x2(x2) box of pixels from the source image. This filter works only when the\r
- /// dimensions of the destination are half those of the source, as is the case with mipmaps.\r
- /// </summary>\r
- Box = D3DX10_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 = D3DX10_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 = D3DX10_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
- MirrowW = D3DX10_FILTER_MIRROR_W,\r
- \r
- /// <summary>\r
- /// Combines the MirrorU, MirrorV, and MirrorW flags.\r
- /// </summary>\r
- Mirror = D3DX10_FILTER_MIRROR,\r
- \r
- /// <summary>\r
- /// The resulting image must be dithered using a 4x4 ordered dither algorithm. This happens when converting from one format to another.\r
- /// </summary>\r
- Dither = D3DX10_FILTER_DITHER,\r
- \r
- /// <summary>\r
- /// Do diffuse dithering on the image when changing from one format to another.\r
- /// </summary>\r
- DitherDiffusion = D3DX10_FILTER_DITHER_DIFFUSION,\r
- \r
- /// <summary>\r
- /// Input data is in standard RGB (sRGB) color space.\r
- /// </summary>\r
- StandardRgbIn = D3DX10_FILTER_SRGB_IN,\r
- \r
- /// <summary>\r
- /// Output data is in standard RGB (sRGB) color space.\r
- /// </summary>\r
- StandardRgbOut = D3DX10_FILTER_SRGB_OUT,\r
- \r
- /// <summary>\r
- /// Combines the StandardRgbIn and StandardRgbOut flags.\r
- /// </summary>\r
- StandardRgb = D3DX10_FILTER_SRGB,\r
- };\r
- \r
- /// <summary>\r
- /// Defines possible character sets for fonts.\r
- /// </summary>\r
- /// <unmanaged>CHARSET</unmanaged>\r
- public enum class FontCharacterSet : System::Int32\r
- {\r
- /// <summary>\r
- /// The ANSI character set.\r
- /// </summary>\r
- Ansi = ANSI_CHARSET,\r
-\r
- /// <summary>\r
- /// The default system character set.\r
- /// </summary>\r
- Default = DEFAULT_CHARSET,\r
-\r
- /// <summary>\r
- /// The symbol character set.\r
- /// </summary>\r
- Symbol = SYMBOL_CHARSET,\r
-\r
- /// <summary>\r
- /// The ShiftJIS character set.\r
- /// </summary>\r
- ShiftJIS = SHIFTJIS_CHARSET,\r
-\r
- /// <summary>\r
- /// The Hangul character set.\r
- /// </summary>\r
- Hangul = HANGUL_CHARSET,\r
-\r
- /// <summary>\r
- /// The GB2312 character set.\r
- /// </summary>\r
- GB2312 = GB2312_CHARSET,\r
-\r
- /// <summary>\r
- /// The Chinese character set.\r
- /// </summary>\r
- ChineseBig5 = CHINESEBIG5_CHARSET,\r
-\r
- /// <summary>\r
- /// The OEM character set.\r
- /// </summary>\r
- Oem = OEM_CHARSET,\r
-\r
- /// <summary>\r
- /// The Johab character set.\r
- /// </summary>\r
- Johab = JOHAB_CHARSET,\r
-\r
- /// <summary>\r
- /// The Hebrew character set.\r
- /// </summary>\r
- Hebrew = HEBREW_CHARSET,\r
-\r
- /// <summary>\r
- /// The Arabic character set.\r
- /// </summary>\r
- Arabic = ARABIC_CHARSET,\r
-\r
- /// <summary>\r
- /// The Greek character set.\r
- /// </summary>\r
- Greek = GREEK_CHARSET,\r
-\r
- /// <summary>\r
- /// The Turkish character set.\r
- /// </summary>\r
- Turkish = TURKISH_CHARSET,\r
-\r
- /// <summary>\r
- /// The Vietnamese character set.\r
- /// </summary>\r
- Vietnamese = VIETNAMESE_CHARSET,\r
-\r
- /// <summary>\r
- /// The Thai character set.\r
- /// </summary>\r
- Thai = THAI_CHARSET,\r
-\r
- /// <summary>\r
- /// The East Europe character set.\r
- /// </summary>\r
- EastEurope = EASTEUROPE_CHARSET,\r
-\r
- /// <summary>\r
- /// The Russian character set.\r
- /// </summary>\r
- Russian = RUSSIAN_CHARSET,\r
-\r
- /// <summary>\r
- /// The Baltic character set.\r
- /// </summary>\r
- Baltic = BALTIC_CHARSET,\r
-\r
- /// <summary>\r
- /// The Mac character set.\r
- /// </summary>\r
- Mac = MAC_CHARSET\r
- };\r
-\r
- /// <summary>\r
- /// Specifies formatting options for text rendering.\r
- /// </summary>\r
- /// <unmanaged href="bb773199">DT</unmanaged>\r
- [System::Flags]\r
- public enum class FontDrawFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Align the text to the top.\r
- /// </summary>\r
- Top = DT_TOP,\r
-\r
- /// <summary>\r
- /// Align the text to the left.\r
- /// </summary>\r
- Left = DT_LEFT,\r
-\r
- /// <summary>\r
- /// Align the text to the center.\r
- /// </summary>\r
- Center = DT_CENTER,\r
-\r
- /// <summary>\r
- /// Align the text to the right.\r
- /// </summary>\r
- Right = DT_RIGHT,\r
-\r
- /// <summary>\r
- /// Vertically align the text to the center.\r
- /// </summary>\r
- VerticalCenter = DT_VCENTER,\r
-\r
- /// <summary>\r
- /// Align the text to the bottom.\r
- /// </summary>\r
- Bottom = DT_BOTTOM,\r
-\r
- /// <summary>\r
- /// Allow word breaks.\r
- /// </summary>\r
- WordBreak = DT_WORDBREAK,\r
-\r
- /// <summary>\r
- /// Force all text to a single line.\r
- /// </summary>\r
- SingleLine = DT_SINGLELINE,\r
-\r
- /// <summary>\r
- /// Expand tab characters.\r
- /// </summary>\r
- ExpandTabs = DT_EXPANDTABS,\r
-\r
- /// <summary>\r
- /// Don't clip the text.\r
- /// </summary>\r
- NoClip = DT_NOCLIP,\r
-\r
- /// <summary>\r
- /// Rendering the text in right-to-left reading order.\r
- /// </summary>\r
- RtlReading = DT_RTLREADING,\r
- };\r
- \r
- /// <summary>\r
- /// Defines pitch and family settings for fonts.\r
- /// </summary>\r
- /// <unmanaged href="ms901140">(various font constants)</unmanaged>\r
- [System::Flags]\r
- public enum class FontPitchAndFamily : System::Int32\r
- {\r
- /// <summary>\r
- /// Default pitch.\r
- /// </summary>\r
- Default = DEFAULT_PITCH,\r
-\r
- /// <summary>\r
- /// Fixed pitch.\r
- /// </summary>\r
- Fixed = FIXED_PITCH,\r
-\r
- /// <summary>\r
- /// Variable pitch.\r
- /// </summary>\r
- Variable = VARIABLE_PITCH,\r
-\r
- /// <summary>\r
- /// Mono pitch.\r
- /// </summary>\r
- Mono = MONO_FONT,\r
-\r
- /// <summary>\r
- /// The font family doesn't matter.\r
- /// </summary>\r
- DontCare = FF_DONTCARE,\r
-\r
- /// <summary>\r
- /// Use the Roman family.\r
- /// </summary>\r
- Roman = FF_ROMAN,\r
-\r
- /// <summary>\r
- /// Use the Swiss family.\r
- /// </summary>\r
- Swiss = FF_SWISS,\r
-\r
- /// <summary>\r
- /// Use the Modern family.\r
- /// </summary>\r
- Modern = FF_MODERN,\r
-\r
- /// <summary>\r
- /// Use the Script family.\r
- /// </summary>\r
- Script = FF_SCRIPT,\r
-\r
- /// <summary>\r
- /// Use the Decorative family.\r
- /// </summary>\r
- Decorative = FF_DECORATIVE,\r
- };\r
-\r
- /// <summary>\r
- /// Defines precision levels for font rendering.\r
- /// </summary>\r
- /// <unmanaged href="cc215248">OutPrecision</unmanaged>\r
- public enum class FontPrecision : System::Int32\r
- {\r
- /// <summary>\r
- /// Default precision.\r
- /// </summary>\r
- Default = OUT_DEFAULT_PRECIS,\r
-\r
- /// <summary>\r
- /// String-level precision.\r
- /// </summary>\r
- String = OUT_STRING_PRECIS,\r
-\r
- /// <summary>\r
- /// Character-level precision.\r
- /// </summary>\r
- Character = OUT_CHARACTER_PRECIS,\r
-\r
- /// <summary>\r
- /// Stroke-level precision.\r
- /// </summary>\r
- Stroke = OUT_STROKE_PRECIS,\r
-\r
- /// <summary>\r
- /// TrueType precision.\r
- /// </summary>\r
- TrueType = OUT_TT_PRECIS,\r
-\r
- /// <summary>\r
- /// Device precision.\r
- /// </summary>\r
- Device = OUT_DEVICE_PRECIS,\r
-\r
- /// <summary>\r
- /// Raster precision.\r
- /// </summary>\r
- Raster = OUT_RASTER_PRECIS,\r
-\r
- /// <summary>\r
- /// TrueType only precision.\r
- /// </summary>\r
- TrueTypeOnly = OUT_TT_ONLY_PRECIS,\r
-\r
- /// <summary>\r
- /// Outline precision.\r
- /// </summary>\r
- Outline = OUT_OUTLINE_PRECIS,\r
-\r
- /// <summary>\r
- /// Screen outline precision.\r
- /// </summary>\r
- ScreenOutline = OUT_SCREEN_OUTLINE_PRECIS,\r
-\r
- /// <summary>\r
- /// PostScript only precision.\r
- /// </summary>\r
- PostScriptOnly = OUT_PS_ONLY_PRECIS,\r
- };\r
-\r
- /// <summary>\r
- /// Specifies quality options for font rendering.\r
- /// </summary>\r
- /// <unmanaged href="ms901140">QUALITY</unmanaged>\r
- public enum class FontQuality : System::Int32\r
- {\r
- /// <summary>\r
- /// Default quality levels.\r
- /// </summary>\r
- Default = DEFAULT_QUALITY,\r
-\r
- /// <summary>\r
- /// Draft quality.\r
- /// </summary>\r
- Draft = DRAFT_QUALITY,\r
-\r
- /// <summary>\r
- /// Proof quality.\r
- /// </summary>\r
- Proof = PROOF_QUALITY,\r
-\r
- /// <summary>\r
- /// Non-antialiased quality.\r
- /// </summary>\r
- NonAntialiased = NONANTIALIASED_QUALITY,\r
-\r
- /// <summary>\r
- /// Antialiased quality.\r
- /// </summary>\r
- Antialiased = ANTIALIASED_QUALITY,\r
-\r
- /// <summary>\r
- /// Clear type quality.\r
- /// </summary>\r
- ClearType = CLEARTYPE_QUALITY,\r
-\r
- /// <summary>\r
- /// Clear type natural quality.\r
- /// </summary>\r
- ClearTypeNatural = CLEARTYPE_NATURAL_QUALITY,\r
- };\r
-\r
- /// <summary>\r
- /// Specifies weights for font rendering.\r
- /// </summary>\r
- /// <unmanaged href="ms901140">FW</unmanaged>\r
- public enum class FontWeight : System::Int32\r
- {\r
- /// <summary>\r
- /// The font weight doesn't matter.\r
- /// </summary>\r
- DoNotCare = FW_DONTCARE,\r
-\r
- /// <summary>\r
- /// Make the font thin.\r
- /// </summary>\r
- Thin = FW_THIN,\r
-\r
- /// <summary>\r
- /// Make the font extra light.\r
- /// </summary>\r
- ExtraLight = FW_EXTRALIGHT,\r
-\r
- /// <summary>\r
- /// Make the font ultra light.\r
- /// </summary>\r
- UltraLight = FW_ULTRALIGHT,\r
-\r
- /// <summary>\r
- /// Make the font light.\r
- /// </summary>\r
- Light = FW_LIGHT,\r
-\r
- /// <summary>\r
- /// Use a normal weight.\r
- /// </summary>\r
- Normal = FW_NORMAL,\r
-\r
- /// <summary>\r
- /// Use a regular weight.\r
- /// </summary>\r
- Regular = FW_REGULAR,\r
-\r
- /// <summary>\r
- /// Use a medium weight.\r
- /// </summary>\r
- Medium = FW_MEDIUM,\r
-\r
- /// <summary>\r
- /// Use a semi-bold weight.\r
- /// </summary>\r
- SemiBold = FW_SEMIBOLD,\r
-\r
- /// <summary>\r
- /// Use a demi-bold weight.\r
- /// </summary>\r
- DemiBold = FW_DEMIBOLD,\r
-\r
- /// <summary>\r
- /// Use a bold weight.\r
- /// </summary>\r
- Bold = FW_BOLD,\r
-\r
- /// <summary>\r
- /// Use an extra bold weight.\r
- /// </summary>\r
- ExtraBold = FW_EXTRABOLD,\r
-\r
- /// <summary>\r
- /// Use an ultra bold weight.\r
- /// </summary>\r
- UltraBold = FW_ULTRABOLD,\r
-\r
- /// <summary>\r
- /// Use a heavy weight.\r
- /// </summary>\r
- Heavy = FW_HEAVY,\r
-\r
- /// <summary>\r
- /// Use a black weight.\r
- /// </summary>\r
- Black = FW_BLACK,\r
- };\r
- \r
- /// <summary>Identifies which resources are supported for a given format and given device.</summary>\r
- /// <unmanaged>D3D10_FORMAT_SUPPORT</unmanaged>\r
- [System::Flags]\r
- public enum class FormatSupport : System::Int32\r
- {\r
- /// <summary>\r
- /// No features are supported.\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Buffer resources are supported.\r
- /// </summary>\r
- Buffer = D3D10_FORMAT_SUPPORT_BUFFER,\r
- \r
- /// <summary>\r
- /// Vertex buffers are supported.\r
- /// </summary>\r
- VertexBuffer = D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER,\r
- \r
- /// <summary>\r
- /// Index buffers are supported.\r
- /// </summary>\r
- IndexBuffer = D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER,\r
- \r
- /// <summary>\r
- /// Streaming output buffers are supported.\r
- /// </summary>\r
- StreamOutputBuffer = D3D10_FORMAT_SUPPORT_SO_BUFFER,\r
- \r
- /// <summary>\r
- /// 1D textures are supported.\r
- /// </summary>\r
- Texture1D = D3D10_FORMAT_SUPPORT_TEXTURE1D,\r
- \r
- /// <summary>\r
- /// 2D textures are supported.\r
- /// </summary>\r
- Texture2D = D3D10_FORMAT_SUPPORT_TEXTURE2D,\r
- \r
- /// <summary>\r
- /// 3D textures are supported.\r
- /// </summary>\r
- Texture3D = D3D10_FORMAT_SUPPORT_TEXTURE3D,\r
- \r
- /// <summary>\r
- /// Cube textures are supported.\r
- /// </summary>\r
- TextureCube = D3D10_FORMAT_SUPPORT_TEXTURECUBE,\r
- \r
- /// <summary>\r
- /// The intrinsic HLSL "load" function is supported.\r
- /// </summary>\r
- ShaderLoadIntrinsic = D3D10_FORMAT_SUPPORT_SHADER_LOAD,\r
- \r
- /// <summary>\r
- /// The intrinsic HLSL "sample" function is supported.\r
- /// </summary>\r
- ShaderSampleIntrinsic = D3D10_FORMAT_SUPPORT_SHADER_SAMPLE,\r
- \r
- /// <summary>\r
- /// The intrinsic HLSL "samplecmp" and "samplecmplevelzero" are supported.\r
- /// </summary>\r
- ShaderSampleComparisonIntrinsic = D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON,\r
- \r
- /// <summary>\r
- /// Mipmaps are supported.\r
- /// </summary>\r
- MipMap = D3D10_FORMAT_SUPPORT_MIP,\r
- \r
- /// <summary>\r
- /// Automatic generation of mipmaps is supported.\r
- /// </summary>\r
- MipMapAutoGeneration = D3D10_FORMAT_SUPPORT_MIP_AUTOGEN,\r
- \r
- /// <summary>\r
- /// Rendertargets are supported.\r
- /// </summary>\r
- RenderTarget = D3D10_FORMAT_SUPPORT_RENDER_TARGET,\r
- \r
- /// <summary>\r
- /// Blend operations are supported.\r
- /// </summary>\r
- BlendOperation = D3D10_FORMAT_SUPPORT_BLENDABLE,\r
- \r
- /// <summary>\r
- /// Depth-stencil surfaces are supported.\r
- /// </summary>\r
- DepthStencil = D3D10_FORMAT_SUPPORT_DEPTH_STENCIL,\r
- \r
- /// <summary>\r
- /// CPU locking is supported.\r
- /// </summary>\r
- CpuLocking = D3D10_FORMAT_SUPPORT_CPU_LOCKABLE,\r
- \r
- /// <summary>\r
- /// Multisampling resolution is supported.\r
- /// </summary>\r
- MultisampleResolve = D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE,\r
- \r
- /// <summary>\r
- /// The format can be displayed on screen.\r
- /// </summary>\r
- FormatDisplaySupport = D3D10_FORMAT_SUPPORT_DISPLAY,\r
- \r
- /// <summary>\r
- /// The format can be cast to another format.\r
- /// </summary>\r
- FormatCastSupport = D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT,\r
- \r
- /// <summary>\r
- /// The format can be used as a multisample render target.\r
- /// </summary>\r
- FormatMultisampleRenderTargetSupport = D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET,\r
- \r
- /// <summary>\r
- /// The format can be used as a multisample texture and read into a shader with the HLSL "load" function.\r
- /// </summary>\r
- FormatMultisampleLoadSupport = D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD\r
- };\r
- \r
- /// <summary>Specifies image file formats supported by runtime.</summary>\r
- /// <unmanaged>D3DX10_IMAGE_FILE_FORMAT</unmanaged>\r
- public enum class ImageFileFormat : System::Int32\r
- {\r
- /// <summary>\r
- /// Windows bitmap (BMP) file format. Contains a header that describes the resolution of the device on which the\r
- /// rectangle of pixels was created, the dimensions of the rectangle, the size of the array of bits, a logical palette,\r
- /// and an array of bits that defines the relationship between pixels in the bitmapped image and entries in the logical palette.\r
- /// </summary>\r
- Bmp = D3DX10_IFF_BMP,\r
- \r
- /// <summary>\r
- /// Joint Photographic Experts Group (JPEG) compressed file format. Specifies variable compression of 24-bit RGB color\r
- /// and 8-bit gray-scale Tagged Image File Format (TIFF) image document files.\r
- /// </summary>\r
- Jpg = D3DX10_IFF_JPG,\r
- \r
- /// <summary>\r
- /// Portable Network Graphics (PNG) file format. A non-proprietary bitmap format using lossless compression.\r
- /// </summary>\r
- Png = D3DX10_IFF_PNG,\r
- \r
- /// <summary>\r
- /// DirectDraw surface (DDS) file format. Stores textures, volume textures, and cubic environment maps, with or without\r
- /// mipmap levels, and with or without pixel compression.\r
- /// </summary>\r
- Dds = D3DX10_IFF_DDS,\r
- \r
- /// <summary>\r
- /// Tagged Image File Format (TIFF).\r
- /// </summary>\r
- Tiff = D3DX10_IFF_TIFF,\r
- \r
- /// <summary>\r
- /// Graphics Interchange Format (GIF).\r
- /// </summary>\r
- Gif = D3DX10_IFF_GIF,\r
- \r
- /// <summary>\r
- /// Windows Media Player format (WMP).\r
- /// </summary>\r
- Wmp = D3DX10_IFF_WMP,\r
- };\r
- \r
- /// <summary>Type of data contained in an input slot.</summary>\r
- /// <unmanaged>D3D10_INPUT_CLASSIFICATION</unmanaged>\r
- public enum class InputClassification : System::Int32\r
- {\r
- /// <summary>\r
- /// The data in the input slot is per-vertex data.\r
- /// </summary>\r
- PerVertexData = D3D10_INPUT_PER_VERTEX_DATA,\r
- \r
- /// <summary>\r
- /// The data in the input slot is per-instance data.\r
- /// </summary>\r
- PerInstanceData = D3D10_INPUT_PER_INSTANCE_DATA\r
- };\r
- \r
- /// <summary>Identifies a resource to be accessed for reading and writing by the CPU.</summary>\r
- /// <unmanaged>D3D10_MAP</unmanaged>\r
- public enum class MapMode : System::Int32\r
- {\r
- /// <summary>\r
- /// Resource is mapped for reading. The resource must have been created with read access.\r
- /// </summary>\r
- Read = D3D10_MAP_READ,\r
- \r
- /// <summary>\r
- /// Resource is mapped for writing. The resource must have been created with write access.\r
- /// </summary>\r
- Write = D3D10_MAP_WRITE,\r
- \r
- /// <summary>\r
- /// Resource is mapped for reading and writing. The resource must have been created with read and write access.\r
- /// </summary>\r
- ReadWrite = D3D10_MAP_READ_WRITE,\r
- \r
- /// <summary>\r
- /// Resource is mapped for writing; the previous contents of the resource will be undefined. The resource must have been created with write access.\r
- /// </summary>\r
- WriteDiscard = D3D10_MAP_WRITE_DISCARD,\r
- \r
- /// <summary>\r
- /// Resource is mapped for writing; the existing contents of the resource cannot be overwritten. This flag is only valid on\r
- /// vertex and index buffers. The resource must have been created with write access.\r
- /// </summary>\r
- WriteNoOverwrite = D3D10_MAP_WRITE_NO_OVERWRITE\r
- };\r
- \r
- /// <summary>Specifies how the CPU should respond when Map() is called on a resource being used by the GPU.</summary>\r
- /// <unmanaged>D3D10_MAP_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class MapFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Wait for the resource to become available.\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Do not wait for the resource to become available. The map method will return WasStillRendering when the GPU blocks the CPU from\r
- /// accessing a resource.\r
- /// </summary>\r
- DoNotWait = D3D10_MAP_FLAG_DO_NOT_WAIT\r
- };\r
-\r
- /// <summary>Specifies creation options for a mesh.</summary>\r
- /// <unmanaged>D3DX10_MESH</unmanaged>\r
- [System::Flags]\r
- public enum class MeshFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates standard mesh creation options..\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Indicates that the mesh should use 32-bit indices rather than 16-bit indices.\r
- /// </summary>\r
- Has32BitIndices = D3DX10_MESH_32_BIT,\r
- \r
- /// <summary>\r
- /// Indicates that the mesh should contain adjacency information.\r
- /// </summary>\r
- HasAdjacency = D3DX10_MESH_GS_ADJACENCY\r
- };\r
-\r
- /// <summary>Specifies which types of mesh data to discard from the device.</summary>\r
- /// <unmanaged>D3DX10_MESH_DISCARD_FLAGS</unmanaged>\r
- [System::Flags]\r
- public enum class MeshDiscardFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates that the attribute buffer should be discarded.\r
- /// </summary>\r
- DiscardAttributeBuffer = D3DX10_MESH_DISCARD_ATTRIBUTE_BUFFER,\r
- \r
- /// <summary>\r
- /// Indicates that the attribute table should be discarded.\r
- /// </summary>\r
- DiscardAttributeTable = D3DX10_MESH_DISCARD_ATTRIBUTE_TABLE,\r
- \r
- /// <summary>\r
- /// Indicates that the point representation buffer should be discarded.\r
- /// </summary>\r
- DiscardPointRepresentation = D3DX10_MESH_DISCARD_POINTREPS,\r
- \r
- /// <summary>\r
- /// Indicates that the adjacency buffer should be discarded.\r
- /// </summary>\r
- DiscardAdjacency = D3DX10_MESH_DISCARD_ADJACENCY,\r
- \r
- /// <summary>\r
- /// Indicates that any buffers committed to the device should be discarded.\r
- /// </summary>\r
- DiscardDeviceBuffers = D3DX10_MESH_DISCARD_DEVICE_BUFFERS\r
- };\r
- \r
- /// <summary>\r
- /// Values that indicate how to alter mesh data during an optimization operation.\r
- /// </summary>\r
- /// <unmanaged>D3DX10_MESHOPT</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 = D3DX10_MESHOPT_COMPACT,\r
- \r
- /// <summary>\r
- /// Reorders faces to optimize for fewer attribute bundle state changes and enhanced draw performance.\r
- /// </summary>\r
- AttributeSort = D3DX10_MESHOPT_ATTR_SORT,\r
- \r
- /// <summary>\r
- /// Reorders faces to increase the cache hit rate of vertex caches.\r
- /// </summary>\r
- VertexCache = D3DX10_MESHOPT_VERTEX_CACHE,\r
- \r
- /// <summary>\r
- /// Reorders faces to maximize length of adjacent triangles.\r
- /// </summary>\r
- StripReorder = D3DX10_MESHOPT_STRIP_REORDER,\r
- \r
- /// <summary>\r
- /// Optimize the faces only; do not optimize the vertices.\r
- /// </summary>\r
- IgnoreVertices = D3DX10_MESHOPT_IGNORE_VERTS,\r
- \r
- /// <summary>\r
- /// While attribute sorting, do not split vertices that are shared between attribute groups.\r
- /// </summary>\r
- DoNotSplit = D3DX10_MESHOPT_DO_NOT_SPLIT,\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 = D3DX10_MESHOPT_DEVICE_INDEPENDENT,\r
- };\r
-\r
- /// <summary>\r
- /// Normal maps generation constants.\r
- /// </summary>\r
- /// <unmanaged>D3DX10_NORMALMAP_FLAG</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 = D3DX10_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 = D3DX10_NORMALMAP_MIRROR_V,\r
-\r
- /// <summary>\r
- /// Same as specifying the MirrorU and MirrorV flags.\r
- /// </summary>\r
- Mirror = D3DX10_NORMALMAP_MIRROR,\r
-\r
- /// <summary>\r
- /// Inverts the direction of each normal.\r
- /// </summary>\r
- InvertSign = D3DX10_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 = D3DX10_NORMALMAP_COMPUTE_OCCLUSION\r
- };\r
- \r
- /// <summary>Specifies how the pipeline should interpret vertex data bound to the input assembler stage.</summary>\r
- /// <unmanaged>D3D10_PRIMITIVE_TOPOLOGY</unmanaged>\r
- public enum class PrimitiveTopology : System::Int32\r
- {\r
- /// <summary>\r
- /// The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined.\r
- /// </summary>\r
- Undefined = D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as a list of points.\r
- /// </summary>\r
- PointList = D3D10_PRIMITIVE_TOPOLOGY_POINTLIST,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as a list of lines.\r
- /// </summary>\r
- LineList = D3D10_PRIMITIVE_TOPOLOGY_LINELIST,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as a line strip.\r
- /// </summary>\r
- LineStrip = D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as a list of triangles.\r
- /// </summary>\r
- TriangleList = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as a triangle strip.\r
- /// </summary>\r
- TriangleStrip = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as list of lines with adjacency data.\r
- /// </summary>\r
- LineListWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as line strip with adjacency data.\r
- /// </summary>\r
- LineStripWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as list of triangles with adjacency data.\r
- /// </summary>\r
- TriangleListWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,\r
- \r
- /// <summary>\r
- /// Interpret the vertex data as triangle strip with adjacency data.\r
- /// </summary>\r
- TriangleStripWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ\r
- };\r
- \r
- /// <summary>\r
- /// Flags for describing query options and behavior.\r
- /// </summary>\r
- /// <unmanaged>D3D10_QUERY_MISC_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class QueryFlags : System::Int32\r
- {\r
- None = 0,\r
- PredicateHint = D3D10_QUERY_MISC_PREDICATEHINT,\r
- };\r
- \r
- /// <summary>\r
- /// Values which description query types.\r
- /// </summary>\r
- /// <unmanaged>D3D10_QUERY</unmanaged>\r
- public enum class QueryType : System::Int32\r
- {\r
- Event = D3D10_QUERY_EVENT,\r
- Occlusion = D3D10_QUERY_OCCLUSION,\r
- Timestamp = D3D10_QUERY_TIMESTAMP,\r
- TimestampDisjoint = D3D10_QUERY_TIMESTAMP_DISJOINT,\r
- PipelineStatistics = D3D10_QUERY_PIPELINE_STATISTICS,\r
- Predicate = D3D10_QUERY_OCCLUSION_PREDICATE,\r
- StreamOutputStatistics = D3D10_QUERY_SO_STATISTICS,\r
- StreamOutputOverflowPredicate = D3D10_QUERY_SO_OVERFLOW_PREDICATE,\r
- };\r
- \r
- /// <summary></summary>\r
- /// <unmanaged>D3D10_RTV_DIMENSION</unmanaged>\r
- public enum class RenderTargetViewDimension : System::Int32\r
- {\r
- Unknown = D3D10_RTV_DIMENSION_UNKNOWN,\r
- Buffer = D3D10_RTV_DIMENSION_BUFFER,\r
- Texture1D = D3D10_RTV_DIMENSION_TEXTURE1D ,\r
- Texture1DArray = D3D10_RTV_DIMENSION_TEXTURE1DARRAY,\r
- Texture2D = D3D10_RTV_DIMENSION_TEXTURE2D,\r
- Texture2DArray = D3D10_RTV_DIMENSION_TEXTURE2DARRAY,\r
- Texture2DMultisampled = D3D10_RTV_DIMENSION_TEXTURE2DMS,\r
- Texture2DMultisampledArray = D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,\r
- Texture3D = D3D10_RTV_DIMENSION_TEXTURE3D\r
- };\r
- \r
- /// <summary></summary>\r
- /// <unmanaged>D3D10_RESOURCE_DIMENSION</unmanaged>\r
- public enum class ResourceDimension : System::Int32\r
- {\r
- Unknown = D3D10_RESOURCE_DIMENSION_UNKNOWN,\r
- Buffer = D3D10_RESOURCE_DIMENSION_BUFFER,\r
- Texture1D = D3D10_RESOURCE_DIMENSION_TEXTURE1D,\r
- Texture2D = D3D10_RESOURCE_DIMENSION_TEXTURE2D,\r
- Texture3D = D3D10_RESOURCE_DIMENSION_TEXTURE3D\r
- };\r
- \r
- /// <summary></summary>\r
- /// <unmanaged>D3D10_RESOURCE_MISC_FLAG</unmanaged>\r
- [System::Flags]\r
- public enum class ResourceOptionFlags : System::Int32\r
- {\r
- None = 0,\r
- GenerateMipMaps = D3D10_RESOURCE_MISC_GENERATE_MIPS,\r
- Shared = D3D10_RESOURCE_MISC_SHARED,\r
- TextureCube = D3D10_RESOURCE_MISC_TEXTURECUBE\r
- };\r
-\r
- /// <summary></summary>\r
- /// <unmanaged>D3D10_USAGE</unmanaged>\r
- public enum class ResourceUsage : System::Int32\r
- {\r
- Default = D3D10_USAGE_DEFAULT,\r
- Immutable = D3D10_USAGE_IMMUTABLE,\r
- Dynamic = D3D10_USAGE_DYNAMIC,\r
- Staging = D3D10_USAGE_STAGING\r
- };\r
- \r
- /// <summary></summary>\r
- /// <unmanaged>D3D10_RTV_DIMENSION</unmanaged>\r
- public enum class ResourceViewDimension : System::Int32\r
- {\r
- Unknown = D3D10_RTV_DIMENSION_UNKNOWN,\r
- Buffer = D3D10_RTV_DIMENSION_BUFFER,\r
- Texture1D = D3D10_RTV_DIMENSION_TEXTURE1D,\r
- Texture1DArray = D3D10_RTV_DIMENSION_TEXTURE1DARRAY,\r
- Texture2D = D3D10_RTV_DIMENSION_TEXTURE2D,\r
- Texture2DArray = D3D10_RTV_DIMENSION_TEXTURE2DARRAY,\r
- Texture2DMultisampled = D3D10_RTV_DIMENSION_TEXTURE2DMS,\r
- Texture2DMultisampledArray = D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,\r
- Texture3D = D3D10_RTV_DIMENSION_TEXTURE3D\r
- };\r
- \r
- /// <summary>Identifies the type of the resource that will be viewed.</summary>\r
- /// <unmanaged>D3D10_SRV_DIMENSION</unmanaged>\r
- public enum class ShaderResourceViewDimension : System::Int32\r
- {\r
- Unknown = D3D10_SRV_DIMENSION_UNKNOWN,\r
- Buffer = D3D10_SRV_DIMENSION_BUFFER,\r
- Texture1D = D3D10_SRV_DIMENSION_TEXTURE1D,\r
- Texture1DArray = D3D10_SRV_DIMENSION_TEXTURE1DARRAY,\r
- Texture2D = D3D10_SRV_DIMENSION_TEXTURE2D,\r
- Texture2DArray = D3D10_SRV_DIMENSION_TEXTURE2DARRAY,\r
- Texture2DMultisampled = D3D10_SRV_DIMENSION_TEXTURE2DMS,\r
- Texture2DMultisampledArray = D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,\r
- Texture3D = D3D10_SRV_DIMENSION_TEXTURE3D,\r
- TextureCube = D3D10_SRV_DIMENSION_TEXTURECUBE\r
- };\r
-\r
- /// <summary>\r
- /// Flags that control the behavior of <see cref="Sprite"/> rendering.\r
- /// </summary>\r
- /// <unmanaged>D3DX10_SPRITE_FLAG</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
- /// Group sprites by texture before rendering; improves performance when many sprites\r
- /// share textures.\r
- /// </summary>\r
- GroupByTexture = D3DX10_SPRITE_SORT_TEXTURE,\r
- \r
- /// <summary>\r
- /// Sort the sprites from back to front based on their depth; sprites further away from the\r
- /// camera will be rendered first.\r
- /// </summary>\r
- SortBackToFront = D3DX10_SPRITE_SORT_DEPTH_BACK_TO_FRONT,\r
- \r
- /// <summary>\r
- /// Sort the sprites from front to back based on their depth; sprites closer to the\r
- /// camera will be rendered first.\r
- /// </summary>\r
- SortFrontToBack = D3DX10_SPRITE_SORT_DEPTH_FRONT_TO_BACK,\r
- \r
- /// <summary>\r
- /// Saves render state when sprites are rendered, and restores the previous state once rendering\r
- /// is complete.\r
- /// </summary>\r
- SaveState = D3DX10_SPRITE_SAVE_STATE,\r
- \r
- /// <summary>\r
- /// Increases the reference count of textures when DrawSpritesBuffered is called.\r
- /// </summary>\r
- IncreaseTextureReferenceCount = D3DX10_SPRITE_ADDREF_TEXTURES\r
- };\r
-\r
- /// <summary>The stencil operations that can be performed during depth-stencil testing.</summary>\r
- /// <unmanaged>D3D10_STENCIL_OP</unmanaged>\r
- public enum class StencilOperation : System::Int32\r
- {\r
- Keep = D3D10_STENCIL_OP_KEEP,\r
- Zero = D3D10_STENCIL_OP_ZERO,\r
- Replace = D3D10_STENCIL_OP_REPLACE,\r
- IncrementAndClamp = D3D10_STENCIL_OP_INCR_SAT,\r
- DecrementAndClamp = D3D10_STENCIL_OP_DECR_SAT,\r
- Invert = D3D10_STENCIL_OP_INVERT,\r
- Increment = D3D10_STENCIL_OP_INCR,\r
- Decrement = D3D10_STENCIL_OP_DECR\r
- };\r
-\r
- public enum class TextureAddressMode : System::Int32\r
- {\r
- Wrap = D3D10_TEXTURE_ADDRESS_WRAP,\r
- Mirror = D3D10_TEXTURE_ADDRESS_MIRROR,\r
- Clamp = D3D10_TEXTURE_ADDRESS_CLAMP,\r
- Border = D3D10_TEXTURE_ADDRESS_BORDER,\r
- MirrorOnce = D3D10_TEXTURE_ADDRESS_MIRROR_ONCE\r
- };\r
- }\r
-}
\ No newline at end of file