RenderManAPI  24.0
RixLPE Class Referenceabstract

#include <RixLPE.h>

Inherits RixInterface.

Classes

class  SplatHelper
 

Public Types

enum  RixLPEBuiltInTokens {
  k_NULL = 0, k_NONE, k_CAMERA, k_LIGHT,
  k_OBJECT, k_TRANSMIT, k_REFLECT, k_STOP,
  k_BLANK, k_LAMBDA, k_DOT, k_DIFFUSE1,
  k_DIFFUSE2, k_DIFFUSE3, k_DIFFUSE4, k_SPECULAR1,
  k_SPECULAR2, k_SPECULAR3, k_SPECULAR4, k_SPECULAR5,
  k_SPECULAR6, k_SPECULAR7, k_SPECULAR8, k_USER1,
  k_USER2, k_USER3, k_USER4, k_USER5,
  k_USER6, k_USER7, k_USER8, k_USER9,
  k_USER10, k_USER11, k_USER12, k_EVERYLOBE,
  k_EVERYDIFFUSE, k_EVERYSPECULAR, k_EVERYUSER, k_numBuiltinTokens
}
 
enum  RixLPEFlags {
  k_FlagWithOcclusion = 0x1, k_FlagWithThruput = 0x2, k_FlagWithClamp = 0x4, k_FlagShadowsOnly = 0x8,
  k_FlagOverwrite = 0x10, k_FlagNoInfiniteCheck = 0x20, k_FlagHoldoutsOnly = 0x40
}
 
enum  OverwritePolicy { k_Ignore, k_Overwrite, k_Accumulate }
 
enum  Type {
  k_Float, k_Integer, k_StringV, k_Color,
  k_Normal, k_Vector, k_Point, k_HPoint,
  k_MPoint, k_Matrix
}
 

Public Member Functions

 RixLPE ()
 
virtual RixLPEStateAllocateStates (int count)=0
 
virtual void FreeStates (int count, RixLPEState *states)=0
 
virtual RtUString TokenToString (RixLPEToken token) const =0
 
virtual RixLPEToken StringToToken (RtUString str) const =0
 
virtual RixLPEToken GroupAndObjectToToken (RtUString lpeGroup, RtUString objName) const =0
 
virtual void IncRef ()=0
 
virtual void DecRef ()=0
 
virtual int GetRefCnt () const =0
 
PRMAN_INLINE bool AnyLPEs () const
 
PRMAN_INLINE bool AnyCustomLPEs () const
 
virtual void Splat (const RixLPEState &accum, RixDisplayServices *dspy, const RtColorRGB &val, const int integratorCtxIdx, const RtColorRGB *lgtTrans, const float clamp, const bool isFinite, const OverwritePolicy overwritePolicy, const bool isHoldout) const =0
 
virtual int GetVersion () const
 Get the version number of this interface. More...
 

Static Public Member Functions

static PRMAN_INLINE RixLPEToken LgtGrpIdToToken (int lightGroupId)
 Convert an integer light group id to an LPE token. More...
 

Static Public Attributes

static const int k_baseLgtGrpTokenOffset = k_numBuiltinTokens
 

Protected Member Functions

virtual ~RixLPE ()
 

Protected Attributes

bool m_anyLPEs
 
bool m_anyCustomLPEs
 
RixChannelId m_beautyChanId
 
int m_version
 Version number of this interface. More...
 

Member Enumeration Documentation

◆ OverwritePolicy

Enumerator
k_Ignore 
k_Overwrite 
k_Accumulate 

◆ RixLPEBuiltInTokens

