RenderMan  26.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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, k_FlagWhite = 0x80,
  k_FlagWorldTransform = 0x100, k_FlagObjectTransform = 0x200, k_FlagCameraTransform = 0x400, k_FlagVector = 0x800,
  k_FlagNormal = 0x1000
}
 
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 RtMatrix4x4 *worldXform=nullptr, const RtMatrix4x4 *objectXform=nullptr, const RtMatrix4x4 *cameraXform=nullptr) 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

Enumerator
k_Ignore 
k_Overwrite 
k_Accumulate 
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 
Enumerator
k_FlagWithOcclusion 
k_FlagWithThruput 
k_FlagWithClamp 
k_FlagShadowsOnly 
k_FlagOverwrite 
k_FlagNoInfiniteCheck 
k_FlagHoldoutsOnly 
k_FlagWhite 
k_FlagWorldTransform 
k_FlagObjectTransform 
k_FlagCameraTransform 
k_FlagVector 
k_FlagNormal 
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 ( )
inline
virtual RixLPE::~RixLPE ( )
inlineprotectedvirtual

Member Function Documentation

virtual RixLPEState* RixLPE::AllocateStates ( int  count)
pure virtual
PRMAN_INLINE bool RixLPE::AnyCustomLPEs ( ) const

References m_anyCustomLPEs.

PRMAN_INLINE bool RixLPE::AnyLPEs ( ) const

References m_anyLPEs.

virtual void RixLPE::DecRef ( )
pure virtual
virtual void RixLPE::FreeStates ( int  count,
RixLPEState states 
)
pure virtual
virtual int RixLPE::GetRefCnt ( ) const
pure virtual
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.

virtual RixLPEToken RixLPE::GroupAndObjectToToken ( RtUString  lpeGroup,
RtUString  objName 
) const
pure virtual
virtual void RixLPE::IncRef ( )
pure virtual
PRMAN_INLINE RixLPEToken RixLPE::LgtGrpIdToToken ( int  lightGroupId)
static

Convert an integer light group id to an LPE token.

References k_baseLgtGrpTokenOffset, and k_BLANK.

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 RtMatrix4x4 *  worldXform = nullptr,
const RtMatrix4x4 *  objectXform = nullptr,
const RtMatrix4x4 *  cameraXform = nullptr 
) const
pure virtual
virtual RixLPEToken RixLPE::StringToToken ( RtUString  str) const
pure virtual
virtual RtUString RixLPE::TokenToString ( RixLPEToken  token) const
pure virtual

Member Data Documentation

const int RixLPE::k_baseLgtGrpTokenOffset = k_numBuiltinTokens
static

Referenced by LgtGrpIdToToken().

bool RixLPE::m_anyCustomLPEs
protected

Referenced by AnyCustomLPEs().

bool RixLPE::m_anyLPEs
protected
RixChannelId RixLPE::m_beautyChanId
protected
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: