Description | Hierarchy | Fields | Methods | Properties |
type TMaterialRenderer = class(TReferenceCounted)
Interface for material rendering.
Can be used to extend the engine with new materials. Refer to TVideoDriver.AddMaterialRenderer for more informations on how to extend the engine with new materials.
![]() |
function Prepare(Services: TMaterialRendererServices; VType: TVertexType): Boolean; inline; |
![]() |
procedure SetMaterial(Material, LastMaterial: PMaterial; ResetAllRenderStates: Boolean; Services: TMaterialRendererServices); inline; |
![]() |
procedure UnsetMaterial; inline; |
![]() |
property RenderCapability: LongInt read GetRenderCapability; |
![]() |
property Transparent: Boolean read IsTransparent; |
![]() |
function Prepare(Services: TMaterialRendererServices; VType: TVertexType): Boolean; inline; |
Called every time before a new bunch of geometry is being drawn using this material with for example DrawIndexedTriangleList call. Parameters
ReturnsTrue if everything is ok, and false if nothing should be rendered. The material renderer can choose to return false for example if he doesn't support the specified vertex type. This is actually done in D3D8 and D3D9 when using a normal mapped material with a vertex type other than vtTangents. |
![]() |
procedure SetMaterial(Material, LastMaterial: PMaterial; ResetAllRenderStates: Boolean; Services: TMaterialRendererServices); inline; |
Called by the TVideoDriver implementation the let the renderer set its needed render states. Parameters
|
![]() |
procedure UnsetMaterial; inline; |
Called by the TVideoDriver to unset this material. |
![]() |
property Transparent: Boolean read IsTransparent; |
Returns if the material is |