Enumerator
k_NULL 
k_NONE 
k_CAMERA 
k_LIGHT 
k_OBJECT 
k_TRANSMIT 
k_REFLECT 
k_STOP 
k_BLANK 
k_LAMBDA 
k_DOT 
k_DIFFUSE1 
k_DIFFUSE2 
k_DIFFUSE3 
k_DIFFUSE4 
k_SPECULAR1 
k_SPECULAR2 
k_SPECULAR3 
k_SPECULAR4 
k_SPECULAR5 
k_SPECULAR6 
k_SPECULAR7 
k_SPECULAR8 
k_USER1 
k_USER2 
k_USER3 
k_USER4 
k_USER5 
k_USER6 
k_USER7 
k_USER8 
k_USER9 
k_USER10 
k_USER11 
k_USER12 
k_EVERYLOBE 
k_EVERYDIFFUSE 
k_EVERYSPECULAR 
k_EVERYUSER 
k_numBuiltinTokens 

◆ RixLPEFlags

Enumerator
k_FlagWithOcclusion 
k_FlagWithThruput 
k_FlagWithClamp 
k_FlagShadowsOnly 
k_FlagOverwrite 
k_FlagNoInfiniteCheck 
k_FlagHoldoutsOnly 

◆ Type

enum RixInterface::Type
inherited
Enumerator
k_Float 
k_Integer 
k_StringV 
k_Color 
k_Normal 
k_Vector 
k_Point 
k_HPoint 
k_MPoint 
k_Matrix 

Constructor & Destructor Documentation

◆ RixLPE()

RixLPE::RixLPE ( )
inline

◆ ~RixLPE()

virtual RixLPE::~RixLPE ( )
inlineprotectedvirtual

Member Function Documentation

◆ AllocateStates()

virtual RixLPEState* RixLPE::AllocateStates ( int  count)
pure virtual

◆ AnyCustomLPEs()

PRMAN_INLINE bool RixLPE::AnyCustomLPEs ( ) const

References m_anyCustomLPEs.

◆ AnyLPEs()

PRMAN_INLINE bool RixLPE::AnyLPEs ( ) const

References m_anyLPEs.

◆ DecRef()

virtual void RixLPE::DecRef ( )
pure virtual

◆ FreeStates()

virtual void RixLPE::FreeStates ( int  count,
RixLPEState states 
)
pure virtual

◆ GetRefCnt()

virtual int RixLPE::GetRefCnt ( ) const
pure virtual

◆ GetVersion()

virtual int RixInterface::GetVersion ( ) const
inlinevirtualinherited

Get the version number of this interface.

Different interfaces might have different version numbers in a given release.

References RixInterface::m_version.

◆ GroupAndObjectToToken()

virtual RixLPEToken RixLPE::GroupAndObjectToToken ( RtUString  lpeGroup,
RtUString  objName 
) const
pure virtual

◆ IncRef()

virtual void RixLPE::IncRef ( )
pure virtual

◆ LgtGrpIdToToken()

PRMAN_INLINE RixLPEToken RixLPE::LgtGrpIdToToken ( int  lightGroupId)
static

Convert an integer light group id to an LPE token.

References k_baseLgtGrpTokenOffset, and k_BLANK.

◆ Splat()

virtual void RixLPE::Splat ( const RixLPEState accum,
RixDisplayServices dspy,
const RtColorRGB val,
const int  integratorCtxIdx,
const RtColorRGB lgtTrans,
const float  clamp,
const bool  isFinite,
const OverwritePolicy  overwritePolicy,
const bool  isHoldout 
) const
pure virtual

◆ StringToToken()

virtual RixLPEToken RixLPE::StringToToken ( RtUString  str) const
pure virtual

◆ TokenToString()

virtual RtUString RixLPE::TokenToString ( RixLPEToken  token) const
pure virtual

Member Data Documentation

◆ k_baseLgtGrpTokenOffset

const int RixLPE::k_baseLgtGrpTokenOffset = k_numBuiltinTokens
static

Referenced by LgtGrpIdToToken().

◆ m_anyCustomLPEs

bool RixLPE::m_anyCustomLPEs
protected

Referenced by AnyCustomLPEs().

◆ m_anyLPEs

bool RixLPE::m_anyLPEs
protected

◆ m_beautyChanId

RixChannelId RixLPE::m_beautyChanId
protected

◆ m_version

int RixInterface::m_version
protectedinherited

Version number of this interface.

Referenced by RixInterface::GetVersion().


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