The RixVolumeServices interface allow the renderer to provide services that are useful for volume integration.
More...
#include <RixVolume.h>
Inherits RixInterface.
|
| RixVolumeServices () |
|
virtual void | Begin (RixShadingContext const *sCtx)=0 |
|
virtual void | End ()=0 |
|
virtual int | GetDensityRanges (const RtPoint3 &pt0, const RtPoint3 &pt1, float length, float maxDensity, float **dist, float **minDensities, float **maxDensities, float *minTrans, float *maxTrans) const =0 |
| When invoked on a shading context bound to RiVolume geometry, GetDensityRanges returns information about the minimum and maximum densities encountered on a straight line between two points in the volume. More...
|
|
virtual RixSCDetail | EvalTemporalParam (int paramId, int arrayIndex, float const **result, float const *dflt) const =0 |
|
virtual RixSCDetail | EvalTemporalParam (int paramId, int arrayIndex, RtColorRGB const **result, RtColorRGB const *dflt) const =0 |
|
virtual RixSCDetail | EvalTemporalParam (int paramId, int arrayIndex, RtFloat3 const **result, RtFloat3 const *dflt) const =0 |
|
virtual RixVolumeAggregate * | GetAggregate (RtUString const name, int numRays, RtRayGeometry const *rays, RtUString const subset=US_NULL, RtUString const excludeSubset=US_NULL) const =0 |
|
virtual bool | HasAggregate (RtUString const name, bool &hasMatte) const =0 |
|
virtual int | GetVersion () const |
| Get the version number of this interface. More...
|
|
The RixVolumeServices interface allow the renderer to provide services that are useful for volume integration.
Currently, these include services that bound the minimum and maximum density of a RiVolume.
Enumerator |
---|
k_Float |
|
k_Integer |
|
k_StringV |
|
k_Color |
|
k_Normal |
|
k_Vector |
|
k_Point |
|
k_HPoint |
|
k_MPoint |
|
k_Matrix |
|
RixVolumeServices::RixVolumeServices |
( |
) | |
|
|
inline |
RixVolumeServices::~RixVolumeServices |
( |
) | |
|
|
inlineoverrideprotected |
virtual void RixVolumeServices::End |
( |
) | |
|
|
pure virtual |
virtual RixSCDetail RixVolumeServices::EvalTemporalParam |
( |
int |
paramId, |
|
|
int |
arrayIndex, |
|
|
float const ** |
result, |
|
|
float const * |
dflt |
|
) |
| const |
|
pure virtual |
virtual RixSCDetail RixVolumeServices::EvalTemporalParam |
( |
int |
paramId, |
|
|
int |
arrayIndex, |
|
|
RtColorRGB const ** |
result, |
|
|
RtColorRGB const * |
dflt |
|
) |
| const |
|
pure virtual |
virtual RixSCDetail RixVolumeServices::EvalTemporalParam |
( |
int |
paramId, |
|
|
int |
arrayIndex, |
|
|
RtFloat3 const ** |
result, |
|
|
RtFloat3 const * |
dflt |
|
) |
| const |
|
pure virtual |
virtual RixVolumeAggregate* RixVolumeServices::GetAggregate |
( |
RtUString const |
name, |
|
|
int |
numRays, |
|
|
RtRayGeometry const * |
rays, |
|
|
RtUString const |
subset = US_NULL , |
|
|
RtUString const |
excludeSubset = US_NULL |
|
) |
| const |
|
pure virtual |
virtual int RixVolumeServices::GetDensityRanges |
( |
const RtPoint3 & |
pt0, |
|
|
const RtPoint3 & |
pt1, |
|
|
float |
length, |
|
|
float |
maxDensity, |
|
|
float ** |
dist, |
|
|
float ** |
minDensities, |
|
|
float ** |
maxDensities, |
|
|
float * |
minTrans, |
|
|
float * |
maxTrans |
|
) |
| const |
|
pure virtual |
When invoked on a shading context bound to RiVolume geometry, GetDensityRanges returns information about the minimum and maximum densities encountered on a straight line between two points in the volume.
pt0 and pt1 are points in the RiVolume that must be in UVW space. length is the distance between the two points; this can be measured in any convenient space. maxDensity is a value that overrides the actual maximum density reported by the volume (the minimum of both will be used).
The return value is the number of ranges that divide the interval, implicitly starting at the first point. The output arrays are allocated by the shading context, and are all sized to the number of return ranges. dist contains the endpoint of each interval, relative to the input length. minDensities and maxDensities contain the minimum and maximum densities of each interval. minTrans and maxTrans contain lower and upper bounds on the transmissivity over the entire interval.
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 bool RixVolumeServices::HasAggregate |
( |
RtUString const |
name, |
|
|
bool & |
hasMatte |
|
) |
| const |
|
pure virtual |
int RixInterface::m_version |
|
protectedinherited |
The documentation for this class was generated from the following file: