C# Class Axiom.RenderSystems.DirectX9.D3DRenderSystem

DirectX9 Render System implementation.
Inheritance: Axiom.Graphics.RenderSystem
Exibir arquivo Open project: mono-soc-2011/axiom Class Usage Examples

Private Properties

Property Type Description
AddManualDepthBuffer DepthBuffer
BeginFrame void
BindGpuProgram void
BindGpuProgramParameters void
BindGpuProgramPassIterationParameters void
CheckMultiSampleQuality bool
CheckTextureFilteringSupported bool
CheckVertexTextureFormats bool
ClearFrameBuffer void
ConfigOptionChanged void
ConvertPixelShaderCaps void
ConvertVertexShaderCaps void
CreateDepthBufferFor DepthBuffer
CreateHardwareOcclusionQuery Axiom.Graphics.HardwareOcclusionQuery
CreateMultiRenderTarget Axiom.Graphics.MultiRenderTarget
CreateRenderSystemCapabilities RenderSystemCapabilities
CreateRenderWindow Axiom.Graphics.RenderWindow
D3DRenderSystem System
DetermineFSAASettings void
DisableTextureUnit void
EnableClipPlane void
EndFrame void
FLOAT2DWORD int
GetDepthStencilFormatFor System.Text.Format
GetErrorDescription string
GetSamplerId int
InitConfigOptions void
Initialize Axiom.Graphics.RenderWindow
InitializeFromRenderSystemCapabilities void
NotifyOnDeviceLost void
PauseFrame RenderSystemContext
PostExtraThreadsStarted void
PreExtraThreadsStarted void
RefreshD3DSettings void
RefreshFsaaOptions void
RegisterThread void
Reinitialize void
Render void
RestoreLostDevice void
ResumeFrame void
SetAlphaRejectSettings void
SetClipPlane void
SetColorBufferWriteEnabled void
SetConfigOption void
SetD3D9Light void
SetDepthBias void
SetDepthBufferParams void
SetFloatRenderState void
SetPointParameters void
SetRenderState void
SetRenderState void
SetRenderState void
SetRenderState void
SetSamplerState void
SetSamplerState void
SetSceneBlending void
SetScissorTest void
SetSeparateSceneBlending void
SetStencilBufferParams void
SetSurfaceParams void
SetTexture void
SetTextureAddressingMode void
SetTextureBlendMode void
SetTextureBorderColor void
SetTextureCoordCalculation void
SetTextureCoordSet void
SetTextureLayerAnisotropy void
SetTextureMipmapBias void
SetTextureStageState void
SetTextureStageState void
SetTextureStageState void
SetTextureUnitFiltering void
SetVertexBufferBinding void
SetVertexDeclaration void
SetVertexTexture void
Shutdown void
UnbindGpuProgram void
UnregisterThread void
UpdateRenderSystemCapabilities RenderSystemCapabilities
UseLights void
ValidateConfigOptions string

Public Methods

Method Description
CleanupDepthBuffers ( Device creator ) : void

This function does NOT override RenderSystem.CleanupDepthBuffers(bool) functionality. On multi monitor setups, when a device becomes "inactive" (it has no RenderWindows; like when the window was moved from one monitor to another); the Device will be destroyed, meaning all it's depth buffers (auto & manual) should be removed from the pool, but only selectively removing those created by that D3D9Device.

NotifyOnDeviceReset ( Axiom.RenderSystems.DirectX9.D3D9Device device ) : void
SetFog ( Axiom.Graphics.FogMode mode, ColorEx color, Real density, Real start, Real end ) : void

Protected Methods

Method Description
SetClipPlanesImpl ( Math planes ) : void
dispose ( bool disposeManagedResources ) : void

Private Methods

