Click or drag to resize
AB4D logo

Ab3d.DirectX Namespace

Ab3d.DXEngine namespace is the root namespace for most of the DXEngine's classes
Classes
 ClassDescription
Public classAnaglyphVirtualRealityProvider AnaglyphVirtualRealityProvider is a VirtualRealityProvider that can render stereoscopic anaglyph images that can be viewed with colored glasses - for example red / cyan glasses.
Public classAnaglyphVirtualRealityProviderAnaglyphColorTransformation AnaglyphColorTransformation class defines the matrices that are used to multiply colors for left and right eye. It also defines the gamma value that is used to apply gamma correction before the matrix multiplication.
Public classAssemblyShaderBytecodeProvider AssemblyShaderBytecodeProvider class provides access to compiled shaders stored as embedded resources in an assembly. The class can be registered by EffectsManager with calling its RegisterShaderResource(String, Byte) or RegisterShaderResourceStatic(ShaderBytecodeProvider) methods. This way the EffectsManager will be able to get shader resources (bytecode) from the resources provided by this class.
Public classBackBufferReadyEventArgs BackBufferReadyEventArgs is an event handler that is used for the BackBufferReady event. BackBufferReady event is fired when the scene is rendered to back buffer that is ready to be mapped and copy from graphics card to system memory.
Public classBeginVirtualRealityRenderingStep BeginVirtualRealityRenderingStep is a rendering step that prepares the rendering context for rendering the current eye. It is usually added before DXScene.DefaultPrepareRenderTargetsRenderingStep. When the virtual reality provider defined in current VirtualRealityContext is enabled, this step calls the UpdateRenderingContext(RenderingContext, Boolean) method. If virtual reality provider is not enabled this step does nothing.
Public classBounds Bounds defines a BoundingBox and also provides IsEmpty property.
Public classCameraDistanceSortedRenderingQueue CameraDistanceSortedRenderingQueue is rendering queue where the objects inside the queue are sorted by their distance from the camera. This is uses for transparent object that need to be rendered so that the objects that are more far away from the camera are rendered first. See remarks for more info.
Public classChangeBackBufferRenderingStep ChangeBackBufferRenderingStep can be used to change the current BackBuffer, RenderTargetView, DepthStencilView or Viewport. To set the new back buffer values use the SetNewBackBuffer(Texture2D, Texture2DDescription, RenderTargetView, DepthStencilView, Int32) method. To set the new Viewport value set the NewViewport property. When this rendering step is executed, the OutputMerger targets are chenged (if SetNewBackBuffer was called) and properties related to current back buffer in RenderingContext are changed. If NewViewport is set then also the Viewport in the RenderingContext and in Rasterizer are changed.
Public classClonedRenderablePrimitive ClonedRenderablePrimitive is rendered with the same resources as originalRenderablePrimitiveBase but with different Material.
Public classCommonStates CommonStates class defines that standard BlendStates, DepthStencilStates, RasterizerState and SamplerStates.
Public classCommonUtils CommonUtils class defines a few static utility methods.
Public classCompleteRenderingStep CompleteRendering is the last rendering step. It Presents SwapChain (if used) or prepares the output buffer that can be send to WPF or CPU memory.
Public classContextStatesManager ContextStatesManager is a helper class that is used to set the current BlendStates, DepthStencilStates, RasterizerState and SamplerStates. Before each state change it checks if the state already has the new state value and in this case prevents the actual DirectX state change call to improve performance. ContextStatesManager also collect state changes statistics.
Public classCustomActionRenderingStep CustomActionRenderingStep can be used to execute custom method as part of rendering process.
Public classCustomRenderableNode CustomRenderableNode is a SceneNode that can be used to fully customize the rendering process. This can be done with creating the CustomRenderableNode object with a Func that create a custom RenderablePrimitiveBase object that is then added to the rendering queue. The CustomRenderableNode object can be also created with a custom Action that is called when this SceneNode needs to be rendered (this creates CustomRenderablePrimitive object and adds it to the rendering queue).
Public classCustomRenderablePrimitive CustomRenderablePrimitive is a class that represent the raw renderable object that can be added to rendering queue and is created with providing custom Action that is called when this object needs to be rendered. CustomRenderablePrimitive is use by the CustomRenderableNode object.
Public classCustomRenderingContext CustomRenderingContext is the same as it base RenderingContext class, except that this class has two additional public methods: SetPerFrameData(Int32, DXSceneChangeNotifications) and SetFinalBackBuffer(Texture2D, Texture2DDescription, RenderTargetView).
Public classDeviceCapabilities DeviceCapabilities class describes the capabilities of a DirectX device.
Public classDeviceCreationException DeviceCreationException occurs when the DirectX device cannot be created.
Public classDictionaryShaderBytecodeProvider DictionaryShaderBytecodeProvider class provides access to shaders stored in a simple dictionary with shader name as key and its bytecode (byte array of compiled shader) as values. The class can be registered by EffectsManager with calling its RegisterShaderResource(String, Byte) or RegisterShaderResourceStatic(ShaderBytecodeProvider) methods. This way the EffectsManager will be able to get shader resources (bytecode) from the resources provided by this class.
Public classDirectoryShaderBytecodeProvider DirectoryShaderBytecodeProvider class provides access to shaders stored as files in the specified directory on disk. Resources registered by this DirectoryShaderBytecodeProvider are available by file name with extension but without directory path. The class can be registered by EffectsManager with calling its RegisterShaderResource(String, Byte) or RegisterShaderResourceStatic(ShaderBytecodeProvider) methods. This way the EffectsManager will be able to get shader resources (bytecode) from the resources provided by this class.
Public classDisposableDXResource DisposableDXResource class is a base class for DXEngine resources that can be disposed.
Public classDisposeHelper DisposeHelper class provides DisposeAndNullify methods that can help dispose and nullify a disposable object.
Public classDisposeList DisposeList contains a list of IDisposable objects that are automatically disposed when DisposeList is disposed. The order of disposal is reversed from the order in which the objects were added to the list (first object is disposed last).
Public classDXAttributeCollection DXAttributeCollection contains one or more DXEngine's attributes (DXAttribute) that can be attached to WPF object.
Public classDXAttributeException DXAttributeException is an exception that signals that there is a problem with using a DXAttribute.
Public classDXDevice DXDevice is a DXEngine's wrapper for the DirectX device.
Public classDXDeviceConfiguration DXDeviceConfiguration is used to define properties that are used for creation of DirectX Device and SwapChain.
Public classDXDeviceResource DXDeviceResource class is a base class for all resources that are initialized by DXDevice.
Public classDXDiagnostics DXDiagnostics class contains static properties that define which diagnostics features of the DXEngine will be turned on.
Public classDXEngineComException DXEngineException exception thrown is thrown when an error occured when calling DirectX COM methods. The exception class contains details information about the error in the Descriptor property.
Public classDXEngineException DXEngineException is base class for all exception thrown in Ab3d.DXEngine.
Public classDXHitTestContext DXHitTestContext provides a context information for hit testing.
Public classDXHitTestOptions DXHitTestOptions class specifies hit testing parameters that are used with DXScene's hit testing.
Public classDXHitTestResult DXHitTestResult is a base class for hit test results in DXEngine.
Public classDXRayHitTestResult DXRayHitTestResult class provides result of a ray hit test.
Public classDXRayHitTestWpfModel3DResult DXRayHitTestWpfModel3DResult class provides result of a ray hit test with a WPF's GeometryModel3D.
Public classDXRayInstancedHitTestResult DXRayInstancedHitTestResult class provides result of a ray hit test that is executed on instanced object.
Public classDXResourceBase DXResourceBase class is the base class for any DXEngine's resource
Public classDXResourcesTracker DXResourcesTracker collects classes that implement IDXResource and can report all colleced classes. Objects are collected with WeakReference.
Public classDXScene DXScene is the main object in the DXEngine rendering engine. It defines the 3D scene in a hierarchical tree hat starts with the RootNode. It updates the SceneNodes and renders them.
Public classDXSceneInitializationException DXSceneInitializationException is thrown by DXView when no GraphicsProfile can be initialized.
Public classDXSceneResource DXSceneResource class is a base class for all resources that are initialized by DXScene.
Public classDXWireframeHelper DXWireframeHelper class contains methods that can be used to annotate ModelVisual3D or Model3D with special property that is used by DXEngine to render the objects with the specified wireframe settings.
Public classEffect Effect is a base class for all effects that can render a mesh (vertex and index buffer) with the material that defines the properties that defined the effect.
Public classEffectRegisteredEventArgs EffectRegisteredEventArgs class defines the Effect that was registered by EffectsManager and is used in the EffectRegistered event in EffectsManager.
Public classEffectsManager EffectsManager class help use the Effect classes. It provides loading, caching and reusing the effects and shaders. All access to effects and shaders is thread safe.
Public classExtensions Extensions class provides extension methods to convert WPF types to SharpDX types and vice versa.
Public classFeatureLevelsNotSupportedException FeatureLevelsNotSupportedException occurs when the DirectX 11 device cannot be created because the the adapter (graphics card) does not support the required feature levels.
Public classFileShaderBytecodeProvider FileShaderBytecodeProvider class provides access to shaders stored as files in file system. The class can be registered by EffectsManager and can be used to generate shaders from the files registered by this class. Before the files can be accessed, the files must be registered by AddResourceFile(String, String), AddResourceFile(String) or AddResourceFiles(IEnumerableString).
Public classGeometryMesh GeometryMesh class is used to create Index and Vertex buffers from list of positions, normals, textureCoordinates and triangleIndices.
Public classGeometryMeshGenerator GeometryMeshGenerator contains static methods that can create Mesh objects.
Public classGraphicsProfile GraphicsProfile specifies the settings that are used to initialize DXDevice with DirectX 11 device and DXSceneView.
Public classGraphicsProfileRejectedEventArgs GraphicsProfileRejectedEventArgs is used for GraphicsProfileRejected event and specifes the reasons why the GraphicsProfile was rejected.
Public classHandleCreatedEventArgs HandleCreatedEventArgs is used for the HandleCreated event.
Public classHitTester HitTester is a class that can be used do a hit testing on a mesh data with vertex and index buffer. The static methods in this class take a Ray, various types of vertex buffers, index buffer and a few flags and returns a hit test result.
Public classInitializeRenderingStep InitializeRendering is the first rendering step. It sets up the RenderingContext with current RenderTargets, resets statistics, etc.
Public classInputElementFactory InputElementFactory is a helper class that can help with creation of InputElement arrays.
Public classInstancedMeshNode InstancedMeshNode represents a SceneNode that can render multiple instances of DXEngine's Mesh.
Public classInvalidDxEngineResourceException InvalidDxEngineResourceException exception is thrown when a Texture2D, Buffer, View or some other resource is not in the expected format or was not created with the expected flags.
Public classMaterial Material is a base abstract class from which all DXEngine's material must be derived from.
Public classMaterialSortedRenderingQueue MaterialSortedRenderingQueue is rendering queue where the objects inside the queue are sorted so that objects with the same material are rendered one after another - this minimizes the state changes and increases the performance.
Public classMeshBase MeshBase is a base class that defines the data about one 3D model that are stored in the DirectX structures that are used to draw the model.
Public classMeshObjectNode MeshObjectNode is an ObjectNode that can render an object that is defined by object derived from MeshBase class.
Public classMeshOctTree MeshOctTree class organizes the triangles in 3D space into multiple levels of MeshOctTreeNode objects so that the search of a triangle or check for triangle ray intersection is very efficient. Each MeshOctTreeNode divide its space into 8 child MeshOctTreeNode.
Public classMeshOctTreeNode MeshOctTreeNode class represents one node in a MeshOctTree data structure. Each node represents its part of the 3D space that is defined by the BoundingBox. The node contains triangles that can be fully fitted into node's BoundingBox (and do not find in any of the child nodes). Each node (except the nodes on the MaxNodeLevel) can have up to 8 child MeshOctTreeNodes (number can be lower in case some nodes does not contain any triangles).
Public classMeshTrianglesSorter MeshTrianglesSorter can be used to sort triangle indices by camera distance. Sorting is done by calling SortByCameraDistance(Vector3, Boolean) method. After that call the SortedIndicesArray array is set to the sorted triangle indices array. MeshTrianglesSorter can be created by vertex buffer defined by PositionNormalTexture, PositionNormal or Vector3.
Public classObjectNode ObjectNode is a SceneNode that is used by scene nodes that can produce renderable objects (objects derived from RenderablePrimitiveBase class). Renderable objects are defined in the overridden CollectRenderableObjects method.
Public classOctTreeObsolete.
OctTree class is obsolete and can be removed in a future version. Please use MeshOctTree instead.
Public classOctTreeNodeObsolete.
OctTreeNode class is obsolete and can be removed in a future version. Please use MeshOctTreeNode instead.
Public classOnePixelTexture OnePixelTexture class creates a ShaderResourceView with a 1x1 texture (one pixel) with the specified color. The class also provides easy updating of the color. When you do not need to update the color of the texture, then you can also use a static CreateOnePixelTexture(Device, Color4, Format) method. User needs to dispose the created OnePixelTexture to prevent resources leaking.
Public classOptimizedPointMeshT OptimizedPointMesh class is used to show point cloud and can dynamically reduce the number of rendered positions to improver rendering performance. It creates one Vertex buffer and multiple Index buffers that are used to provide different level of optimized sub-sets of all the vertices.
Public classPlanarShadowRenderingProvider PlanarShadowRenderingProvider provides support for rendering shadows on a 3D plane surface.
Public classPreparePostProcessingRenderingStep PreparePostProcessingRenderingStep prepares Shader resources and Render targets for RenderPostProcessingRenderingStep.
Public classPrepareRenderTargetsRenderingStep PrepareRenderTargets is a rendering step that is usually called before objects are rendered. This step also calls DXScene's AfterFrameInitialized event.
Public classPrepareSsaoRenderingStep PrepareSsaoRenderingStep rendering step prepares other rendering steps for SSAO rendering.
Public classPrepareVarianceShadowMappingRenderingStep PrepareVarianceShadowMappingRenderingStep rendering step prepares other rendering steps for variance shadow rendering.
Public classRenderableInstancedObjectsPrimitive RenderableInstancedObjectsPrimitive class is a RenderablePrimitive that can be used to render multiple instances of geometry based DXScene's ObjectNode and where the instances are defined by VertexBufferBinding.
Public classRenderableMeshPrimitive RenderableMeshPrimitive class is a RenderablePrimitive that can be used to render geometry based on the MeshBase and SubMesh.
Public classRenderableObjectNodePrimitive RenderableObjectNodePrimitive class is a RenderablePrimitive that can be used to render 3D objects created from DXScene's ObjectNode objects.
Public classRenderablePrimitive RenderablePrimitive is a base class that is derived from RenderablePrimitiveBase and implements rendering geometry based on the resources defined by the RenderablePrimitive constructor.
Public classRenderablePrimitiveBase RenderablePrimitiveBase is a base abstract class that represents a low level geometry object that is prepared to be rendered with DirectX. It contains all required DirectX buffers and required data to prepare the rendering states. RenderablePrimitiveBase objects are rendered in the RenderObjectsRenderingStep rendering step and can be added to any RenderingQueue.
Public classRenderablePrimitiveRenderingQueue RenderablePrimitiveRenderingQueue is derived from RenderingQueue. The difference from RenderingQueue is that RenderablePrimitiveRenderingQueue can accept (with Add method) only objects derived from RenderablePrimitive. This is useful for rendering queues that need to be sorted for example MaterialSortedRenderingQueue and CameraDistanceSortedRenderingQueue.
Public classRenderingContext RenderingContext defines the context of the current rendering pass.
Public classRenderingEventArgs RenderingEventArgs contains the RenderingContext and is used for AfterFrameInitialized and AfterObjectsRendered events on DXScene.
Public classRenderingQueue RenderingQueue is a queue that is used to store renderable objects that have similar properties and are rendered one after another. Objects inside the queue can be reordered or sorted to improve performance or make sure that the rendered results are correct (for example for transparency sorting).
Public classRenderingQueueSortingCompletedEventArgs RenderingQueueSortingCompletedEventArgs is used for the SortingCompleted event. The event is called after the RenderingQueue is sorted. It allows the code in the event handler to change the order in which objects are rendered by changing the values in the SortedIndexes array (note: use RenderablePrimitives.Count to get number of items because SortedIndexes.Length may be to big).
Public classRenderingStatistics RenderingStatistics collects various rendering statistics for one rendered frame.
Public classRenderingStepBase RenderingStepBase is an abstract base class for other rendering step classes. It does not define any rendering logic but provides handling BeforeRunningStep and AfterRunningStep event handling.
Public classRenderingStepsFlowControl RenderingStepsFlowControl is a class that defines a RenderingStep that can control the flow of rendering steps execution with dynamically changing the rendering step that will be exected next.
Public classRenderingStepsGroup RenderingStepsGroup is a rendering step that can group multiple rendering steps inside its Children list of rendering steps.
Public classRenderingStepsList RenderingStepsList is a collection of rendering steps. It provides additional methods to add rendering steps before and after specific rendering step.
Public classRenderingStepsLoop RenderingStepsLoop can be used to create loops in RenderingsSteps list. The loop is created with specifiying the beginLoopRenderingStep that is the first RenderingStep in the loop. The beginLoopRenderingStep is executed when the loopPredicate returns true. When the loopPredicate returns false, the execution will continue on the rendering step after this RenderingStepsLoop.
Public classRenderObjectsRenderingStep RenderObjects renders the objects
Public classRenderPostProcessingRenderingStep RenderPostProcessing renders the post processing effects.
Public classRenderSpritesRenderingStep RenderSpritesRenderingStep rendering step renders the sprites that are defined in the SpriteBatches.
Public classRenderSsaoPostProcess RenderSsaoPostProcess is a post-process that uses normal-depth map and rendered Screen Space Ambient Occlusion (SSAO) texture.
Public classRenderTextureRenderingStep RenderTextureRenderingStep is a rendering step that can render the specified SourceTexture (as ShaderResourceView) to a part of the screen specified with the TargetViewport. Rendering of the colors can be adjusted with setting the Offsets and Factors. It is also possible to specify a CustomBlendState and CustomDepthStencilState.
Public classResolveBackBufferRenderingStep ResolveBackBufferRenderingStep resolves the multi-sampled back buffer (MSAA) and down-samples the super-samples back buffer (SSAA) into a back buffer without multi-sampling. The source buffer is get from the renderingContext.CurrentBackBuffer. The destination buffer can be customized by calling SetCustomDestinationBuffer(Texture2D, Texture2DDescription, RenderTargetView). When this method is not called, then the renderingContext.FinalBackBuffer is used for destination buffer.
Public classResolveStereoscopicImagesRenderingStep ResolveStereoscopicImagesRenderingStep is a base class for presenting stereoscopic images for left and right eye to the final RenderTarget. The actual implementation of how the two images are presented must be defined in the derived class. This class provides properties that define ShaderResourceView for left and right eye.
Public classResourceCreationException ResourceCreationException exception is thrown when DXEngine's resources cannot be found or are not defined correctly.
Public classSceneNode SceneNode class represents a basic component of a 3D scene that is composed of various SceneNodes organized in a hierarchical structure.
Public classScreenSpaceAmbientOcclusionRenderingProvider ScreenSpaceAmbientOcclusionRenderingProvider provides support for using ambient occlusion to dim the ambient light on areas where it would be occluded by 3D objects. The class implements Screen Space Ambient Occlusion (SSAO) that provides a fast real-time rendering approximation of ambient occlusion. Note that SSAO does not work for PBR (Physically Based Rendering) materials because there usually a pre-calculated ambient occlusion texture is used. Also IShadowCastingNode and IShadowReceivingNode does not work with SSAO.
Public classScreenSpaceLineMesh ScreenSpaceLineMesh class prepares the low level DirectX objects (Index and Vertex buffers) for rendering screen-space 3D lines.
Public classScreenSpaceLineNode ScreenSpaceLineNode class is an ObjectNode that represent one or more 3D lines. The lines are generated in a geometry shader that reads line positions and generates triangles in such a way that the triangles face the camera and define the lines with specified thickness in screen coordinates. Line thickness, color and other properties are defined by the LineMaterial.
Public classShaderBytecodeProvider ShaderBytecodeProvider is an abstract class that is a base class for all classes that represent the source of shader byte code. The EffectsManager uses the GetShaderBytecode(String) to get the requested shader resource by its name.
Public classShadowLightData ShadowLightData class defines data that are required for shadow mapping and are generated from one shadow light.
Public classShadowRenderingProviderBase ShadowRenderingProviderBase is an abstract class that is a base class for all shadow rendering providers that change DXEngine rendering steps with adding shadow rendering.
Public classSharedDXDeviceResource SharedDXDeviceResource class is a base class for DXEngine's resources that are initialized by DXDevice and can be shared by many difference objects.
Public classSharedDXResource SharedDXResource class is a base class for DXEngine's resources that can be shared by many difference objects.
Public classSharedDXResourceWrapperT SharedDXResourceWrapper class is a generic wrapper class that can wrap any IDisposable object and adds reference counting to it.
Public classSharedDXSceneResource SharedDXSceneResource class is a base class for DXEngine's resources that are initialized by DXScene and can be shared by many difference objects.
Public classSimpleMeshT SimpleMesh class is used to create Index and Vertex buffers from a list of structs which type is defined by the type T. For example the following struct SimpleMesh<PositionTexture> is used to define a mesh from a List of PositionTexture structs.
Public classSimpleResolveStereoscopicImagesRenderingStep SimpleResolveStereoscopicImagesRenderingStep is a RenderingStep that is using a pixel shader for presenting stereoscopic images for left and right eye to the final RenderTarget. This class provide basic logic with preparing the quad mesh and vertex shader. The user of the class must provide an Action that takes RenderingContext as parameter and binds a pixel shader and sets its constant buffers (LeftEyeShaderResourceView and RightEyeShaderResourceView are already bind to slots 0 and 1 by this SimpleResolveStereoscopicImagesRenderingStep).
Public classSimpleShaderBytecodeProvider SimpleShaderBytecodeProvider class provides access to one shader bytecode with a specified resource name. The class can be registered by EffectsManager with calling its RegisterShaderResource(String, Byte) or RegisterShaderResourceStatic(ShaderBytecodeProvider) methods. This way the EffectsManager will be able to get shader resources (bytecode) from the resources provided by this class.
Public classSortedRenderablePrimitiveRenderingQueue RenderablePrimitiveRenderingQueue is derived from RenderingQueue. The difference from RenderingQueue is that RenderablePrimitiveRenderingQueue can accept (with Add method) only objects derived from RenderablePrimitive. This is useful for rendering queues that need to be sorted for example MaterialSortedRenderingQueue and CameraDistanceSortedRenderingQueue.
Public classSplitScreenVirtualRealityProvider SplitScreenVirtualRealityProvider is a VirtualRealityProvider that can render stereoscopic images where image for the left eye is rendered in one half of the screen and image for the right is rendered in the other half of the screen. This type of 3D rendering can be seen by the 3D TV displays. The SplitScreenVirtualRealityProvider supports SideBySide (vertical) and TopAndBottom (horizontal) split screen.
Public classSpriteBatch SpriteBatch class defines a collection of sprites (textures) that can be very quickly rendered to the 3D scene defined by DXScene object.
Public classSsaoBlurPostProcess SsaoBlurPostProcess is a post process that applies blur to Ssao texture.
Public classStereoscopicVirtualRealityProvider StereoscopicVirtualRealityProvider is an abstract class and provides common logic to render stereoscopic images.
Public classSubMesh SubMesh is part of the MeshBase that uses the same vertex and index buffers as the MeshBase but use its own Material, StartIndexLocation and IndexCount.
Public classSuperShadowShaderEffect SuperShadowShaderEffect is an effect that can use SuperShader and configure it to render the scene with using the shadow mapping buffer that was rendered before.
Public classTextureCache TextureCache class provides texture cashing for DXEngine.
Public classTextureInfo TextureInfo defines some properties of the texture.
Public classTextureLoader TextureLoader static class contains a method that can load image file into ShaderResourceView. In case the image file is png, jpg, tiff, gif, bmp or ico then WIC image decoder is used. In case the image file is dds (DirectDraw Surface file format that is optimized for DirectX graphics), the internal DDS file loader is used.
Public classTransformation Transformation defines the Matrix that is used to transform the SceneNode. Transformation is optimized for cases where the Matrix is identity (no transformation).
Public classUpdateStatusEventArgs UpdateStatusEventArgs is used in the AfterUpdated event and defines the DXScene's dirty flags and a Boolena that specifes if the new frame needs to be rendered (this value can be changed by the event subscriber).
Public classVarianceDepthBlurPostProcess VarianceDepthBlurPostProcess is a post process that applies blur to depth data created with variance depth mapping.
Public classVarianceShadowDepthEffect VarianceShadowDepthEffect renders the objects with writing the object's depth and depth squared into the render target.
Public classVarianceShadowRenderingProvider VarianceShadowRenderingProvider provides support for rendering shadows with using Variance shadow rendering technique. Currently only one SpotLight or one DirectionalLight shadow casting light are supported.
Public classVirtualRealityContext VirtualRealityContext provides base class for describing the context used for rendering a virtual reality scene. During rendering of the scene, the VirtualRealityContext can be read from the VirtualRealityContext property. The instace of VirtualRealityContext is created in the VirtualRealityProviderBase.CreateVirtualRealityContext method.
Public classVirtualRealityProviderBase VirtualRealityProviderBase is a base abstract class for all classes that provide virtual reality support to DXEngine.
Structures
 StructureDescription
