+++ /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 "Enums.h"\r
-#include "VertexDeclaration.h"\r
-\r
-#include "../math/Plane.h"\r
-#include "../math/Matrix.h"\r
-\r
-#include "Viewport9.h"\r
-#include "PaletteEntry.h"\r
-#include "Light.h"\r
-#include "PatchInfo.h"\r
-#include "Material.h"\r
-#include "GammaRamp.h"\r
-#include "ClipStatus.h"\r
-#include "CreationParameters.h"\r
-#include "RasterStatus.h"\r
-#include "DisplayMode.h"\r
-#include "Capabilities.h"\r
-\r
-namespace SlimDX\r
-{\r
- value class Matrix;\r
-\r
- namespace Direct3D9\r
- {\r
- ref class PresentParameters;\r
- ref class IndexBuffer;\r
- ref class VertexBuffer;\r
- ref class BaseTexture;\r
- ref class Texture;\r
- ref class Surface;\r
- ref class PixelShader;\r
- ref class VertexShader;\r
- ref class SwapChain;\r
- ref class StateBlock;\r
-\r
- /// <summary>\r
- /// Applications use the methods of the Device to perform DrawPrimitive-based rendering, create resources,\r
- /// work with system-level variables, adjust gamma ramp levels, work with palettes, and create shaders.\r
- /// </summary>\r
- /// <unmanaged>IDirect3DDevice9</unmanaged>\r
- public ref class Device : public ComObject\r
- {\r
- COMOBJECT(IDirect3DDevice9, Device);\r
-\r
- private protected:\r
- Device();\r
-\r
- public:\r
- /// <summary>\r
- /// Initializes a new instance of the <see cref="SlimDX::Direct3D9::Device"/> class.\r
- /// </summary>\r
- /// <param name="adapter">Ordinal number that denotes the display adapter.</param>\r
- /// <param name="deviceType">Denotes the desired device type. If the desired device type is not available, device creation will fail.</param>\r
- /// <param name="controlHandle">Specifies the target window for Direct3D rendering.</param>\r
- /// <param name="createFlags">Combination of one or more options that control device creation.</param>\r
- /// <param name="presentParameters">Describes the presentation parameters for the device being created.</param>\r
- Device( Direct3D^ direct3D, int adapter, DeviceType deviceType, System::IntPtr controlHandle, CreateFlags createFlags, ... array<PresentParameters^>^ presentParameters );\r
-\r
- /// <summary>\r
- /// Determines whether the specified query type is supported by the device.\r
- /// </summary>\r
- /// <param name="type">The query type to check.</param>\r
- /// <returns><c>true</c> if the query is supported; otherwise, <c>false</c>.</returns>\r
- /// <unmanaged>IDirect3DDevice9::CreateQuery</unmanaged>\r
- bool IsQuerySupported( QueryType type );\r
-\r
- /// <summary>\r
- /// Evicts all managed resources, including both Direct3D and driver-managed resources.\r
- /// </summary>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::EvictManagedResources</unmanaged>\r
- Result EvictManagedResources();\r
-\r
- /// <summary>\r
- /// Reports on the device's ability to render the current texture-blending operations and arguments in a single pass.\r
- /// </summary>\r
- /// <returns>The number of passes required to complete the desired effect.</returns>\r
- /// <unmanaged>IDirect3DDevice9::ValidateDevice</unmanaged>\r
- int ValidateDevice();\r
-\r
- /// <summary>\r
- /// Reports the current cooperative-level status of the device.\r
- /// </summary>\r
- /// <remarks>\r
- /// This function always returns the result of the TestCooperativeLevel call.\r
- /// It will not generate an exception for a failed result, or write to <see cref="SlimDX::Result::Last" />.\r
- /// As a result, it is important to actually check the returned value.\r
- /// </remarks>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::TestCooperativeLevel</unmanaged>\r
- Result TestCooperativeLevel();\r
-\r
- /// <summary>\r
- /// Resets the device.\r
- /// </summary>\r
- /// <param name="presentParameters">A set of new presentation parameters to apply to the device.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Reset</unmanaged>\r
- Result Reset( PresentParameters^ presentParameters );\r
-\r
- /// <summary>\r
- /// Clears one or more surfaces such as a render target, a stencil buffer, and a depth buffer.\r
- /// </summary>\r
- /// <param name="clearFlags">Flags that specify which surfaces will be cleared.</param>\r
- /// <param name="color">The color that will be used to fill the cleared render target.</param>\r
- /// <param name="zdepth">The value that will be used to fill the cleared depth buffer.</param>\r
- /// <param name="stencil">The value that will be used to fill the cleared stencil buffer.</param>\r
- /// <param name="rectangles">The areas on the surfaces that will be cleared.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Clear</unmanaged>\r
- Result Clear( ClearFlags clearFlags, Color4 color, float zdepth, int stencil, array<System::Drawing::Rectangle>^ rectangles );\r
- \r
- /// <summary>\r
- /// Clears one or more surfaces such as a render target, a stencil buffer, and a depth buffer.\r
- /// </summary>\r
- /// <param name="clearFlags">Flags that specify which surfaces will be cleared.</param>\r
- /// <param name="color">The color that will be used to fill the cleared render target.</param>\r
- /// <param name="zdepth">The value that will be used to fill the cleared depth buffer.</param>\r
- /// <param name="stencil">The value that will be used to fill the cleared stencil buffer.</param>\r
- /// <param name="rectangles">The areas on the surfaces that will be cleared.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Clear</unmanaged>\r
- Result Clear( ClearFlags clearFlags, int color, float zdepth, int stencil, array<System::Drawing::Rectangle>^ rectangles );\r
- \r
- /// <summary>\r
- /// Clears one or more surfaces such as a render target, a stencil buffer, and a depth buffer.\r
- /// </summary>\r
- /// <param name="clearFlags">Flags that specify which surfaces will be cleared.</param>\r
- /// <param name="color">The color that will be used to fill the cleared render target.</param>\r
- /// <param name="zdepth">The value that will be used to fill the cleared depth buffer.</param>\r
- /// <param name="stencil">The value that will be used to fill the cleared stencil buffer.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Clear</unmanaged>\r
- Result Clear( ClearFlags clearFlags, Color4 color, float zdepth, int stencil );\r
- \r
- /// <summary>\r
- /// Clears one or more surfaces such as a render target, a stencil buffer, and a depth buffer.\r
- /// </summary>\r
- /// <param name="clearFlags">Flags that specify which surfaces will be cleared.</param>\r
- /// <param name="color">The color that will be used to fill the cleared render target.</param>\r
- /// <param name="zdepth">The value that will be used to fill the cleared depth buffer.</param>\r
- /// <param name="stencil">The value that will be used to fill the cleared stencil buffer.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Clear</unmanaged>\r
- Result Clear( ClearFlags clearFlags, int color, float zdepth, int stencil );\r
- \r
- /// <summary>\r
- /// Begins a scene.\r
- /// </summary>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::BeginScene</unmanaged>\r
- Result BeginScene();\r
- \r
- /// <summary>\r
- /// Ends a scene.\r
- /// </summary>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::EndScene</unmanaged>\r
- Result EndScene();\r
-\r
- /// <summary>\r
- /// Presents the contents of the next buffer in the sequence of back buffers to the screen.\r
- /// </summary>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Present</unmanaged>\r
- Result Present();\r
-\r
- /// <summary>\r
- /// Presents the contents of the first swap chain in the device. \r
- /// </summary>\r
- /// <param name="flags">Flags used to specify how the swap chain should be presented.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Present</unmanaged>\r
- Result Present( SlimDX::Direct3D9::Present flags );\r
-\r
- /// <summary>\r
- /// Presents the contents of the next buffer in the sequence of back buffers to the screen.\r
- /// </summary>\r
- /// <param name="sourceRectangle">The area of the back buffer that should be presented.</param>\r
- /// <param name="destinationRectangle">The area of the front buffer that should receive the result of the presentation.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Present</unmanaged>\r
- Result Present( System::Drawing::Rectangle sourceRectangle, System::Drawing::Rectangle destinationRectangle );\r
- \r
- /// <summary>\r
- /// Presents the contents of the next buffer in the sequence of back buffers to the screen.\r
- /// </summary>\r
- /// <param name="sourceRectangle">The area of the back buffer that should be presented.</param>\r
- /// <param name="destinationRectangle">The area of the front buffer that should receive the result of the presentation.</param>\r
- /// <param name="windowOverride">The destination window whose client area is taken as the target for this presentation.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Present</unmanaged>\r
- Result Present( System::Drawing::Rectangle sourceRectangle, System::Drawing::Rectangle destinationRectangle, System::IntPtr windowOverride );\r
- \r
- /// <summary>\r
- /// Presents the contents of the next buffer in the sequence of back buffers to the screen.\r
- /// </summary>\r
- /// <param name="sourceRectangle">The area of the back buffer that should be presented.</param>\r
- /// <param name="destinationRectangle">The area of the front buffer that should receive the result of the presentation.</param>\r
- /// <param name="windowOverride">The destination window whose client area is taken as the target for this presentation.</param>\r
- /// <param name="region">Specifies a region on the back buffer that contains the minimal amount of pixels that need to be updated.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::Present</unmanaged>\r
- Result Present( System::Drawing::Rectangle sourceRectangle, System::Drawing::Rectangle destinationRectangle, System::IntPtr windowOverride, System::Drawing::Region^ region );\r
-\r
- /// <summary>\r
- /// Retrieves a back buffer from the device's swap chain.\r
- /// </summary>\r
- /// <param name="swapChain">The desired swap chain.</param>\r
- /// <param name="backBuffer">Index of the back buffer object to return.</param>\r
- /// <returns>The requested back buffer surface.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetBackBuffer</unmanaged>\r
- Surface^ GetBackBuffer( int swapChain, int backBuffer );\r
-\r
- /// <summary>\r
- /// Retrieves a render target surface.\r
- /// </summary>\r
- /// <param name="index">The index of the render target.</param>\r
- /// <returns>A surface representing the desired render target.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetRenderTarget</unmanaged>\r
- Surface^ GetRenderTarget( int index );\r
-\r
- /// <summary>\r
- /// Gets a reference to the specified swap chain.\r
- /// </summary>\r
- /// <param name="swapChainIndex">The index of the desired swap chain.</param>\r
- /// <returns>The requested swap chain reference.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetSwapChain</unmanaged>\r
- SwapChain^ GetSwapChain( int swapChainIndex );\r
-\r
- /// <summary>\r
- /// Gets information describing the raster of the monitor on which the swap chain is presented.\r
- /// </summary>\r
- /// <param name="swapChain">The swap chain whose raster status is to be retrieved.</param>\r
- /// <returns>The raster status of the specified swap chain.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetRasterStatus</unmanaged>\r
- RasterStatus GetRasterStatus( int swapChain );\r
-\r
- /// <summary>\r
- /// Retrieve's the display mode's spatial resolution, color resolution, and refresh frequency.\r
- /// </summary>\r
- /// <param name="swapChain">The index of the swap chain whose display mode is to be retrieved.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetDisplayMode</unmanaged>\r
- DisplayMode GetDisplayMode( int swapChain );\r
-\r
- /// <summary>\r
- /// Gets the currently set user-defined clipping plane.\r
- /// </summary>\r
- /// <param name="index">Index of the desired clipping plane.</param>\r
- /// <returns>The requested clipping plane.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetClipPlane</unmanaged>\r
- Plane GetClipPlane( int index );\r
-\r
- /// <summary>\r
- /// Retrieves a render-state value for the device.\r
- /// </summary>\r
- /// <typeparam name="T">The type of the data being returned.</typeparam>\r
- /// <param name="state">The render state whose value is being requested.</param>\r
- /// <returns>The value of the requested render state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetRenderState</unmanaged>\r
- generic<typename T> where T : value class\r
- T GetRenderState( RenderState state );\r
-\r
- /// <summary>\r
- /// Retrieves a render-state value for the device.\r
- /// </summary>\r
- /// <param name="state">The render state whose value is being requested.</param>\r
- /// <returns>The value of the requested render state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetRenderState</unmanaged>\r
- int GetRenderState( RenderState state );\r
-\r
- /// <summary>\r
- /// Retrieves a sampler state value for the device.\r
- /// </summary>\r
- /// <typeparam name="T">The type of the data being returned.</typeparam>\r
- /// <param name="sampler">The sampler stage index.</param>\r
- /// <param name="type">The sampler state whose value is being requested.</param>\r
- /// <returns>The value of the requested sampler state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetSamplerState</unmanaged>\r
- generic<typename T> where T : value class\r
- T GetSamplerState( int sampler, SamplerState type );\r
-\r
- /// <summary>\r
- /// Retrieves a sampler state value for the device.\r
- /// </summary>\r
- /// <param name="sampler">The sampler stage index.</param>\r
- /// <param name="type">The sampler state whose value is being requested.</param>\r
- /// <returns>The value of the requested sampler state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetSamplerState</unmanaged>\r
- int GetSamplerState( int sampler, SamplerState type );\r
-\r
- /// <summary>\r
- /// Retrieves a texture stage state value for the device.\r
- /// </summary>\r
- /// <typeparam name="T">The type of the data being returned.</typeparam>\r
- /// <param name="stage">The texture stage.</param>\r
- /// <param name="type">The texture stage state whose value is being requested.</param>\r
- /// <returns>The value of the requested texture stage state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetTextureStageState</unmanaged>\r
- generic<typename T> where T : value class\r
- T GetTextureStageState( int stage, TextureStage type );\r
-\r
- /// <summary>\r
- /// Retrieves a texture stage state value for the device.\r
- /// </summary>\r
- /// <param name="stage">The texture stage.</param>\r
- /// <param name="type">The texture stage state whose value is being requested.</param>\r
- /// <returns>The value of the requested texture stage state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetTextureStageState</unmanaged>\r
- int GetTextureStageState( int stage, TextureStage type );\r
-\r
- /// <summary>\r
- /// Gets the texture assigned to the specified stage.\r
- /// </summary>\r
- /// <returns>The texture assigned to the specified stage.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetTexture</unmanaged>\r
- BaseTexture^ GetTexture( int stage );\r
-\r
- /// <summary>\r
- /// Retrieves a vertex buffer bound to the specified data stream.\r
- /// </summary>\r
- /// <param name="stream">A zero-based index specifying the data stream.</param>\r
- /// <param name="streamData">A vertex buffer representing the data stream.</param>\r
- /// <param name="offsetInBytes">The offset from the beginning of the stream to the beginning of vertex data, measured in bytes.</param>\r
- /// <param name="stride">The stride of the vertex data, in bytes.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetStreamSource</unmanaged>\r
- Result GetStreamSource( int stream, [Out] VertexBuffer^% streamData, [Out] int% offsetInBytes, [Out] int% stride );\r
- \r
- /// <summary>\r
- /// Gets the stream source frequency divider value.\r
- /// </summary>\r
- /// <param name="stream">A zero-based index specifying the data stream.</param>\r
- /// <returns>The frequency divider value.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetStreamSourceFrequency</unmanaged>\r
- Result GetStreamSourceFrequency( int stream, [Out] int% frequency, [Out] StreamSource% source );\r
-\r
- /// <summary>\r
- /// Generates a copy of the device's front buffer and places that copy into the specified surface.\r
- /// </summary>\r
- /// <param name="swapChain">Index of the swap chain whose front buffer is to be copied.</param>\r
- /// <param name="destinationSurface">The surface that will receive the copy of the front buffer.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetFrontBufferData</unmanaged>\r
- Result GetFrontBufferData( int swapChain, Surface^ destinationSurface );\r
-\r
- /// <summary>\r
- /// Copies the render-target data from device memory to system memory.\r
- /// </summary>\r
- /// <param name="renderTarget">A surface representing the render target.</param>\r
- /// <param name="destinationSurface">The surface which will receive the copy of the render target.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetRenderTargetData</unmanaged>\r
- Result GetRenderTargetData( Surface^ renderTarget, Surface^ destinationSurface );\r
-\r
- /// <summary>\r
- /// Sets a single device render-state parameter.\r
- /// </summary>\r
- /// <param name="state">The render state that is being modified.</param>\r
- /// <param name="value">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetRenderState</unmanaged>\r
- Result SetRenderState( RenderState state, int value );\r
- \r
- /// <summary>\r
- /// Sets a single device render-state parameter.\r
- /// </summary>\r
- /// <param name="state">The render state that is being modified.</param>\r
- /// <param name="value">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetRenderState</unmanaged>\r
- Result SetRenderState( RenderState state, bool value );\r
- \r
- /// <summary>\r
- /// Sets a single device render-state parameter.\r
- /// </summary>\r
- /// <param name="state">The render state that is being modified.</param>\r
- /// <param name="value">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetRenderState</unmanaged>\r
- Result SetRenderState( RenderState state, float value );\r
- \r
- /// <summary>\r
- /// Sets a single device render-state parameter.\r
- /// </summary>\r
- /// <typeparam name="T">The type of the render state value.</typeparam>\r
- /// <param name="state">The render state that is being modified.</param>\r
- /// <param name="value">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetRenderState</unmanaged>\r
- generic<typename T> where T : System::Enum\r
- Result SetRenderState( RenderState state, T value );\r
-\r
- /// <summary>\r
- /// Gets the individual color elements of the specified palette.\r
- /// </summary>\r
- /// <param name="paletteNumber">The palette whose color elements will be retrieved.</param>\r
- /// <returns>The individual color elements of the specified palette.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetPaletteEntries</unmanaged>\r
- array<PaletteEntry>^ GetPaletteEntries( int paletteNumber );\r
-\r
- /// <summary>\r
- /// Sets palette entries.\r
- /// </summary>\r
- /// <param name="paletteNumber">An ordinal number identifying the particular palette upon which the operation is to be performed.</param>\r
- /// <param name="entries">The individual entries of the palette that are to be set. The length of the array is assumed to be 256.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPaletteEntries</unmanaged>\r
- Result SetPaletteEntries( int paletteNumber, array<PaletteEntry>^ entries );\r
-\r
- /// <summary>\r
- /// Retrives the gamma correction ramp for the specified swap chain.\r
- /// </summary>\r
- /// <param name="swapChain">The swap chain whose gamma ramp is to be retrieved.</param>\r
- /// <returns>The requested gamma correction ramp.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetGammaRamp</unmanaged>\r
- GammaRamp^ GetGammaRamp( int swapChain );\r
-\r
- /// <summary>\r
- /// Sets the gamma correction ramp for the specified swap chain.\r
- /// </summary>\r
- /// <param name="swapChain">The swap chain whose gamma ramp is to be set.</param>\r
- /// <param name="ramp">The gamma correction ramp.</param>\r
- /// <param name="calibrate"><c>true</c> to calibrate the gamma data, <c>false</c> to just submit it to the device.</param>\r
- /// <unmanaged>IDirect3DDevice9::SetGammaRamp</unmanaged>\r
- void SetGammaRamp( int swapChain, GammaRamp^ ramp, bool calibrate );\r
-\r
- /// <summary>\r
- /// Sets the state value for the currently assigned texture.\r
- /// </summary>\r
- /// <param name="stage">Zero-based stage identifier for the texture. Devices can have up to eight textures, so the maximum value allowed is 7.</param>\r
- /// <param name="type">The texture state to set.</param>\r
- /// <param name="value">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTextureStageState</unmanaged>\r
- Result SetTextureStageState( int stage, TextureStage type, int value );\r
- \r
- /// <summary>\r
- /// Sets the state value for the currently assigned texture.\r
- /// </summary>\r
- /// <param name="stage">Zero-based stage identifier for the texture. Devices can have up to eight textures, so the maximum value allowed is 7.</param>\r
- /// <param name="type">The texture state to set.</param>\r
- /// <param name="textureOperation">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTextureStageState</unmanaged>\r
- Result SetTextureStageState( int stage, TextureStage type, TextureOperation textureOperation );\r
- \r
- /// <summary>\r
- /// Sets the state value for the currently assigned texture.\r
- /// </summary>\r
- /// <param name="stage">Zero-based stage identifier for the texture. Devices can have up to eight textures, so the maximum value allowed is 7.</param>\r
- /// <param name="type">The texture state to set.</param>\r
- /// <param name="textureArgument">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTextureStageState</unmanaged>\r
- Result SetTextureStageState( int stage, TextureStage type, TextureArgument textureArgument );\r
- \r
- /// <summary>\r
- /// Sets the state value for the currently assigned texture.\r
- /// </summary>\r
- /// <param name="stage">Zero-based stage identifier for the texture. Devices can have up to eight textures, so the maximum value allowed is 7.</param>\r
- /// <param name="type">The texture state to set.</param>\r
- /// <param name="textureTransform">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTextureStageState</unmanaged>\r
- Result SetTextureStageState( int stage, TextureStage type, TextureTransform textureTransform );\r
- \r
- /// <summary>\r
- /// Sets the state value for the currently assigned texture.\r
- /// </summary>\r
- /// <param name="stage">Zero-based stage identifier for the texture. Devices can have up to eight textures, so the maximum value allowed is 7.</param>\r
- /// <param name="type">The texture state to set.</param>\r
- /// <param name="value">The new value for the state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTextureStageState</unmanaged>\r
- Result SetTextureStageState( int stage, TextureStage type, float value );\r
-\r
- /// <summary>\r
- /// Sets a sampler state's value.\r
- /// </summary>\r
- /// <param name="sampler">The sampler stage index.</param>\r
- /// <param name="type">The sampler state whose value is to be set.</param>\r
- /// <param name="value">The new value for the sampler state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetSamplerState</unmanaged>\r
- Result SetSamplerState( int sampler, SamplerState type, int value );\r
-\r
- /// <summary>\r
- /// Sets a sampler state's value.\r
- /// </summary>\r
- /// <param name="sampler">The sampler stage index.</param>\r
- /// <param name="type">The sampler state whose value is to be set.</param>\r
- /// <param name="value">The new value for the sampler state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetSamplerState</unmanaged>\r
- Result SetSamplerState( int sampler, SamplerState type, float value );\r
-\r
- /// <summary>\r
- /// Sets a sampler state's value.\r
- /// </summary>\r
- /// <param name="sampler">The sampler stage index.</param>\r
- /// <param name="type">The sampler state whose value is to be set.</param>\r
- /// <param name="textureAddress">The new value for the sampler state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetSamplerState</unmanaged>\r
- Result SetSamplerState( int sampler, SamplerState type, TextureAddress textureAddress );\r
-\r
- /// <summary>\r
- /// Sets a sampler state's value.\r
- /// </summary>\r
- /// <param name="sampler">The sampler stage index.</param>\r
- /// <param name="type">The sampler state whose value is to be set.</param>\r
- /// <param name="textureFilter">The new value for the sampler state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetSamplerState</unmanaged>\r
- Result SetSamplerState( int sampler, SamplerState type, TextureFilter textureFilter );\r
-\r
- /// <summary>\r
- /// Enables or disables a set of lighting parameters.\r
- /// </summary>\r
- /// <param name="lightIndex">The index of the light whose state is to be changed.</param>\r
- /// <param name="enable"><c>true</c> if the light should be enabled; otherwise, <c>false</c>.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::EnableLight</unmanaged>\r
- Result EnableLight( int lightIndex, bool enable );\r
-\r
- /// <summary>\r
- /// Gets a value indicating whether the specified light is enabled.\r
- /// </summary>\r
- /// <param name="lightIndex">The index of the light whose status is to be queried.</param>\r
- /// <returns><c>true</c> if the specified light is enabled; otherwise, <c>false</c>.</returns>\r
- /// <unmanaged>IDirect3DDevice9::IsLightEnabled</unmanaged>\r
- bool IsLightEnabled( int lightIndex );\r
-\r
- /// <summary>\r
- /// Assigns a set of lighting properties to the device.\r
- /// </summary>\r
- /// <param name="lightIndex">Index of the light whose properties are to be set.</param>\r
- /// <param name="lightData">A <see cref="Light"/> structure which represents the light properties.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetLight</unmanaged>\r
- Result SetLight( int lightIndex, Light lightData );\r
-\r
- /// <summary>\r
- /// Retrievs a set of lighting properties that are used by the device.\r
- /// </summary>\r
- /// <param name="lightIndex">Index of the light to be retrieved.</param>\r
- /// <returns>A <see cref="Light"/> structure describing the requested light.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetLight</unmanaged>\r
- Light GetLight( int lightIndex );\r
-\r
- /// <summary>\r
- /// Sets a Windows Forms cursor as the device cursor.\r
- /// </summary>\r
- /// <param name="cursor">The cursor to set.</param>\r
- /// <param name="addWatermark"><c>true</c> to add a watermark to the cursor; otherwise, <c>false</c>.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetCursor</unmanaged>\r
- Result SetCursor( System::Windows::Forms::Cursor^ cursor, bool addWatermark );\r
-\r
- /// <summary>\r
- /// Sets the current cursor position.\r
- /// </summary>\r
- /// <param name="x">The new X-position of the cursor, in virtual desktop coordinates.</param>\r
- /// <param name="y">The new Y-position of the cursor, in virtual desktop coordinates.</param>\r
- /// <param name="immediateUpdate"><c>true</c> to force the cursor to update every time the monitor refreshes; otherwise, <c>false</c> to have the cursor update whenever <see cref="Device::Present()"/> is called.</param>\r
- /// <unmanaged>IDirect3DDevice9::SetCursorPosition</unmanaged>\r
- void SetCursorPosition( int x, int y, bool immediateUpdate );\r
-\r
- /// <summary>\r
- /// Sets the current cursor position.\r
- /// </summary>\r
- /// <param name="position">The position of the cursor, in virtual desktop coordinates.</param>\r
- /// <param name="immediateUpdate"><c>true</c> to force the cursor to update every time the monitor refreshes; otherwise, <c>false</c> to have the cursor update whenever <see cref="Device::Present()"/> is called.</param>\r
- /// <unmanaged>IDirect3DDevice9::SetCursorPosition</unmanaged>\r
- void SetCursorPosition( System::Drawing::Point position, bool immediateUpdate ) { SetCursorPosition( position.X, position.Y, immediateUpdate ); }\r
- \r
- /// <summary>\r
- /// Sets properties for the cursor.\r
- /// </summary>\r
- /// <param name="hotspotX">X-coordinate offset (in pixels) that marks the center of the cursor.</param>\r
- /// <param name="hotspotY">Y-coordinate offset (in pixels) that marks the center of the cursor.</param>\r
- /// <param name="cursorBitmap">The image data used to draw the cursor.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetCursorProperties</unmanaged>\r
- Result SetCursorProperties( int hotspotX, int hotspotY, Surface^ cursorBitmap );\r
- \r
- /// <summary>\r
- /// Sets properties for the cursor.\r
- /// </summary>\r
- /// <param name="hotspot">The offset (in pixels) that marks the center of the cursor.</param>\r
- /// <param name="cursorBitmap">The image data used to draw the cursor.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetCursorProperties</unmanaged>\r
- Result SetCursorProperties( System::Drawing::Point hotspot, Surface^ cursorBitmap ) { return SetCursorProperties( hotspot.X, hotspot.Y, cursorBitmap ); }\r
-\r
- /// <summary>\r
- /// Sets a single device transformation state.\r
- /// </summary>\r
- /// <param name="state">The transformation state which is to be set.</param>\r
- /// <param name="value">The new value for the transformation state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTransform</unmanaged>\r
- Result SetTransform( TransformState state, Matrix* value );\r
-\r
- /// <summary>\r
- /// Sets a single device transformation state.\r
- /// </summary>\r
- /// <param name="state">The transformation state which is to be set.</param>\r
- /// <param name="value">The new value for the transformation state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTransform</unmanaged>\r
- Result SetTransform( TransformState state, Matrix value );\r
-\r
- /// <summary>\r
- /// Sets a single device transformation state.\r
- /// </summary>\r
- /// <param name="index">The transformation state which is to be set.</param>\r
- /// <param name="value">The new value for the transformation state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTransform</unmanaged>\r
- Result SetTransform( int index, Matrix* value );\r
-\r
- /// <summary>\r
- /// Sets a single device transformation state.\r
- /// </summary>\r
- /// <param name="index">The transformation state which is to be set.</param>\r
- /// <param name="value">The new value for the transformation state.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTransform</unmanaged>\r
- Result SetTransform( int index, Matrix value );\r
-\r
- /// <summary>\r
- /// Retrieves a matrix describing the transformation state.\r
- /// </summary>\r
- /// <param name="state">The device state variable that is being retrieved.</param>\r
- /// <returns>The transformation matrix for the specified state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetTransform</unmanaged>\r
- Matrix GetTransform( TransformState state );\r
-\r
- /// <summary>\r
- /// Retrieves a matrix describing the transformation state.\r
- /// </summary>\r
- /// <param name="index">The device state variable that is being retrieved.</param>\r
- /// <returns>The transformation matrix for the specified state.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetTransform</unmanaged>\r
- Matrix GetTransform( int index );\r
- \r
- /// <summary>\r
- /// Multiplies a device's world, view, or projection matrix by the specified matrix.\r
- /// </summary>\r
- /// <param name="state">The transformation state whose matrix is to be modified.</param>\r
- /// <param name="value">The matrix to multiply with the device transform.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::MultiplyTransform</unmanaged>\r
- Result MultiplyTransform( TransformState state, Matrix value );\r
-\r
- /// <summary>\r
- /// Binds a vertex buffer to a device data stream.\r
- /// </summary>\r
- /// <param name="stream">The stream index to bind.</param>\r
- /// <param name="streamData">The stream data to bind.</param>\r
- /// <param name="offsetInBytes">Offset from the beginning of the stream to the beginning of the vertex data, in bytes.</param>\r
- /// <param name="stride">The stride of the vertex data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetStreamSource</unmanaged>\r
- Result SetStreamSource( int stream, VertexBuffer^ streamData, int offsetInBytes, int stride );\r
- \r
- /// <summary>\r
- /// Sets the stream source frequency divider value. This may be used to draw several instances of geometry.\r
- /// </summary>\r
- /// <param name="stream">The stream index.</param>\r
- /// <param name="frequency">The new frequency divider.</param>\r
- /// <param name="source">The type of data being set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetStreamSourceFreq</unmanaged>\r
- Result SetStreamSourceFrequency( int stream, int frequency, StreamSource source );\r
- \r
- /// <summary>\r
- /// Resets the stream source frequency divider to its initial state.\r
- /// </summary>\r
- /// <param name="stream">The stream index.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetStreamSourceFreq</unmanaged>\r
- Result ResetStreamSourceFrequency( int stream );\r
- \r
- /// <summary>\r
- /// Assigns a texture to a stage.\r
- /// </summary>\r
- /// <param name="sampler">Zero-based sampler index.</param>\r
- /// <param name="texture">The texture that is to be bound.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetTexture</unmanaged>\r
- Result SetTexture( int sampler, BaseTexture^ texture );\r
-\r
- /// <summary>\r
- /// Sets a new render target for the device.\r
- /// </summary>\r
- /// <param name="targetIndex">Index of the render target.</param>\r
- /// <param name="target">The new render target.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetRenderTarget</unmanaged>\r
- Result SetRenderTarget( int targetIndex, Surface^ target );\r
-\r
- /// <summary>\r
- /// This method allows the use of GDI dialog boxes in full-screen mode applications.\r
- /// </summary>\r
- /// <param name="enableDialogs"><c>true</c> to enable GDI dialogs, <c>false</c> to disable them.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetDialogBoxMode</unmanaged>\r
- Result SetDialogBoxMode( bool enableDialogs );\r
-\r
- /// <summary>\r
- /// Sets the current user-defined clip plane.\r
- /// </summary>\r
- /// <param name="index">The index of the clipping plane to set.</param>\r
- /// <param name="clipPlane">The new clipping plane data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetClipPlane</unmanaged>\r
- Result SetClipPlane( int index, Plane clipPlane );\r
-\r
- /// <summary>\r
- /// Gets a boolean vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">The register number containing the first constant value.</param>\r
- /// <param name="count">Number of values in the constant.</param>\r
- /// <returns>An array of boolean constants.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetVertexShaderConstantB</unmanaged>\r
- array<bool>^ GetVertexShaderBooleanConstant( int startRegister, int count );\r
-\r
- /// <summary>\r
- /// Gets a floating point vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">The register number containing the first constant value.</param>\r
- /// <param name="count">Number of values in the constant.</param>\r
- /// <returns>An array of floating point constants.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetVertexShaderConstantF</unmanaged>\r
- array<float>^ GetVertexShaderFloatConstant( int startRegister, int count );\r
-\r
- /// <summary>\r
- /// Gets an integer vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">The register number containing the first constant value.</param>\r
- /// <param name="count">Number of values in the constant.</param>\r
- /// <returns>An array of integer constants.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetVertexShaderConstantI</unmanaged>\r
- array<int>^ GetVertexShaderIntegerConstant( int startRegister, int count );\r
-\r
- /// <summary>\r
- /// Gets a boolean pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">The register number containing the first constant value.</param>\r
- /// <param name="count">Number of values in the constant.</param>\r
- /// <returns>An array of boolean constants.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetPixelShaderConstantB</unmanaged>\r
- array<bool>^ GetPixelShaderBooleanConstant( int startRegister, int count );\r
-\r
- /// <summary>\r
- /// Gets a floating point pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">The register number containing the first constant value.</param>\r
- /// <param name="count">Number of values in the constant.</param>\r
- /// <returns>An array of floating point constants.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetPixelShaderConstantF</unmanaged>\r
- array<float>^ GetPixelShaderFloatConstant( int startRegister, int count );\r
-\r
- /// <summary>\r
- /// Gets an integer pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">The register number containing the first constant value.</param>\r
- /// <param name="count">Number of values in the constant.</param>\r
- /// <returns>An array of integer constants.</returns>\r
- /// <unmanaged>IDirect3DDevice9::GetPixelShaderConstantI</unmanaged>\r
- array<int>^ GetPixelShaderIntegerConstant( int startRegister, int count );\r
-\r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of constants to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantB</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<bool>^ data, int offset, int count );\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<float>^ data, int offset, int count );\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<Vector4>^ data, int offset, int count );\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantI</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<int>^ data, int offset, int count );\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantB</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<bool>^ data ) { return SetVertexShaderConstant( startRegister, data, 0, data->Length ); }\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<float>^ data ) { return SetVertexShaderConstant( startRegister, data, 0, data->Length / 4 ); }\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<Vector4>^ data ) { return SetVertexShaderConstant( startRegister, data, 0, data->Length ); }\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantI</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<int>^ data ) { return SetVertexShaderConstant( startRegister, data, 0, data->Length / 4 ); }\r
-\r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, Matrix data );\r
-\r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">A pointer to the constant data.</param>\r
- /// <param name="count">The number of matrices to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, Matrix* data, int count );\r
-\r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">A pointer to the constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, Matrix* data ) { return SetVertexShaderConstant( startRegister, data, 1 ); }\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<Matrix>^ data, int offset, int count );\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetVertexShaderConstantF</unmanaged>\r
- Result SetVertexShaderConstant( int startRegister, array<Matrix>^ data ) { return SetVertexShaderConstant( startRegister, data, 0, data->Length ); }\r
-\r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of constants to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantB</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<bool>^ data, int offset, int count );\r
-\r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<float>^ data, int offset, int count );\r
-\r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<Vector4>^ data, int offset, int count );\r
-\r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantI</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<int>^ data, int offset, int count );\r
-\r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantB</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<bool>^ data ) { return SetPixelShaderConstant( startRegister, data, 0, data->Length ); }\r
- \r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<float>^ data ) { return SetPixelShaderConstant( startRegister, data, 0, data->Length / 4 ); }\r
- \r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<Vector4>^ data ) { return SetPixelShaderConstant( startRegister, data, 0, data->Length ); }\r
- \r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantI</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<int>^ data ) { return SetPixelShaderConstant( startRegister, data, 0, data->Length / 4 ); }\r
- \r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, Matrix data );\r
- \r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="count">The number of matrices to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, Matrix* data, int count );\r
- \r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, Matrix* data ) { return SetPixelShaderConstant( startRegister, data, 1 ); }\r
-\r
- /// <summary>\r
- /// Sets a pixel shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <param name="offset">The offset into the data where constants will start being retrieved.</param>\r
- /// <param name="count">The number of four constant vectors to set.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<Matrix>^ data, int offset, int count );\r
- \r
- /// <summary>\r
- /// Sets a vertex shader constant.\r
- /// </summary>\r
- /// <param name="startRegister">Register number that will contain the first constant value.</param>\r
- /// <param name="data">The constant data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::SetPixelShaderConstantF</unmanaged>\r
- Result SetPixelShaderConstant( int startRegister, array<Matrix>^ data ) { return SetVertexShaderConstant( startRegister, data, 0, data->Length ); }\r
-\r
- /// <summary>\r
- /// Signals Direct3D to begin recording a device-state block.\r
- /// </summary>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::BeginStateBlock</unmanaged>\r
- Result BeginStateBlock();\r
- \r
- /// <summary>\r
- /// Signals Direct3D to stop recording a device-state block.\r
- /// </summary>\r
- /// <returns>The recorded device-state block.</returns>\r
- /// <unmanaged>IDirect3DDevice9::EndStateBlock</unmanaged>\r
- StateBlock^ EndStateBlock();\r
-\r
- /// <summary>\r
- /// Applies the vertex processing defined by the vertex shader to the set of input data streams,\r
- /// generating a single stream of interleaved vertex data to the destination vertex buffer.\r
- /// </summary>\r
- /// <param name="sourceStartIndex">Index of the first vertex to load.</param>\r
- /// <param name="destinationIndex">Index of the first vertex in the destination vertex buffer into which the results are placed.</param>\r
- /// <param name="vertexCount">Number of vertices to process.</param>\r
- /// <param name="destinationBuffer">The destination for the output vertex stream.</param>\r
- /// <param name="vertexDeclaration">The output vertex declaration.</param>\r
- /// <param name="flags">Vertex processing options.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::ProcessVertices</unmanaged>\r
- Result ProcessVertices( int sourceStartIndex, int destinationIndex, int vertexCount, VertexBuffer^ destinationBuffer, SlimDX::Direct3D9::VertexDeclaration^ vertexDeclaration, LockFlags flags );\r
-\r
- /// <summary>\r
- /// Renders non-indexed geometric primitives using data from the current input streams.\r
- /// </summary>\r
- /// <param name="primitiveType">Specifies the type of primitive to render.</param>\r
- /// <param name="startIndex">Index of the first vertex to use.</param>\r
- /// <param name="primitiveCount">The number of primitives to render. The number of vertices used is a function of the primitive count and the primitive type.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawPrimitive</unmanaged>\r
- Result DrawPrimitives( PrimitiveType primitiveType, int startIndex, int primitiveCount );\r
- \r
- /// <summary>\r
- /// Renders the specified geometric primitive using data from the current input streams.\r
- /// </summary>\r
- /// <param name="primitiveType">Specifies the type of primitive to render.</param>\r
- /// <param name="baseVertexIndex">Offset from the start of the vertex buffer to the first vertex.</param>\r
- /// <param name="minimumVertexIndex">Minimum vertex index for vertices used during this call. This is a zero-based index relative to <paramref name="baseVertexIndex" />.</param>\r
- /// <param name="vertexCount">The number of vertices to render.</param>\r
- /// <param name="startIndex">Index of the first index to use when accessing the vertex buffer.</param>\r
- /// <param name="primitiveCount">The number of primitives to render. The number of vertices used is a function of the primitive count and the primitive type.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawIndexedPrimitive</unmanaged>\r
- Result DrawIndexedPrimitives( PrimitiveType primitiveType, int baseVertexIndex, int minimumVertexIndex, int vertexCount, int startIndex, int primitiveCount );\r
- \r
- /// <summary>\r
- /// Renders non-indexed geometric primitives using user-supplied data.\r
- /// </summary>\r
- /// <typeparam name="T">The type of the user-supplied vertices.</typeparam>\r
- /// <param name="primitiveType">Specifies the type of primitive to render.</param>\r
- /// <param name="primitiveCount">The number of primitives to render. The number of vertices used is a function of the primitive count and the primitive type.</param>\r
- /// <param name="data">User-supplied vertex data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawPrimitiveUP</unmanaged>\r
- generic<typename T> where T : value class\r
- Result DrawUserPrimitives( PrimitiveType primitiveType, int primitiveCount, array<T>^ data );\r
- \r
- /// <summary>\r
- /// Renders non-indexed geometric primitives using user-supplied data.\r
- /// </summary>\r
- /// <typeparam name="T">The type of the user-supplied vertices.</typeparam>\r
- /// <param name="primitiveType">Specifies the type of primitive to render.</param>\r
- /// <param name="startIndex">Index of the first vertex in the array to use.</param>\r
- /// <param name="primitiveCount">The number of primitives to render. The number of vertices used is a function of the primitive count and the primitive type.</param>\r
- /// <param name="data">User-supplied vertex data.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawPrimitiveUP</unmanaged>\r
- generic<typename T> where T : value class\r
- Result DrawUserPrimitives( PrimitiveType primitiveType, int startIndex, int primitiveCount, array<T>^ data );\r
-\r
- /// <summary>\r
- /// Renders the specified geometric primitive using user-supplied data.\r
- /// </summary>\r
- /// <typeparam name="S">The type of the data contained in the index data.</typeparam>\r
- /// <typeparam name="T">The type of the data contained in the vertex data.</typeparam>\r
- /// <param name="primitiveType">Specifies the type of primitive to render.</param>\r
- /// <param name="minimumVertexIndex">Minimum vertex index for vertices used during this call.</param>\r
- /// <param name="vertexCount">The number of vertices to render.</param>\r
- /// <param name="primitiveCount">The number of primitives to render. The number of vertices used is a function of the primitive count and the primitive type.</param>\r
- /// <param name="indexData">User-supplied index data.</param>\r
- /// <param name="indexDataFormat">The format of the supplied index data.</param>\r
- /// <param name="vertexData">User-supplied vertex data.</param>\r
- /// <param name="vertexStride">The number of bytes of data for each vertex.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawIndexedPrimitiveUP</unmanaged>\r
- generic<typename S, typename T> where S : value class where T : value class\r
- Result DrawIndexedUserPrimitives( PrimitiveType primitiveType, int minimumVertexIndex, int vertexCount, int primitiveCount, array<S>^ indexData, Format indexDataFormat, array<T>^ vertexData, int vertexStride );\r
- \r
- /// <summary>\r
- /// Renders the specified geometric primitive using user-supplied data.\r
- /// </summary>\r
- /// <typeparam name="S">The type of the data contained in the index data.</typeparam>\r
- /// <typeparam name="T">The type of the data contained in the vertex data.</typeparam>\r
- /// <param name="primitiveType">Specifies the type of primitive to render.</param>\r
- /// <param name="startIndex">Index of the first index in the array to use.</param>\r
- /// <param name="minimumVertexIndex">Minimum vertex index for vertices used during this call.</param>\r
- /// <param name="vertexCount">The number of vertices to render.</param>\r
- /// <param name="primitiveCount">The number of primitives to render. The number of vertices used is a function of the primitive count and the primitive type.</param>\r
- /// <param name="indexData">User-supplied index data.</param>\r
- /// <param name="indexDataFormat">The format of the supplied index data.</param>\r
- /// <param name="vertexData">User-supplied vertex data.</param>\r
- /// <param name="vertexStride">The number of bytes of data for each vertex.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawIndexedPrimitiveUP</unmanaged>\r
- generic<typename S, typename T> where S : value class where T : value class\r
- Result DrawIndexedUserPrimitives( PrimitiveType primitiveType, int startIndex, int minimumVertexIndex, int vertexCount, int primitiveCount, array<S>^ indexData, Format indexDataFormat, array<T>^ vertexData, int vertexStride );\r
-\r
- /// <summary>\r
- /// Renders the specified geometric primitive using user-supplied data.\r
- /// </summary>\r
- /// <typeparam name="S">The type of the data contained in the index data.</typeparam>\r
- /// <typeparam name="T">The type of the data contained in the vertex data.</typeparam>\r
- /// <param name="primitiveType">Specifies the type of primitive to render.</param>\r
- /// <param name="startIndex">Index of the first index in the array to use.</param>\r
- /// <param name="startVertex">Index of the first vertex in the array to use.</param>\r
- /// <param name="minimumVertexIndex">Minimum vertex index for vertices used during this call.</param>\r
- /// <param name="vertexCount">The number of vertices to render.</param>\r
- /// <param name="primitiveCount">The number of primitives to render. The number of vertices used is a function of the primitive count and the primitive type.</param>\r
- /// <param name="indexData">User-supplied index data.</param>\r
- /// <param name="indexDataFormat">The format of the supplied index data.</param>\r
- /// <param name="vertexData">User-supplied vertex data.</param>\r
- /// <param name="vertexStride">The number of bytes of data for each vertex.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawIndexedPrimitiveUP</unmanaged>\r
- generic<typename S, typename T> where S : value class where T : value class\r
- Result DrawIndexedUserPrimitives( PrimitiveType primitiveType, int startIndex, int startVertex, int minimumVertexIndex, int vertexCount, int primitiveCount, array<S>^ indexData, Format indexDataFormat, array<T>^ vertexData, int vertexStride );\r
- \r
- /// <summary>\r
- /// Draws a triangular patch using the currently set streams.\r
- /// </summary>\r
- /// <param name="handle">Handle to the triangular patch to draw.</param>\r
- /// <param name="segmentCounts">An array of three floating point values that identify the number of segments on each edge of the triangular patch.</param>\r
- /// <param name="info">Information on how to draw the triangular patch.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawTriPatch</unmanaged>\r
- Result DrawTrianglePatch( int handle, array<float>^ segmentCounts, TrianglePatchInfo info );\r
- \r
- /// <summary>\r
- /// Draws a triangular patch using the currently set streams.\r
- /// </summary>\r
- /// <param name="handle">Handle to the triangular patch to draw.</param>\r
- /// <param name="segmentCounts">An array of three floating point values that identify the number of segments on each edge of the triangular patch.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawTriPatch</unmanaged>\r
- Result DrawTrianglePatch( int handle, array<float>^ segmentCounts );\r
- \r
- /// <summary>\r
- /// Draws a rectangular patch using the currently set streams.\r
- /// </summary>\r
- /// <param name="handle">Handle to the rectangular patch to draw.</param>\r
- /// <param name="segmentCounts">An array of four floating point values that identify the number of segments on each edge of the rectangular patch.</param>\r
- /// <param name="info">Information on how to draw the rectangular patch.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawRectPatch</unmanaged>\r
- Result DrawRectanglePatch( int handle, array<float>^ segmentCounts, RectanglePatchInfo info );\r
- \r
- /// <summary>\r
- /// Draws a rectangular patch using the currently set streams.\r
- /// </summary>\r
- /// <param name="handle">Handle to the rectangular patch to draw.</param>\r
- /// <param name="segmentCounts">An array of four floating point values that identify the number of segments on each edge of the rectangular patch.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DrawRectPatch</unmanaged>\r
- Result DrawRectanglePatch( int handle, array<float>^ segmentCounts );\r
- \r
- /// <summary>\r
- /// Frees a cached high-order patch.\r
- /// </summary>\r
- /// <param name="handle">Handle of the cached high-order patch to delete.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::DeletePatch</unmanaged>\r
- Result DeletePatch( int handle );\r
-\r
- /// <summary>\r
- /// Copys the contents of the source surface to the destination surface.\r
- /// </summary>\r
- /// <param name="source">The source surface.</param>\r
- /// <param name="sourceRectangle">The area on the source surface that is to be copied.</param>\r
- /// <param name="destination">The destination surface.</param>\r
- /// <param name="destinationRectangle">The area on the destination surface where data will be copied.</param>\r
- /// <param name="filter">The filter that will be used when the data is being stretched.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::StretchRect</unmanaged>\r
- Result StretchRectangle( Surface^ source, System::Drawing::Rectangle sourceRectangle, Surface^ destination, System::Drawing::Rectangle destinationRectangle, TextureFilter filter );\r
- \r
- /// <summary>\r
- /// Copys the contents of the source surface to the destination surface.\r
- /// </summary>\r
- /// <param name="source">The source surface.</param>\r
- /// <param name="destination">The destination surface.</param>\r
- /// <param name="filter">The filter that will be used when the data is being stretched.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::StretchRect</unmanaged>\r
- Result StretchRectangle( Surface^ source, Surface^ destination, TextureFilter filter );\r
-\r
- /// <summary>\r
- /// Copies rectangular subsets of pixels from one surface to another.\r
- /// </summary>\r
- /// <param name="source">The source surface.</param>\r
- /// <param name="sourceRectangle">The area on the source surface that is to be copied.</param>\r
- /// <param name="destination">The destination surface.</param>\r
- /// <param name="destinationPoint">The location on the destination surface where data will be copied.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::UpdateSurface</unmanaged>\r
- Result UpdateSurface( Surface^ source, System::Drawing::Rectangle sourceRectangle, Surface^ destination, System::Drawing::Point destinationPoint );\r
- \r
- /// <summary>\r
- /// Copies rectangular subsets of pixels from one surface to another.\r
- /// </summary>\r
- /// <param name="source">The source surface.</param>\r
- /// <param name="destination">The destination surface.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::UpdateSurface</unmanaged>\r
- Result UpdateSurface( Surface^ source, Surface^ destination );\r
-\r
- /// <summary>\r
- /// Updates the dirty portions of a texture.\r
- /// </summary>\r
- /// <param name="sourceTexture">The source texture.</param>\r
- /// <param name="destinationTexture">The destination texture.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::UpdateTexture</unmanaged>\r
- Result UpdateTexture( BaseTexture^ sourceTexture, BaseTexture^ destinationTexture );\r
- \r
- /// <summary>\r
- /// Fills a rectangular area of a surface with the specified color.\r
- /// </summary>\r
- /// <param name="destinationSurface">The surface that will be filled.</param>\r
- /// <param name="destinationRectangle">The area on the surface that will be filled.</param>\r
- /// <param name="color">The color used for filling.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::ColorFill</unmanaged>\r
- Result ColorFill( Surface^ destinationSurface, System::Drawing::Rectangle destinationRectangle, Color4 color );\r
- \r
- /// <summary>\r
- /// Fills a rectangular area of a surface with the specified color.\r
- /// </summary>\r
- /// <param name="destinationSurface">The surface that will be filled.</param>\r
- /// <param name="color">The color used for filling.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <unmanaged>IDirect3DDevice9::ColorFill</unmanaged>\r
- Result ColorFill( Surface^ destinationSurface, Color4 color );\r
-\r
- /// <summary>\r
- /// Enables or disables render-to-vertex-buffer mode.\r
- /// </summary>\r
- /// <param name="enableR2VB"><c>true</c> to enable render-to-vertex-buffer mode, <c>false</c> to disable it.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <remarks>This functionality is only available on ATI cards which support render to vertex buffer.</remarks>\r
- Result SetR2VBMode( bool enableR2VB );\r
-\r
- /// <summary>\r
- /// Binds a render target to a vertex stream.\r
- /// </summary>\r
- /// <param name="sampler">The sampler that will be used to bind the render target.</param>\r
- /// <param name="r2vbTarget">The target of the binding operation.</param>\r
- /// <param name="stream">The stream index that will be bound to the texture.</param>\r
- /// <param name="stride">The stride of the vertex data.</param>\r
- /// <param name="dummyVertexBuffer">A vertex buffer that is used to fill a required parameter in <see cref="Device::SetStreamSource"/>.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <remarks>This functionality is only available on ATI cards which support render to vertex buffer.</remarks>\r
- Result BindRenderTargetToVertexStream( R2VBSampler sampler, Texture^ r2vbTarget, int stream, int stride, VertexBuffer^ dummyVertexBuffer );\r
- \r
- /// <summary>\r
- /// Unbinds a previously bound vertex buffer as a render target.\r
- /// </summary>\r
- /// <param name="stream">The vertex stream that should be unbound.</param>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- /// <remarks>This functionality is only available on ATI cards which support render to vertex buffer.</remarks>\r
- Result RestoreVertexStream( int stream );\r
-\r
- /// <summary>\r
- /// Gets the capabilities of the rendering device.\r
- /// </summary>\r
- property Capabilities^ Capabilities\r
- {\r
- SlimDX::Direct3D9::Capabilities^ get();\r
- }\r
-\r
- /// <summary>\r
- /// Gets the parameters used to create the device.\r
- /// </summary>\r
- property CreationParameters CreationParameters\r
- {\r
- SlimDX::Direct3D9::CreationParameters get();\r
- }\r
-\r
- /// <summary>\r
- /// Gets the current clip status.\r
- /// </summary>\r
- property ClipStatus ClipStatus\r
- {\r
- SlimDX::Direct3D9::ClipStatus get();\r
- void set( SlimDX::Direct3D9::ClipStatus value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the current fixed-function vertex format.\r
- /// </summary>\r
- property VertexFormat VertexFormat\r
- {\r
- SlimDX::Direct3D9::VertexFormat get();\r
- void set( SlimDX::Direct3D9::VertexFormat value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the current vertex declaration.\r
- /// </summary>\r
- /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
- property SlimDX::Direct3D9::VertexDeclaration^ VertexDeclaration\r
- {\r
- SlimDX::Direct3D9::VertexDeclaration^ get();\r
- void set( SlimDX::Direct3D9::VertexDeclaration^ value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the vertex processing mode.\r
- /// </summary>\r
- /// <value><c>true</c> if the device is using software vertex processing; otherwise, <c>false</c>.</value>\r
- property bool SoftwareVertexProcessing\r
- {\r
- bool get();\r
- void set( bool value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the current material properties used by the device.\r
- /// </summary>\r
- property Material Material\r
- {\r
- SlimDX::Direct3D9::Material get();\r
- void set( SlimDX::Direct3D9::Material value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the currently active viewport.\r
- /// </summary>\r
- property SlimDX::Direct3D9::Viewport Viewport\r
- {\r
- SlimDX::Direct3D9::Viewport get();\r
- void set( SlimDX::Direct3D9::Viewport value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the current scissor rectangle.\r
- /// </summary>\r
- property System::Drawing::Rectangle ScissorRect\r
- {\r
- System::Drawing::Rectangle get();\r
- void set( System::Drawing::Rectangle value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets an estimate of the amount of available texture memory.\r
- /// </summary>\r
- /// <value>The amount of available texture memory, rounded to the nearest MB.</value>\r
- property System::Int64 AvailableTextureMemory\r
- {\r
- System::Int64 get();\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets a value indicating whether the cursor should be shown.\r
- /// </summary>\r
- property bool ShowCursor\r
- {\r
- bool get();\r
- void set( bool show );\r
- }\r
-\r
- /// <summary>\r
- /// Gets the number of implicitly created swap chains.\r
- /// </summary>\r
- property int SwapChainCount\r
- {\r
- int get();\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the current N-patch mode segments.\r
- /// </summary>\r
- /// <value>The number of subdivision segments. If the value is less than 1.0, N-patches are disabled.</value>\r
- property float NPatchMode\r
- {\r
- float get();\r
- void set( float value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the index of the current texture palette.\r
- /// </summary>\r
- /// <returns>An index into the list of possible texture palettes.</returns>\r
- property int CurrentTexturePalette\r
- {\r
- int get();\r
- void set( int value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets the current driver version.\r
- /// </summary>\r
- property DriverLevel DriverLevel\r
- {\r
- SlimDX::Direct3D9::DriverLevel get();\r
- }\r
-\r
- /// <summary>\r
- /// Gets the vertex shader version.\r
- /// </summary>\r
- property System::String^ VertexShaderProfile\r
- {\r
- System::String^ get();\r
- }\r
-\r
- /// <summary>\r
- /// Gets the pixel shader version.\r
- /// </summary>\r
- property System::String^ PixelShaderProfile\r
- {\r
- System::String^ get();\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the current depth-stencil surface.\r
- /// </summary>\r
- property Surface^ DepthStencilSurface\r
- {\r
- Surface^ get();\r
- void set( Surface^ value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the current index data.\r
- /// </summary>\r
- property IndexBuffer^ Indices\r
- {\r
- IndexBuffer^ get();\r
- void set( IndexBuffer^ value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the currently active vertex shader.\r
- /// </summary>\r
- property VertexShader^ VertexShader\r
- {\r
- SlimDX::Direct3D9::VertexShader^ get();\r
- void set( SlimDX::Direct3D9::VertexShader^ value );\r
- }\r
-\r
- /// <summary>\r
- /// Gets or sets the currently active pixel shader.\r
- /// </summary>\r
- property PixelShader^ PixelShader\r
- {\r
- SlimDX::Direct3D9::PixelShader^ get();\r
- void set( SlimDX::Direct3D9::PixelShader^ value );\r
- }\r
-\r
- /// <summary>\r
- /// Returns the instance of the Direct3D object that created this device.\r
- /// </summary>\r
- property Direct3D^ Direct3D\r
- {\r
- SlimDX::Direct3D9::Direct3D^ get();\r
- }\r
- };\r
- }\r
-}\r