Method Description
AddManualDepthBuffer ( Device depthSurfaceDevice, Surface depthSurface ) : DepthBuffer
BeginFrame ( ) : void
BindGpuProgram ( Axiom.Graphics.GpuProgram program ) : void
BindGpuProgramParameters ( GpuProgramType gptype, GpuProgramParameters parms, GpuProgramParameters variability ) : void
BindGpuProgramPassIterationParameters ( GpuProgramType gptype ) : void
CheckMultiSampleQuality ( MultisampleType type, int &outQuality, System.Text.Format format, int adaptNum, DeviceType deviceType, bool fullScreen ) : bool
CheckTextureFilteringSupported ( TextureType ttype, PixelFormat format, TextureUsage usage ) : bool
CheckVertexTextureFormats ( D3DRenderWindow renderWindow ) : bool
ClearFrameBuffer ( FrameBufferType buffers, ColorEx color, Real depth, ushort stencil ) : void
ConfigOptionChanged ( string name, string value ) : void
ConvertPixelShaderCaps ( RenderSystemCapabilities rsc ) : void
ConvertVertexShaderCaps ( RenderSystemCapabilities rsc ) : void
CreateDepthBufferFor ( RenderTarget renderTarget ) : DepthBuffer
CreateHardwareOcclusionQuery ( ) : HardwareOcclusionQuery
CreateMultiRenderTarget ( string name ) : Axiom.Graphics.MultiRenderTarget
CreateRenderSystemCapabilities ( ) : RenderSystemCapabilities
CreateRenderWindow ( string name, int width, int height, bool isFullScreen, NamedParameterList miscParams ) : Axiom.Graphics.RenderWindow
D3DRenderSystem ( ) : System
DetermineFSAASettings ( Device d3D9Device, int fsaa, string fsaaHint, System.Text.Format d3DPixelFormat, bool fullScreen, MultisampleType &outMultisampleType, int &outMultisampleQuality ) : void
DisableTextureUnit ( int texUnit ) : void
EnableClipPlane ( ushort index, bool enable ) : void
EndFrame ( ) : void
FLOAT2DWORD ( float f ) : int
GetDepthStencilFormatFor ( System.Text.Format fmt ) : System.Text.Format
GetErrorDescription ( int errorNumber ) : string
GetSamplerId ( int unit ) : int
InitConfigOptions ( ) : void
Initialize ( bool autoCreateWindow, string windowTitle ) : Axiom.Graphics.RenderWindow
InitializeFromRenderSystemCapabilities ( RenderSystemCapabilities caps, RenderTarget primary ) : void
NotifyOnDeviceLost ( Axiom.RenderSystems.DirectX9.D3D9Device device ) : void
PauseFrame ( ) : RenderSystemContext
PostExtraThreadsStarted ( ) : void
PreExtraThreadsStarted ( ) : void
RefreshD3DSettings ( ) : void
RefreshFsaaOptions ( ) : void
RegisterThread ( ) : void
Reinitialize ( ) : void
Render ( RenderOperation op ) : void
RestoreLostDevice ( ) : void
ResumeFrame ( RenderSystemContext context ) : void
SetAlphaRejectSettings ( CompareFunction func, byte value, bool alphaToCoverage ) : void
SetClipPlane ( ushort index, Real a, Real b, Real c, Real d ) : void
SetColorBufferWriteEnabled ( bool red, bool green, bool blue, bool alpha ) : void
SetConfigOption ( string name, string value ) : void
SetD3D9Light ( int index, Light light ) : void
SetDepthBias ( float constantBias, float slopeScaleBias = 0.0f ) : void
SetDepthBufferParams ( bool depthTest, bool depthWrite, CompareFunction depthFunction ) : void
SetFloatRenderState ( RenderState state, float val ) : void
SetPointParameters ( Real size, bool attenuationEnabled, Real constant, Real linear, Real quadratic, Real minSize, Real maxSize ) : void
SetRenderState ( RenderState state, SlimDX.Color4 val ) : void
SetRenderState ( RenderState state, System val ) : void
SetRenderState ( RenderState state, bool val ) : void
SetRenderState ( RenderState state, int val ) : void
SetSamplerState ( int sampler, SamplerState type, bool value ) : void
SetSamplerState ( int sampler, SamplerState type, int value ) : void
SetSceneBlending ( SceneBlendFactor src, SceneBlendFactor dest, SceneBlendOperation op = SceneBlendOperation.Add ) : void
SetScissorTest ( bool enable, int left, int top, int right, int bottom ) : void
SetSeparateSceneBlending ( SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendFactor sourceFactorAlpha, SceneBlendFactor destFactorAlpha, SceneBlendOperation op = SceneBlendOperation.Add, SceneBlendOperation alphaOp = SceneBlendOperation.Add ) : void
SetStencilBufferParams ( CompareFunction function = CompareFunction.AlwaysPass, int refValue, int mask = -1, Axiom.Graphics.StencilOperation stencilFailOp = StencilOperation.Keep, Axiom.Graphics.StencilOperation depthFailOp = StencilOperation.Keep, Axiom.Graphics.StencilOperation passOp = StencilOperation.Keep, bool twoSidedOperation = false ) : void
SetSurfaceParams ( ColorEx ambient, ColorEx diffuse, ColorEx specular, ColorEx emissive, Real shininess, TrackVertexColor tracking = TrackVertexColor.None ) : void
SetTexture ( int stage, bool enabled, Axiom.Core.Texture texture ) : void
SetTextureAddressingMode ( int stage, UVWAddressing uvw ) : void
SetTextureBlendMode ( int stage, LayerBlendModeEx bm ) : void
SetTextureBorderColor ( int stage, ColorEx borderColor ) : void
SetTextureCoordCalculation ( int stage, TexCoordCalcMethod method, Frustum frustum ) : void
SetTextureCoordSet ( int stage, int index ) : void
SetTextureLayerAnisotropy ( int stage, int maxAnisotropy ) : void
SetTextureMipmapBias ( int unit, float bias ) : void
SetTextureStageState ( int stage, TextureStage type, TextureArgument value ) : void
SetTextureStageState ( int stage, TextureStage type, TextureOperation value ) : void
SetTextureStageState ( int stage, TextureStage type, int value ) : void
SetTextureUnitFiltering ( int stage, FilterType type, FilterOptions filter ) : void
SetVertexBufferBinding ( VertexBufferBinding binding, int numberOfInstances, bool useGlobalInstancingVertexBufferIsAvailable, bool indexesUsed ) : void
SetVertexDeclaration ( Axiom.Graphics.VertexDeclaration decl, bool useGlobalInstancingVertexBufferIsAvailable ) : void
SetVertexTexture ( int stage, Axiom.Core.Texture texture ) : void
Shutdown ( ) : void
UnbindGpuProgram ( GpuProgramType type ) : void
UnregisterThread ( ) : void
UpdateRenderSystemCapabilities ( D3DRenderWindow renderWindow ) : RenderSystemCapabilities
UseLights ( LightList lightList, int limit ) : void
ValidateConfigOptions ( ) : string

Method Details

CleanupDepthBuffers() public method

This function does NOT override RenderSystem.CleanupDepthBuffers(bool) functionality. On multi monitor setups, when a device becomes "inactive" (it has no RenderWindows; like when the window was moved from one monitor to another); the Device will be destroyed, meaning all it's depth buffers (auto & manual) should be removed from the pool, but only selectively removing those created by that D3D9Device.
public CleanupDepthBuffers ( Device creator ) : void
creator Device Device to compare against. Shouldn't be null
return void

NotifyOnDeviceReset() public method

public NotifyOnDeviceReset ( Axiom.RenderSystems.DirectX9.D3D9Device device ) : void
device Axiom.RenderSystems.DirectX9.D3D9Device
return void

SetClipPlanesImpl() protected method

protected SetClipPlanesImpl ( Math planes ) : void
planes System.Math
return void

SetFog() public method

public SetFog ( Axiom.Graphics.FogMode mode, ColorEx color, Real density, Real start, Real end ) : void
mode Axiom.Graphics.FogMode
color Axiom.Core.ColorEx
density Real
start Real
end Real
return void

dispose() protected method

protected dispose ( bool disposeManagedResources ) : void
disposeManagedResources bool
return void