Public structureDXAttribute DXAttribute is a single DXEngine attribute that can be attached to a WPF object. It consists of a attribute type (as DXAttributeType) and its value (as object). The attribute can be attached to a WPF 3D object by using an extension methods (for example SetDXAttribute(Geometry3D, DXAttributeType, Object)).
Public structureInstanceData InstanceData contains World and Color data that describe the world transformation and color of one geometry instance. After each change of InstancesData user must call Update method in InstancedGeometryVisual3D.
Public structurePositionNormal PositionNormal is a struct used for vertex buffer that defines Position and Normal
Public structurePositionNormalColor PositionNormalTexture is a struct used for vertex buffer that defines Position, Normal and Color (as Color3).
Public structurePositionNormalTexture PositionNormalTexture is a struct used for vertex buffer that defines Position, Normal and TextureCoordinate
Public structurePositionTexture PositionTexture is a struct used for vertex buffer that defines Position, TextureCoordinate
Public structurePositionTextureColor PositionTextureColor is struct used for vertex buffer that defines Position, TextureCoordinate and Color
Public structureRenderingStepsListEnumerator Enumerator for enumerating RenderingStepBase
Interfaces
 InterfaceDescription
Public interfaceICamera ICamera is base interface that defines a 3D camera in DXEngine
Public interfaceIDisposableDXResource IDisposableDXResource interface defines the IsDisposed property.
Public interfaceIDXDeviceResource IDXDeviceResource interface defines properties and methods that are used by resources that are initialized by DXDevice.
Public interfaceIDXResource IDXResource interface defines base properties for any DXEngine's resource
Public interfaceIDXSceneResource IDXSceneResource interface defines properties and methods that are used by resources that are initialized by DXScene.
Public interfaceIDynamicVertexBufferCreator IDynamicVertexBufferCreator interface defines CreateDynamicVertexBuffer property and is used on meshes that can create a dynamic vertex buffer.
Public interfaceILightNode ILightNode interface is used by SceneNodes that contain a light.
Public interfaceIMeshNode IMeshNode interface is implemented by SceneNodes that defined GetMesh method.
Public interfaceIMultiPassEffect IMultiPassEffect interface provides methods that are used for effect with multiple rendering passes.
Public interfaceIOctTreeMesh IOctTreeMesh interface defines OctTree property and CreateOctTree method and is used by meshes that can use OctTrees.
Public interfaceIRayHitTestedObject IRayHitTestedObject interface can be implemented by a objects that supports hit testing.
Public interfaceIShadowCastingNode IShadowCastingNode interface is implemented by a SceneNode that can cast shadow and implements the IsCastingShadow property.
Public interfaceIShadowReceivingNode IShadowReceivingNode interface is implemented by a SceneNode that can receive shadow and implements the IsReceivingShadow property.
Public interfaceISharedDXResource ISharedDXResource interface defines properties that are used for reference counted resources that can be shared by many difference objects.
Public interfaceISortedRenderingQueue ISortedRenderingQueue interface defines methods that are used by RenderingQueue that support sorting of its items.
Public interfaceITriangularMesh ITriangularMesh interface can be implemented by meshes that are defined from triangles and implement TrianglesCount property and GetTrianglePositions(Int32, Vector3, Vector3, Vector3) method.
Delegates
 DelegateDescription
