97 #define k_RixShadingVersion 240 // XXY (XX: MAJOR, Y:MINOR) 328 uint32_t
const editHints,
382 typeSize =
sizeof(int);
385 typeSize =
sizeof(float);
415 typeSize =
sizeof(
void*);
591 virtual int GetParamId(
int plistIndex,
int* paramId)
const = 0;
599 int* arrayLength = NULL)
const = 0;
606 int err =
GetParamInfo(paramId, type, &cInfo, arrayLength);
628 void const** instance)
const = 0;
630 void const** instance)
const = 0;
632 void const** instance)
const = 0;
838 void* instanceData)
const = 0;
1034 float const** radius = NULL)
const = 0;
1037 float const** radius = NULL)
const = 0;
1040 float const** radius = NULL)
const = 0;
1054 float const** dXdv)
const = 0;
1057 float const** dYdu,
float const** dXdv,
1058 float const** dYdv)
const = 0;
1061 float const** dYdu,
float const** dZdu,
float const** dXdv,
1062 float const** dYdv,
float const** dZdv)
const = 0;
1134 RtMatrix4x4 const** matrix,
int* numMatrices)
const = 0;
1197 int const* dflt = NULL,
bool promoteToVarying =
false)
const = 0;
1200 float const* dflt = NULL,
1201 bool promoteToVarying =
false)
const = 0;
1205 bool promoteToVarying =
false)
const = 0;
1209 bool promoteToVarying =
false)
const = 0;
1213 bool promoteToVarying =
false)
const = 0;
1217 bool promoteToVarying =
false)
const = 0;
1221 bool promoteToVarying =
false)
const = 0;
1239 T
const* constResult;
1244 *result = (T*)
Allocate(this->numPts,
sizeof(T), mcat);
1245 memcpy(*result, constResult, this->numPts *
sizeof(T));
1248 if (promoteToVarying)
1250 *result = (T*)
Allocate(this->numPts,
sizeof(T), mcat);
1251 std::fill_n(*result, this->numPts, constResult[0]);
1255 *result = (T*)
Allocate(1,
sizeof(T), mcat);
1256 (*result)[0] = constResult[0];
1279 int* arrayLength = NULL)
const = 0;
1286 int err =
GetParamInfo(paramId, type, &cInfo, arrayLength);
1348 T* mem =
static_cast<T*
>(
Allocate(nObjs,
sizeof(T), cat));
1349 return new (mem) T[nObjs];
1368 template <
typename T>
1371 if (num == 0)
return NULL;
1374 template <
typename T>
1377 if (num == 0)
return NULL;
1378 return (T*)m_sCtx->
Allocate(num,
sizeof(T), memcat);
1380 template <
typename T>
1385 if (num == 0)
return NULL;
1388 template <
typename T>
1391 if (num == 0)
return NULL;
1394 template <
typename T>
1397 if (num == 0)
return NULL;
1419 int const* membership = NULL)
const = 0;
RixBxdf * GetBxdf() const
Definition: RixShading.h:746
#define US_NULL
Definition: RiTypesHelper.h:683
Surface V parameterization (type float)
Definition: RixShading.h:959
Definition: RixShading.h:505
unsigned eyePath
Definition: RixShading.h:703
All-inlined interface for generating sample points for use by Monte Carlo integration and multiple-im...
Definition: RixRNG.h:59
RixShadingPlugin(int version)
Definition: RixShading.h:339
virtual int GetInterface() const
Definition: RixShading.h:175
PRMAN_INLINE size_t GetRixSCTypeSize(RixSCType type)
Gets the storage size for the valid atomic datatypes.
Definition: RixShading.h:376
Definition: RixShading.h:138
Definition: RixBxdf.h:264
RixShadingContext is analogous to a RenderMan grid - it is a group of 1 or more points that may be sh...
Definition: RixShading.h:663
void * data
Definition: RixShading.h:289
Definition: RixShading.h:503
int * pointSampleCount
If multiple volume samples are taken for multi scattering, the integrator needs to multiply this valu...
Definition: RixShading.h:871
Definition: RixShading.h:1226
Wavelength of incident ray (type float): 380-780nm visible spectrum.
Definition: RixShading.h:983
Bias to apply for transmitted rays (type float)
Definition: RixShading.h:956
Definition: RixShading.h:501
Definition: RixShading.h:966
Definition: RixShading.h:1117
friend class LightVertexCache
Definition: RixShading.h:1415
T * AllocForPattern(int num)
Definition: RixShading.h:1395
virtual bool GetProperty(RayProperty, void const *) const
As long as the RixIntegrator used supports the appropriate ray property query, shading plugin authors...
Definition: RixShading.h:1100
Current LPE State (type RixLPEState)
Definition: RixShading.h:976
Definition: RixShading.h:352
Definition: RixShading.h:504
virtual void SynchronizeInstanceData(RixContext &rixCtx, RtUString const handle, RixParameterList const *instanceParams, uint32_t const editHints, InstanceData *instanceData)
SynchronizeInstanceData() will only be called if InstanceData::synchronizeHints was set to a non-zero...
Definition: RixShading.h:326
BuiltinBxdf
BuiltinBxdfs can be constructed cheaply and offer a basic set of capabilities.
Definition: RixShading.h:925
RixVolumeIntegrator * BeginOppositeVol(int numRays, RtRayGeometry *rays) const
Definition: RixShading.h:819
bool HasMisses() const
Definition: RixShading.h:741
Surface W parameterization (type float)
Definition: RixShading.h:960
float * opacityStochasticWeight
Definition: RixShading.h:906
virtual void SetBuiltinVar(BuiltinVar, float *var)=0
SetBuiltinVar() allows the values of any builtin variable to be overridden.
Definition: RixShading.h:437
size_t datalen
Definition: RixShading.h:290
virtual ~RixShadingPlugin()
Definition: RixShading.h:341
RixLight This base class defines the interface for light sources.
Definition: RixLight.h:117
Definition: RixShading.h:356
Definition: RixShading.h:133
Definition: RixShading.h:835
Definition: RixShading.h:368
int m_version
Definition: RixShading.h:343
pxrcore::ColorRGB RtColorRGB
Definition: RiTypesHelper.h:520
T * New(size_t nObjs, MemCategory cat=k_BxdfMem) const
New is a utility (fully inlined) non-virtual method to assist with tedious memory allocation tasks...
Definition: RixShading.h:1346
SampleCtx identifies a sample domain (an index into an arbitrary scheme of sample points)...
Definition: RixRNG.h:76
bool IsArray() const
Definition: RixShading.h:540
virtual RixSCDetail EvalParam(int paramId, int arrayIndex, int *result) const =0
EvalParam fills the provided result with the value of the parameter.
Rix interfaces are obtained from an RixContext.
Definition: RixInterfaces.h:172
BuiltinVar
Definition: RixShading.h:937
virtual int Transform(TransformInterpretation interp, const RtUString fromSpace, const RtUString toSpace, RtFloat3 *var, float *radius=NULL) const =0
Transform an array of RtFloat3 (and optional radius) the same size as the numPts in the RixShadingCon...
Definition: RixShading.h:117
RixShadingPlugin is the base class for RixBxdfFactory, RixDisplacementFactory, RixDisplayFilter, RixIntegrator, RixLightFilter, RixLightFactory, RixPattern, RixProjection, and RixSampleFilter.
Definition: RixShading.h:168
Definition: RixShading.h:119
RixBxdfFactory::BeginScatter mode.
Definition: RixShading.h:560
Definition: RixShading.h:456
T * Allocate(int num)
Definition: RixShading.h:1369
RixSCParamInfo captures the characteristics of an individual ScParam.
Definition: RixShading.h:512
virtual RixVolumeIntegrator * BeginVolume(RixSCVolumeSelector, int numRays, RtRayGeometry *rays) const =0
Definition: RixShading.h:436
RixPostLighting * GetPostLighting() const
Definition: RixShading.h:787
Definition: RixShading.h:562
RixSCConnectionInfo
RixSCConnectionInfo identifies the origin of values associated with parameters evaluated through RixS...
Definition: RixShading.h:486
virtual RixShadingContext * CreateMutableContext() const =0
Create a context that can be mutated (implements SetBuiltinVar) for the purposes of super sampling a ...
Shading time, normalized between shutter open and close (type float)
Definition: RixShading.h:971
Definition: RixShading.h:476
RixShadingInterface
RixShadingInterface enumerates the known ShadingPlugin types.
Definition: RixShading.h:109
MemCategory
Definition: RixShading.h:1223
RixVolumeIntegrator * volume
Definition: RixShading.h:731
Definition: RixShading.h:488
Definition: RixShading.h:834
RtFloat3 RtPoint3
Definition: RiTypesHelper.h:70
Definition: RixShading.h:102
Instantaneous P velocity relative to the world (type RtFloat3)
Definition: RixShading.h:970
Ray footprint (radius) in W (type float)
Definition: RixShading.h:965
RixBxdf * bxdf
The bxdf shader is non-NULL for radiance queries and is responsible for computing light scattering...
Definition: RixShading.h:718
Definition: RixShading.h:113
RixDisplacementFactory::BeginDisplacement mode.
Definition: RixShading.h:563
virtual int Init(RixContext &ctx, RtUString const pluginPath)=0
In order to initialize the plugin, the renderer will call Init() once.
Definition: RixShading.h:358
Definition: RixIntegrator.h:615
SynchronizeHints
The renderer offers the ability to shading plugins to track custom data with every instance of the pl...
Definition: RixShading.h:274
virtual bool SetProperty(RayProperty, void const *) const
Definition: RixShading.h:1108
RtColorRGB * pointWeight
If the shading context was created via an importance sampling method, this is the associated weight t...
Definition: RixShading.h:867
virtual std::vector< const RixShadingContext * > const * GetOverlappingVolumes() const =0
Returns a list of shading contexts associated with any overlapping volumes.
Invalid shading context.
Definition: RixShading.h:555
Definition: RixShading.h:366
When raytracing, the ray footprint radius at P, otherwise the micropolygon radius (ie half mpSize) at...
Definition: RixShading.h:941
void Invalidate()
Definition: RixShading.h:683
Backward 2D raster-space motion vector (type RtFloat3)
Definition: RixShading.h:979
RixSCParamInfo(RtUString const structName, RtUString const _name, RixSCType t, RixSCAccess a=k_RixSCInput, int length=-1)
Definition: RixShading.h:521
RixSCDetail
RixSCDetail enumerates the valid sizing qualifiers for SC parameters.
Definition: RixShading.h:432
Definition: RixShading.h:365
Definition: RixBxdf.h:694
Definition: RixShading.h:462
virtual RixVolumeIntegrator * GetBuiltinVolume(BuiltinVolume builtin, RixBxdfFactory *factory, void *instanceData) const =0
RixSCShadingMode shadingMode
true if we're operating on a reyes grid this may occur in a variety of caching conditions ...
Definition: RixShading.h:714
RixBxdfFactory::BeginOpacity opacity mode.
Definition: RixShading.h:557
Ray footprint (radius) in V (type float)
Definition: RixShading.h:963
Definition: RixShading.h:435
Definition: RixShading.h:466
unsigned lightPath
true if shading for an eye path
Definition: RixShading.h:704
Definition: RixShading.h:459
Definition: RixShading.h:489
Definition: RixShading.h:112
short shadingCtxNum
Definition: RixShading.h:691
RtColorRGB * matteTransmission
Similar to transmission but restricted to the transmittance computed solely from matte or holdout vol...
Definition: RixShading.h:863
RixSCVolumeSelector
RixSCVolumeSelector identifies a volume region relative to an incident rays.
Definition: RixShading.h:474
Surface derivative in U (type RtFloat3)
Definition: RixShading.h:967
virtual int GetParamInfo(int paramId, RixSCType *type, RixSCConnectionInfo *cInfo, int *arrayLength=NULL) const =0
GetParamInfo returns additional detail about the parameter such as its connection status...
Opacity (type RtFloat3)
Definition: RixShading.h:975
virtual void EndVolume(RixVolumeIntegrator *) const =0
Definition: RixShading.h:118
Bias to apply for reflected rays (type float)
Definition: RixShading.h:955
RixBXLobeSampled id of incident rays (type int)
Definition: RixShading.h:953
Definition: RixShading.h:985
Definition: RixShading.h:359
unsigned missContext
true if shading for a first hit
Definition: RixShading.h:706
Instantaneous P velocity relative to the camera (type RtFloat3)
Definition: RixShading.h:982
virtual void GetBuiltinVar(BuiltinVar, int const **var) const =0
struct RixShadingContext::@4 scTraits
shadingCtxTraits conveys a variety of (uniform) ShadingContex traits to shader and integrator...
Definition: RiTypesHelper.h:82
Definition: RixIntegrator.h:234
Definition: RixShading.h:114
RtColorRGB * opacityThroughput
Definition: RixShading.h:896
TransformInterpretation
Definition: RixShading.h:1113
Ray footprint (radius) in U (type float)
Definition: RixShading.h:961
Normalized shading normal (type RtFloat3)
Definition: RixShading.h:944
Spread of incident ray (type float): how much the ray radius increased for each unit distance the ray...
Definition: RixShading.h:951
RtHitSides
Definition: RixShading.h:99
Definition: RixShading.h:460
Local principal surface curvature in u dir (type float)
Definition: RixShading.h:980
virtual ~RixParameterList()
Definition: RixShading.h:635
RixBxdfFactory::BeginOpacity presence mode.
Definition: RixShading.h:556
RixParameterList exposes the non-varying values that are associated with the definition or editing of...
Definition: RixShading.h:575
RixSCShadingMode
RixSCShadingMode conveys the current operating mode associated with the shading context.
Definition: RixShading.h:553
RixOpacity * opacity
Definition: RixShading.h:722
int GetParamInfo(int paramId, RixSCType *type, bool *isConnected, int *arrayLength=NULL) const
This version of GetParamInfo is a convenience for use-cases where a bool notion of connection is suff...
Definition: RixShading.h:603
RixSCParamInfo(RtUString const _name, RixSCType t, RixSCAccess a=k_RixSCInput, int length=-1)
Definition: RixShading.h:515
RtUString customtype
Definition: RixShading.h:536
Definition: RixShading.h:116
Definition: RixShading.h:434
Definition: RixShading.h:964
virtual void * Allocate(size_t n, size_t size, MemCategory m) const =0
Allocate: fast memory allocation support from a memory pool tailored to Pattern and Bxdf plugins...
Definition: RixBxdf.h:769
Definition: RixShading.h:478
Definition: RixShading.h:362
pxrcore::Float3 RtFloat3
Definition: RiTypesHelper.h:69
Definition: RixShading.h:506
Surface U parameterization (type float)
Definition: RixShading.h:958
Definition: RixShading.h:134
RtUString name
Definition: RixShading.h:535
int numPts
numPts is the number of shading points.
Definition: RixShading.h:696
RixDisplayFilter plugins sit between the framebuffer and the display system.
Definition: RixDisplayFilter.h:54
Definition: RixShading.h:1115
virtual void GetNearestHits(int numRays, RtRayGeometry const *rays, RtHitPoint *hits, const RtUString subset=US_NULL, const RtUString excludeSubset=US_NULL, RtHitSides hitSides=k_SidesBoth) const =0
GetNearestHits: traces rays to determine the nearest hit in the given direction.
Definition: RixShading.h:111
Undisplaced P (type RtFloat3)
Definition: RixShading.h:943
Definition: RixShading.h:502
Definition: RixShading.h:461
virtual int GetTransform(const RtUString fromSpace, const RtUString toSpace, RtMatrix4x4 const **matrix, int *numMatrices) const =0
Return an array of matrices numPts in size that represents the transformation from "fromSpace" to "to...
int * integratorCtxIndex
integratorCtxIndex maps indices to varying ShadingContext entries to the index associated with Integr...
Definition: RixShading.h:846
Definition: RixShading.h:360
RixBxdfFactory::BeginScatter mode.
Definition: RixShading.h:558
RixSCType
RixSCType enumerates the valid atomic datatypes.
Definition: RixShading.h:349
RixSCParamInfo const * paramtable
Definition: RixShading.h:292
Definition: RixShading.h:458
Local principal surface curvature in v dir (type float)
Definition: RixShading.h:981
virtual RixBxdf * GetBuiltinBxdf(BuiltinBxdf, RixBxdfFactory *) const =0
RixVolumeIntegrator * BeginIncidentVol(int numRays, RtRayGeometry *rays) const
two convenience methods
Definition: RixShading.h:815
virtual void Synchronize(RixContext &ctx, RixSCSyncMsg syncMsg, RixParameterList const *syncParams)=0
This method is used to deliver occasional status information from the renderer.
Definition: RixIntegrator.h:458
Forward 2D raster-space motion vector (type RtFloat3)
Definition: RixShading.h:978
RixSCType type
Definition: RixShading.h:537
Definition: RixShading.h:927
Definition: RixShading.h:479
RixLight const * light
Definition: RixShading.h:913
Definition: RixShading.h:361
RtFloat3 RtNormal3
Definition: RiTypesHelper.h:73
RixSCSyncMsg
RixSCSyncMsgs - are the possible states delivered through Synchronize methods.
Definition: RixShading.h:127
#define PRMAN_INLINE
Definition: prmanapi.h:99
RtColorRGB * transmission
transmission is a per-point transmission that is associated with the ray that produced the associated...
Definition: RixShading.h:859
RixLightFilter plugins modify the lighting contribution to a surface point after a light has been sam...
Definition: RixLightFilter.h:66
void(* freefunc)(void *)
Definition: RixShading.h:291
Multiple methods of RixDisplayServices require similar parameters:
Definition: RixIntegrator.h:97
int GetParamInfo(int paramId, RixSCType *type, bool *isConnected, int *arrayLength=NULL) const
This version of GetParamInfo is a convenience for use-cases where a bool notion of connection is suff...
Definition: RixShading.h:1283
Definition: RixBxdf.h:972
Definition: RixShading.h:354
RixSampleFilter plugins sit between the integrator and the framebuffer and filter the shaded camera s...
Definition: RixSampleFilter.h:54
Definition: RixShading.h:463
unsigned reyesGrid
true if this context represents misses
Definition: RixShading.h:707
Radius of incident ray at P (type float)
Definition: RixShading.h:952
virtual int GetParamInfo(int paramId, RixSCType *type, RixSCConnectionInfo *cInfo, int *arrayLength=NULL) const =0
GetParamInfo returns additional details about a parameter such as its connection status, type, and array length.
RixRNG::SampleCtx * m_rngSampleCtx
Definition: RixShading.h:1421
Id(unsigned int i)
Definition: RixShading.h:676
RixSCAccess
RixSCAccess characterizes parameters as input or output.
Definition: RixShading.h:453
Definition: RixShading.h:464
unsigned primaryHit
true if shading for a light path
Definition: RixShading.h:705
Shading position (type RtFloat3)
Definition: RixShading.h:940
RixSCDetail EvalAndCopyParam(int paramId, int arrayIndex, T **result, T const *dflt=NULL, bool promoteToVarying=false, MemCategory mcat=k_BxdfMem) const
EvalAndCopyParam: Templated convenience routine for callers who need to modify input parameters...
Definition: RixShading.h:1236
Definition: RixShading.h:353
Definition: RixShading.h:1225
struct RixShadingContext::Id shadingCtxId
Definition: RixShading.h:369
virtual void SetPrimVar(const RtUString name, RixSCDetail d, float *var, float *radius)=0
SetPrimVar: useful for changing state on mutable shading contexts for consumption by upstream pattern...
virtual RixSCDetail EvalParam(int paramId, int arrayIndex, int const **result, int const *dflt=NULL, bool promoteToVarying=false) const =0
EvalParam.
~RixShadingContext() override
Definition: RixShading.h:1406
Definition: RixShading.h:357
virtual RixShadingContext const * GetPrimaryContext() const =0
GetPrimaryContext returns a reference to the (immutable) primary shading context. ...
Allocator is a utility (fully inlined) class to assist with tedious memory pool allocations.
Definition: RixShading.h:1363
Definition: RixShading.h:136
unsigned int Serialize() const
Definition: RixShading.h:679
virtual RixSCParamInfo const * GetParamTable()=0
All shading plugins are expected to return a description of their input and output parameters via the...
Definition: RixShading.h:120
Normalized shading tangent (type RtFloat3)
Definition: RixShading.h:947
void * lightingServicesData
lightingServicesData is a blind pointer private RixLightingServices data
Definition: RixShading.h:909
virtual bool HasVolume(RixSCVolumeSelector) const =0
Support for volume integration:
bool IsValid() const
Definition: RixShading.h:687
Normalized geometric normal (type RtFloat3)
Definition: RixShading.h:945
Definition: RixShading.h:490
RixPostLighting * postlighting
Definition: RixShading.h:734
Definition: RixShading.h:364
Parent ray shading context serialization (type int)
Definition: RixShading.h:977
Length of view vector (type float)
Definition: RixShading.h:949
Local mean surface curvature (type float)
Definition: RixShading.h:950
RixSCAccess access
Definition: RixShading.h:538
Definition: RixShading.h:131
RixRNG * m_rngCtx
Definition: RixShading.h:919
Definition: RixShading.h:367
Texture baking mode.
Definition: RixShading.h:561
RixBxdfFactory::BeginInterior mode.
Definition: RixShading.h:559
Definition: RixDisplacement.h:62
pxrcore::Matrix4x4 RtMatrix4x4
Definition: RiTypesHelper.h:74
virtual RixSCDetail GetPrimVar(const RtUString name, RixSCType *type, int *arraylen) const =0
GetPrimVar: lazily evaluates the named primitive variable.
Surface derivative in V (type RtFloat3)
Definition: RixShading.h:968
T * AllocForVolume(int num)
Definition: RixShading.h:1381
Incident index of refraction (type float)
Definition: RixShading.h:974
virtual void EndSubsurface(RixVolumeIntegrator *) const =0
Represents the LPE system state of a light transport path.
Definition: RixLPE.h:439
Normalized undisplaced N (type RtFloat3)
Definition: RixShading.h:946
Attribute "identifier" "id2" (type int)
Definition: RixShading.h:973
Surface derivative in W (type RtFloat3)
Definition: RixShading.h:969
virtual void CreateInstanceData(RixContext &rixCtx, RtUString const handle, RixParameterList const *parameterList, InstanceData *instanceData)
CreateInstanceData() is called once per plugin-instance.
Definition: RixShading.h:303
Definition: RixShading.h:115
virtual RixVolumeIntegrator * BeginSubsurface(int numRays, RtRayGeometry *rays) const =0
Attribute "identifier" "id" (type int)
Definition: RixShading.h:972
Definition: RixShading.h:276
uint32_t synchronizeHints
Definition: RixShading.h:293
This struct represents the characteristics of potentially several lobes of a bxdf in aggregate...
Definition: RixBxdfLobe.h:178
virtual bool HasSubsurface() const =0
bool HasHits() const
Definition: RixShading.h:737
T * AllocForBxdf(int num)
Definition: RixShading.h:1389
T * AllocFor(MemCategory memcat, int num)
Definition: RixShading.h:1375
Definition: RixShading.h:477
RayProperty
There are a set of 'properties' of a ray the integrator could provide the bxdf that can potentially p...
Definition: RixShading.h:499
pxrcore::UString RtUString
Definition: RiTypesHelper.h:682
Definition: RixShading.h:277
int arraylen
Definition: RixShading.h:539
PxrMeshLight emission mode.
Definition: RixShading.h:564
shadingCtxId is a unique identifier for this shading context.
Definition: RixShading.h:672
virtual RixIntegratorContext * GetIntegratorContext() const =0
Returns a reference to the RixIntegratorContext which created this shading context.
Definition: RixShading.h:101
InstanceData()
Definition: RixShading.h:282
Micropolygon size; 0 for non-tessellated surfaces (type float)
Definition: RixShading.h:954
virtual RixShadingContext * BeginVolumeSampling() const =0
Definition: RixShading.h:280
virtual RixShadingContext const * GetContextById(RixShadingContext::Id sCtxId) const =0
GetShadingContextById, given a RixShadingContext::Id, returns a reference to the shading context whic...
Definition: RixShading.h:962
RixVolumeIntegrator * subsurface
Definition: RixShading.h:728
virtual int GetNumParams() const =0
Bias to apply for shadow rays (Direct Light) to avoid the geometric shadow terminator.
Definition: RixShading.h:957
Definition: RixShading.h:355
Id()
Definition: RixShading.h:674
Definition: RixShading.h:132
RixVolumeIntegrator * GetSubsurface() const
Definition: RixShading.h:770
RtFloat3 RtVector3
Definition: RiTypesHelper.h:72
int * rayId
rayId is similar to integratorCtxIndex.
Definition: RixShading.h:853
Definition: RixShading.h:1116
Definition: RixShading.h:103
virtual void SetupRngCtxForPattern() const =0
BuiltinVolume
BuiltinVolumes are "preloaded" and initialized by the renderer.
Definition: RixShading.h:832
RixOpacity * GetOpacity() const
Definition: RixShading.h:756
RixSCParamInfo()
Definition: RixShading.h:527
Normalized view vector, points away from shading points (type RtFloat3)
Definition: RixShading.h:948
Definition: RixShading.h:130
Number of shading modes.
Definition: RixShading.h:566
virtual int GetVersion() const
Definition: RixShading.h:171
RixVolumeIntegrator * GetVolume() const
Definition: RixShading.h:778
Illumination baking mode.
Definition: RixShading.h:565
Definition: RixShading.h:351
virtual int GetParamId(const RtUString name, int *paramId) const =0
GetParamId maps a string name to a more efficient integer reference.
Normalized analytical undisplaced N (type RtFloat3)
Definition: RixShading.h:984
RixDisplacement * displacement
Definition: RixShading.h:725
RixDisplacement * GetDisplacement() const
Definition: RixShading.h:764
virtual RixDisplayServices * GetDisplayServices(int version=1) const =0
Get access to the display services.
RtColorRGB * opacity
Definition: RixShading.h:899
virtual int GetParamId(const RtUString name, int *paramId) const =0
GetParamId maps a string name to a more efficient integer reference.
Allocator(RixShadingContext const *sCtx)
Definition: RixShading.h:1366
Definition: RixBxdf.h:518
virtual RixShadingContext const * EndVolumeSampling(const RixShadingContext *, RixBXLobeTraits const *exposeVol=NULL, int const *membership=NULL) const =0
Definition: RixShading.h:457
Definition: RixShading.h:363
#define PIXAR_ARGUSED(x)
Definition: prmanapi.h:170
virtual bool GetLightEmission(RtColorRGB *emission, int *lightGroupIds=NULL) const =0
GetLightEmission: returns the sampled emission associated with the shading points.
virtual void Finalize(RixContext &ctx)=0
Finalize() is the companion to Init(), called at the end of rendering with the expectation that any d...