class render::DebugDrawMaterial

Handles rendering of debug shapes.

Public

Constructors

DebugDrawMaterial

DebugDrawMaterial() = default

Methods

staticInitMetaDataInternal

static void InitMetaDataInternal()

Execute

void Execute(GpuCommandBuffer &commandBuffer, const GpuBufferSuballocation &uniformBuffer, const SPtr<Mesh> &mesh, const SubMesh &subMesh)

Executes the material using the provided parameters.

staticGetVariation

static DebugDrawMaterial *GetVariation(DebugDrawMaterialType drawMaterial)

Returns the material variation matching the provided parameters.

~RendererMaterial<T>

virtual ~RendererMaterial<T>() = default

staticGet

static T *Get()

Retrieves an instance of this renderer material.

If material has multiple variations the first available variation will be returned.

staticGetShaderPath

static Path GetShaderPath()

Returns the path to the built-in (non-overriden) shader used by this material.

staticGetShaderDefines

static ShaderDefines GetShaderDefines()

Returns a set of dynamically defined defines used when compiling this shader.

CreateGpuParameterSet

SPtr<GpuParameterSet> CreateGpuParameterSet(u32 set = 0) const override

Creates a new instance of GPU parameters for this material.

Protected

Methods

InitializeInternal

void InitializeInternal(u32 variationIndex)

Initializes the renderer material.

To be called right after construction.

staticIsShaderInitialized

static bool IsShaderInitialized()

Checks if the Shader object has been created.

Not variations of the material can be compiled until the shader is created first.

staticIsRendereMaterialVariationCompiled

static bool IsRendereMaterialVariationCompiled(u32 variationIndex)

Checks if a particular variation has been compiled and initialized.

staticInitializeShader

static TAsyncOp<SPtr<Shader>> InitializeShader()

Initializes the Shader object.

This needs to be done before attempting to compile any instances for the material.

staticCompileRendererMaterialVariation

static TAsyncOp<RendererMaterialBase *> CompileRendererMaterialVariation(const ShaderVariationParameters &variationParameters)

Compiles and initializes a particular variation of the renderer material.

staticCompileShaderVariation

static void CompileShaderVariation(u32 variationIndex)

Compiles a particular shader variation.