igor::iShaderMaterial Class Reference

#include <iShaderMaterial.h>

Inherits igor::iResource.

Public Member Functions

void setShaderProgram (const iShaderProgramPtr &shaderProgram)
 
iShaderProgramPtr getShaderProgram () const
 
void setRenderState (const iRenderState state, const iRenderStateValue value)
 
iRenderStateValue getRenderState (const iRenderState state) const
 
int32 getOrder () const
 
void setOrder (int32 order=iShaderMaterial::RENDER_ORDER_DEFAULT)
 
bool hasDirectionalLight () const
 
bool hasEyePosition () const
 
bool hasModelViewProjectionMatrix () const
 
bool hasModelMatrix () const
 
bool hasModelViewMatrix () const
 
bool hasViewProjectionMatrix () const
 
bool hasTargetMaterial () const
 
bool hasSolidColor () const
 
bool hasTilingConfig () const
 
bool hasVelocityOrientedConfig () const
 
bool hasTextureUnit (uint32 texUnit) const
 
bool isValid () const
 
iMaterialVisibility getVisibility () const
 
void setVisibility (iMaterialVisibility visibility)
 
- Public Member Functions inherited from igor::iResource
virtual ~iResource ()=default
 
bool isValid () const
 
bool isProcessed () const
 
bool isQuiet () const
 
const iaStringgetSource () const
 
const iaString getInfo () const
 
const iResourceIDgetID () const
 
const iaStringgetAlias () const
 
iResourceCacheMode getCacheMode () const
 
const iParametersgetParameters () const
 
const iaStringgetType () const
 

Static Public Attributes

static const int32 RENDER_ORDER_DEFAULT = 200
 
static const int32 RENDER_ORDER_MIN = 0
 
static const int32 RENDER_ORDER_MAX = 400
 

Friends

class iShaderMaterialFactory
 
class iRenderer
 

Additional Inherited Members

- Static Public Member Functions inherited from igor::iResource
static bool extractID (const iParameters &parameters, iResourceID &id, bool quiet=false)
 
- Protected Member Functions inherited from igor::iResource
 iResource (const iParameters &parameters)
 

Detailed Description

material definition

Member Function Documentation

◆ getOrder()

int32 igor::iShaderMaterial::getOrder ( ) const
Returns
render order

◆ getRenderState()

iRenderStateValue igor::iShaderMaterial::getRenderState ( const iRenderState  state) const

returns the value of a specific render state

Parameters
staterender state
Returns
render state value

◆ getShaderProgram()

iShaderProgramPtr igor::iShaderMaterial::getShaderProgram ( ) const
Returns
the shader program

◆ getVisibility()

iMaterialVisibility igor::iShaderMaterial::getVisibility ( ) const
Returns
visibility of material

◆ hasDirectionalLight()

bool igor::iShaderMaterial::hasDirectionalLight ( ) const
Returns
true if shader has directional light

◆ hasEyePosition()

bool igor::iShaderMaterial::hasEyePosition ( ) const
Returns
true if shader has eye position

◆ hasModelMatrix()

bool igor::iShaderMaterial::hasModelMatrix ( ) const
Returns
true if shader contains model matrix

◆ hasModelViewMatrix()

bool igor::iShaderMaterial::hasModelViewMatrix ( ) const
Returns
true if shader contains model view matrix

◆ hasModelViewProjectionMatrix()

bool igor::iShaderMaterial::hasModelViewProjectionMatrix ( ) const
Returns
true if shader contains model view projection matrix

◆ hasSolidColor()

bool igor::iShaderMaterial::hasSolidColor ( ) const
Returns
true if shader contains solid color property

◆ hasTargetMaterial()

bool igor::iShaderMaterial::hasTargetMaterial ( ) const
Returns
true if shader contains target material

◆ hasTextureUnit()

bool igor::iShaderMaterial::hasTextureUnit ( uint32  texUnit) const
Returns
true if given texture unit is used
Parameters
texUnitthe given texture unit

◆ hasTilingConfig()

bool igor::iShaderMaterial::hasTilingConfig ( ) const
Returns
true if shader contains tiling property

◆ hasVelocityOrientedConfig()

bool igor::iShaderMaterial::hasVelocityOrientedConfig ( ) const
Returns
true if shader has velocity oriented roperty

◆ hasViewProjectionMatrix()

bool igor::iShaderMaterial::hasViewProjectionMatrix ( ) const
Returns
true if shader contains view projection matrix

◆ isValid()

bool igor::iShaderMaterial::isValid ( ) const
Returns
true if this material is ready for use

◆ setOrder()

void igor::iShaderMaterial::setOrder ( int32  order = iShaderMaterial::RENDER_ORDER_DEFAULT)

set render order

Parameters
orderthe higher the value the later it get's rendered (default is iMaterial_old::RENDER_ORDER_DEFAULT)

◆ setRenderState()

void igor::iShaderMaterial::setRenderState ( const iRenderState  state,
const iRenderStateValue  value 
)

defines the value of a specific render state

Parameters
staterender state
valuerender state value

◆ setShaderProgram()

void igor::iShaderMaterial::setShaderProgram ( const iShaderProgramPtr shaderProgram)

sets shader program to be used

Parameters
shaderProgramthe shader program to be used

◆ setVisibility()

void igor::iShaderMaterial::setVisibility ( iMaterialVisibility  visibility)

sets visibility of material

Friends And Related Function Documentation

◆ iRenderer

friend class iRenderer
friend

◆ iShaderMaterialFactory

friend class iShaderMaterialFactory
friend

Member Data Documentation

◆ RENDER_ORDER_DEFAULT

const int32 igor::iShaderMaterial::RENDER_ORDER_DEFAULT = 200
static

default render order value

◆ RENDER_ORDER_MAX

const int32 igor::iShaderMaterial::RENDER_ORDER_MAX = 400
static

max render order value

◆ RENDER_ORDER_MIN

const int32 igor::iShaderMaterial::RENDER_ORDER_MIN = 0
static

min render order value


The documentation for this class was generated from the following files: