![]() |
RenderManAPI
24.0
|
#include <cstddef>
#include <vector>
#include "RixBxdfLobe.h"
#include "RixShading.h"
#include "prmanapi.h"
#include "RiTypesHelper.h"
Go to the source code of this file.
Classes | |
class | RixBxdfFactory |
class | RixBxdf |
class | RixOpacity |
class | RixVolumeIntegrator |
class | RixVolumeIntegrator::IntegratorDelegate |
class | RixPostLighting |
Macros | |
#define | RIX_BXDFPLUGINCREATE extern "C" PRMANEXPORT RixBxdfFactory* CreateRixBxdfFactory(const char* hint) |
#define | RIX_BXDFPLUGINDESTROY extern "C" PRMANEXPORT void DestroyRixBxdfFactory(RixBxdfFactory* bxdf) |
Enumerations | |
enum | RixBXEvaluateDomain { k_RixBXEmptyDomain = 0, k_RixBXOutsideReflect = 1, k_RixBXOutsideTransmit = 2, k_RixBXInsideReflect = 4, k_RixBXInsideTransmit = 8, k_RixBXReflect = (k_RixBXInsideReflect | k_RixBXOutsideReflect), k_RixBXTransmit = (k_RixBXInsideTransmit | k_RixBXOutsideTransmit), k_RixBXBoth = (k_RixBXReflect | k_RixBXTransmit), k_RixBXOutside = (k_RixBXOutsideReflect | k_RixBXOutsideTransmit), k_RixBXInside = (k_RixBXInsideReflect | k_RixBXInsideTransmit), k_RixBXVolume = 16 } |
The RixBxdf interface is a shading plugin responsible for creating a RixBxdf from the the ShadingContext and the set of connected patterns. More... | |
enum | RixBXTransportTrait { k_RixBXDirectLighting = 1 << 0, k_RixBXIndirectLighting = 1 << 1, k_RixBXAnyLighting = k_RixBXDirectLighting | k_RixBXIndirectLighting } |
enum | RixBXRayFlags { k_RixBXBothEndsInVolume = 0, k_RixBXOriginOnBoundary = 1, k_RixBXEndOnBoundary = 2, k_RixBXBothEndsOnBoundary = 3 } |
Functions | |
PRMAN_INLINE bool | RixVisibleToDomain (RixBXEvaluateDomain domain, RtVector3 const &L, RtVector3 const &N, RtVector3 const &V) |
#define RIX_BXDFPLUGINCREATE extern "C" PRMANEXPORT RixBxdfFactory* CreateRixBxdfFactory(const char* hint) |
#define RIX_BXDFPLUGINDESTROY extern "C" PRMANEXPORT void DestroyRixBxdfFactory(RixBxdfFactory* bxdf) |
enum RixBXEvaluateDomain |
The RixBxdf interface is a shading plugin responsible for creating a RixBxdf from the the ShadingContext and the set of connected patterns.
The RixBxdf interface characterizes the light-scattering behavior at positions in a material.
Integrators 'drive' Bxdf subclasses by:
To support several integrator-optimization strategies (diverse sampling frequencies, baking, etc.), we characterize a Bxdf as a collection of individually sampled lobes. Integrators may request samples from a subset of lobes and obtain insight into the general characteristics of each component.
Execution model:
enum RixBXRayFlags |
enum RixBXTransportTrait |
PRMAN_INLINE bool RixVisibleToDomain | ( | RixBXEvaluateDomain | domain, |
RtVector3 const & | L, | ||
RtVector3 const & | N, | ||
RtVector3 const & | V | ||
) |