struct CCL::IMaterial3D

Overview

3D material interface. More…

#include <imodel3d.h>

struct IMaterial3D: public CCL::IShaderParameterProvider3D
{
    // methods

    virtual GraphicsContentHint CCL_API getMaterialHint () const = 0;
    virtual IGraphicsShader3D*CCL_API getPixelShader () const = 0;
    virtual void CCL_API setDepthBias (float bias) = 0;
    virtual float CCL_API getDepthBias () const = 0;
    virtual void CCL_API setLightMask (uint32 mask) = 0;
    virtual uint32 CCL_API getLightMask () const = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual void CCL_API getShaderParameters (IShaderValue3D& parameters) const = 0;

Detailed Documentation

3D material interface.

Methods

virtual GraphicsContentHint CCL_API getMaterialHint () const = 0

Get material hint (empty, opaque, translucent).

virtual IGraphicsShader3D*CCL_API getPixelShader () const = 0

Get the pixel shader that is used to render this material.

virtual void CCL_API setDepthBias (float bias) = 0

Set the depth bias.

For geometries that are rendered at the same position, this bias determines which material is rendered first.

virtual float CCL_API getDepthBias () const = 0

Get the depth bias.

virtual void CCL_API setLightMask (uint32 mask) = 0

Set the light mask.

This controls which light sources affect this material.

virtual uint32 CCL_API getLightMask () const = 0

Get the light mask.