![]() |
RenderMan
26.0
|
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstring>
#include <new>
#include <vector>
#include "RixInterfaces.h"
#include "RixRNG.h"
#include "RiTypesHelper.h"
Go to the source code of this file.
Classes | |
class | RixShadingPlugin |
RixShadingPlugin is the base class for RixBxdfFactory, RixDisplacementFactory, RixDisplayFilter, RixIntegrator, RixLightFilter, RixLightFactory, RixPattern, RixProjection, and RixSampleFilter. More... | |
struct | RixShadingPlugin::InstanceData |
struct | RixSCParamInfo |
RixSCParamInfo captures the characteristics of an individual ScParam. More... | |
class | RixParameterList |
RixParameterList exposes the non-varying values that are associated with the definition or editing of a shading plugin instance. More... | |
class | RixShadingContext |
RixShadingContext is analogous to a RenderMan grid - it is a group of 1 or more points that may be shaded. More... | |
struct | RixShadingContext::Id |
shadingCtxId is a unique identifier for this shading context. More... | |
class | RixShadingContext::Allocator |
Allocator is a utility (fully inlined) class to assist with tedious memory pool allocations. More... | |
Macros | |
#define | k_RixShadingVersion 240 |
Functions | |
PRMAN_INLINE size_t | GetRixSCTypeSize (RixSCType type) |
Gets the storage size for the valid atomic datatypes. More... | |
#define k_RixShadingVersion 240 |
enum RayProperty |
There are a set of 'properties' of a ray the integrator could provide the bxdf that can potentially provide significant opportunities for performance gain (even though the results might be biased).
We expect this enum to grow over time.
Enumerator | |
---|---|
k_RayDepth | |
k_RayRngSampleCtx | |
k_RayThruput | |
k_RayVolumeScatterCount | |
k_RayVolumeSampleCount | |
k_RayTrueDepth |
enum RixSCAccess |
RixSCAccess characterizes parameters as input or output.
To allow the renderer to further optimize execution, a parameter can be given a more informative input label that indicates the shading modes in which the input is required. A value of k_RixSCInput assumes it is required in all shading modes. The values of the enumeration are such that they can be combined with the 'or' operator (RixSCAccess)((int)k_RixSCPresenceInput | (int)k_RixSCOpacityInput) to indicate an input will be needed in multiple shading modes. Currently, these input modes are only supported in a static parameter table, not the dynamic parameter table returned by CreateInstanceData
enum RixSCConnectionInfo |
RixSCConnectionInfo identifies the origin of values associated with parameters evaluated through RixShadingContext.
Enumerator | |
---|---|
k_RixSCDefaultValue | |
k_RixSCParameterListValue | |
k_RixSCNetworkValue |
enum RixSCDetail |
enum RixSCShadingMode |
RixSCShadingMode conveys the current operating mode associated with the shading context.
Associated with a mode is s shader whose type may depend upon it. Knowledge of the shading mode allows a BxdfFactory to minimize the construction costs of the particular query. For example, a stained-glass material may be trivially opaque to presence queries but colored for Transmission queries. See comments for each Begin method for more details.
Enumerator | |
---|---|
k_RixSCInvalidShadingMode |
Invalid shading context. |
k_RixSCPresenceQuery |
RixBxdfFactory::BeginOpacity presence mode. |
k_RixSCOpacityQuery |
RixBxdfFactory::BeginOpacity opacity mode. |
k_RixSCScatterQuery | |
k_RixSCVolumeTransmissionQuery | |
k_RixSCVolumeScatterQuery | |
k_RixSCBakePatternQuery |
Texture baking mode. |
k_RixSCBakeQuery | |
k_RixSCDisplacementQuery | |
k_RixSCEmissionQuery |
PxrMeshLight emission mode. |
k_RixSCBakeIntegratorQuery |
Illumination baking mode. |
k_RixSCLightFilterQuery | |
k_RixSCNumShadingModes |
Number of shading modes. |
enum RixSCSyncMsg |
enum RixSCType |
RixSCType enumerates the valid atomic datatypes.
enum RixSCVolumeSelector |
enum RixShadingInterface |
enum RtHitSides |
PRMAN_INLINE size_t GetRixSCTypeSize | ( | RixSCType | type) |
Gets the storage size for the valid atomic datatypes.
References k_RixSCAnyType, k_RixSCBxdf, k_RixSCColor, k_RixSCDisplayFilter, k_RixSCFloat, k_RixSCFloat2, k_RixSCFloat3, k_RixSCInteger, k_RixSCInvalidType, k_RixSCLightFilter, k_RixSCMatrix, k_RixSCNormal, k_RixSCPoint, k_RixSCSampleFilter, k_RixSCString, k_RixSCStructBegin, k_RixSCStructEnd, and k_RixSCVector.