Click or drag to resize
AB4D logo

Ab3d.DirectX.Materials Namespace

Ab3d.DXEngine.Materials namespace contains classes and interfaces that can represent various materials in DXEngine.
Classes
 ClassDescription
Public classDXCubeMap DXCubeMap class is used to create a cube map that can be used in DXEngine. Cube map is created from 6 textures - each for one side of the cube.
Public classEffectMaterial EffectMaterial is a material that uses the custom Effect to draw the material.
Public classFaceColorMaterial FaceColorMaterial can be used to render 3D objects with specifying color for each of its face (triangle). The face colors are provided with the FaceColors array (each array element provides Color4 for the triangle with the same index). When color's alpha value is below 0.01, then the whole triangle is discarded and will not be rendered.
Public classHiddenLineMaterial HiddenLineMaterial defines properties for 3D lines that will be rendered only in parts that should be hidden - line parts that are behind other 3D objects.
Public classLineCapMaterial LineCapMaterial is used to render a line cap. This materials should be created internally by the DXEngine and should not be used by the user.
Public classLineMaterial LineMaterial defines properties that define how 3D lines are drawn.
Public classModelColorLineMaterial ModelColorLineMaterial class is similar to LineMaterial but instead of specifying a fixed line color, the color of the line color is get from the color of the Model's material.
Public classMultiMapMaterial MultiMapMaterial class defines a DXEngine's material that can use multiple texture maps.
Public classPhysicallyBasedMaterial PhysicallyBasedMaterial class defines a DXEngine's material that defines a material for Physically based rendering (PBR material).
Public classPixelMaterial PixelMaterial defines how 3D pixels are drawn with the PixelEffect.
Public classPositionColoredLineMaterial PositionColoredLineMaterial is a LineMaterial that contains additional properties that can be used to render 3D lines with different start and end colors.
Public classStandardMaterial StandardMaterial is a material that defines the standard properties to show the diffuse, specular and emissive material properties.
Public classTextureMapInfo TextureMapInfo class defines fields that describe one texture map. The class is used in IMultiMapMaterial that is used by MultiMapMaterial and PhysicallyBasedMaterial.
Public classVertexColorMaterial VertexColorMaterial can be used to render 3D objects with specifying color for each of its position.
Public classWpfMaterial WpfMaterial is a class that gets a WPF Material and converts it into a material that can be used by Ab3d.DXEngine.
Public classXRayMaterial XRayMaterial can be used to render the 3D object as as it would be photographed by an x-ray.
Interfaces
 InterfaceDescription
Public interfaceIConstantBuffersCache IConstantBuffersCache interface can be implemented by a Material that supports cashing constant buffers.
Public interfaceIDiffuseMaterial IDiffuseMaterial interface defines properties that define a material that reflect diffuse light.
Public interfaceIDiffuseTextureMaterial IDiffuseTextureMaterial interface defines properties that define a material with textures.
Public interfaceIEmissiveMaterial IEmissiveMaterial interface defines properties that define a material that emit the light in a specifed color - the object is always in the EmissiveColor regardless of the lights.
Public interfaceIEnvironmentalMapMaterial IEnvironmentalMapMaterial interface defines properties that define a material that show reflection of the environment defined by the EnvironmentalCubeMap.
Public interfaceIFaceColorMaterial IFaceColorMaterial interface defines the FaceColorsShaderResourceView property that is used to specify vertex buffer that defines colors for each face (triangle).
Public interfaceIHiddenLineMaterial IHiddenLineMaterial interface provides a property that specify if the hidden part of the line will be rendered.
Public interfaceILineMaterial ILineMaterial interface defines properties that define a line material - 3D object with this material will be rendered as wireframe.
Public interfaceILinePattern ILinePattern interface can be implemented by a Line material that support line patterns.
Public interfaceILineRenderingTechnique ILineRenderingTechnique interface is used to override the DXScene line rendering setting.
Public interfaceIMultiMapMaterial IMultiMapMaterial interface defines TextureMaps property that is a list of TextureMapInfo objects and is used to define a material that uses multiple texture maps.
Public interfaceIPhysicallyBasedMaterial IPhysicallyBasedMaterial interface defines basic values that are used with material for Physically based rendering (PBR material).
Public interfaceIPixelMaterial IPixelMaterial interface defines properties that define a pixel material.
Public interfaceIPolyLine IPolyLine interface is used by line materials that can define poly lines (connected line segments).
Public interfaceISpecularMaterial ISpecularMaterial interface defines properties that define specular properties of the material.
Public interfaceITransparentMaterial ITransparentMaterial interface defines HasTransparency property that specifies if this material need to be rendered with alpha blending enabled.
Public interfaceITwoSidedMaterial ITwoSidedMaterial interface defines IsTwoSided property that specifies if this material should be rendered on both front and back side.
Public interfaceIVertexColorMaterial IVertexColorMaterial interface defines the VertexColorsVertexBufferBinding property that is used to specify vertex buffer that defines colors for each position.
Public interfaceIVertexScalesMaterial IVertexSizeMaterial interface defines the VertexSizesVertexBufferBinding property that is used to specify vertex buffer that defines scales (as one float value) for each position.
Public interfaceIZBufferStateMaterial IZBufferStateMaterial defines ReadZBuffer and WriteZBuffer properties that control how ZBuffer is used.
Delegates
 DelegateDescription
Public delegateCalculateLineCapSizeDelegate CalculateLineCapSizeDelegate is used for a delegate that calculates the size of line cap.
Enumerations
 EnumerationDescription
Public enumerationDXCubeMapFlipBitmapType Type of flip operaton that can be done on the bitmap
Public enumerationLineCap LineCap enum defines the shape of the line at its start or its end.
Public enumerationTextureMapTypes TextureMapTypes enum define possible types of texture maps. The enum is used by the TextureMapInfo class.