Public delegateBackBufferReadyEventHandler BackBufferReadyEventHandler is used to describe the BackBufferReady event handler
Public delegateCustomActionRenderingStepCustomActionHandler Delegate that defined the CustomAction used by CustomActionRenderingStep.
Public delegateEffectRegisteredEventHandler EffectRegisteredEventHandler is an event handler with EffectRegisteredEventArgs as an argument and is used for the EffectRegistered event in EffectsManager.
Public delegateHandleCreatedEventHandler HandleCreatedEventHandler is a delegate for the HandleCreatedEventArgs.
Public delegateRenderingEventHandler RenderingEventHandler is an event handler with RenderingEventArgs as event arguments
Public delegateRenderingQueueSortingCompletedEventHandler RenderingQueueSortingCompletedEventHandler is an event handler with SortingCompleted event.
Public delegateUpdateStatusEventHandler UpdateStatusEventHandler is an event handler with UpdateStatusEventArgs as event arguments
Enumerations
 EnumerationDescription
Public enumerationContextStatesManagerResetType ResetType enum contain values that can be used to reset only some of the current values in ContextStatesManager.
Public enumerationDXAttributeType DXAttributeType enum defines possible types of DXAttributes that can be used to annotate WPF objects with DXEngine's properties.
Public enumerationDXDiagnosticsLogLevels LogLevels define log levels that are used to specify which DXEngine messages are written to Console / Output window.
Public enumerationDXHitTestOptionsHitTestFilterResultSpecifies the return result of a hit test filter callback method.
Public enumerationDXSceneChangeNotifications ChangeNotifications enum defines flags that describe what changes have occur in the DXScene from last time the scene was rendered.
Public enumerationEye Represents left or right eye.
Public enumerationGraphicsProfileDriverTypes DriverTypes enum defined the driver types that can be used by DXSceneView
Public enumerationGraphicsProfileRejectedReason GraphicsProfileRejectedReason defines reasons that describe why the GraphicsProfile is rejected.
Public enumerationInputLayoutType InputLayoutType defines the possible components of InputLayout. Note that it is possible to define data for first and second input slot.
Public enumerationRenderablePrimitiveBaseRenderablePrimitiveRenderingFlags RenderablePrimitiveRenderingFlags define flags that can be used by the RenderingFlags field.
Public enumerationRenderTextureRenderingStepTextureChannelsCount TextureChannelsCount enum defines how many channels (colors) will be rendered with the RenderTextureRenderingStep.
Public enumerationSceneNodeSceneNodeDirtyFlags SceneNodeDirtyFlags enum defines the flags that are used to mark which part of the SceneNode was changed (is dirty).
Public enumerationShaderQuality ShaderQuality enum specifies possible values for shader quality that define what kind of shaders should be used to render the scene.
Public enumerationSortedRenderablePrimitiveRenderingQueueRenderingQueueSorterType RenderingQueueSorterType defines types of sorting that can be used by a RenderingQueue
Public enumerationSplitScreenVirtualRealityProviderSplitScreenType SplitScreenType defines the possible types of split screen.
Public enumerationSupersamplingResolveFilterType SupersamplingResolveFilterType enum defines possible filtering types that are used to down-sample a super-sampled texture.
Public enumerationTextureFilteringTypes TextureFilteringTypes enum defines the common Texture filtering types.