RenderMan API
23.0
|
#include <RixLight.h>
Classes | |
struct | EvaluateEmissionForCameraResults |
struct | EvaluateSamplesResults |
struct | GenerateEmissionResults |
struct | GenerateSamplesResults |
struct | RixSamplePoint |
struct | RixScatterPoint |
Public Member Functions | |
RixLight (RixLightFactory const *lightFactory, Type type) | |
virtual | ~RixLight () |
bool | IsLocal () const |
bool | IsInfinite () const |
virtual RixSCDetail | GetProperty (LightProperty prop, void const **result) const =0 |
virtual void | GetBounds (int &nPoints, RtPoint3 const *&points) const =0 |
virtual bool | Intersect (bool isTransmissionRay, float const rayTime, RtPoint3 const &rayOrigin, RtVector3 const &rayDirection, float &hitDistance, float &u, float &v, float &w, RtPoint3 &hitP, RtNormal3 &hitNn) const =0 |
virtual RtFloat | GetIncidentRadianceEstimate (RtPoint3 const &P, RtMatrix4x4 const &lightToCurrent, RtMatrix4x4 const ¤tToLight) const =0 |
virtual RtFloat | GetIncidentRadianceEstimate (RtPoint3 const &segmentOrigin, RtVector3 const &segmentDir, RtFloat segmentLen, RtMatrix4x4 const &lightToCurrent, RtMatrix4x4 const ¤tToLight, RtFloat &minT, RtFloat &maxT) const =0 |
virtual float | GetPowerEstimate (RtMatrix4x4 const &xform) const =0 |
virtual void | GenerateSamples (RixLightContext const &lCtx, RixScatterPoint const &scatter, GenerateSamplesResults &results) const =0 |
virtual void | EvaluateSamples (RixLightContext const &lCtx, RixSamplePoint const &sample, RixScatterPoint const &scatter, EvaluateSamplesResults &results) const =0 |
virtual void | GenerateEmission (RixLightContext const &lCtx, GenerateEmissionResults &results) const =0 |
virtual void | EvaluateEmissionForCamera (RixLightContext const &lCtx, RixSamplePoint const &sample, RixScatterPoint const &scatter, EvaluateEmissionForCameraResults &results) const =0 |
virtual RixLight * | Edit (RixContext &ctx, RtUString const name, RixParameterList const *pList, RtPointer instanceData)=0 |
Protected Attributes | |
RixLightFactory const * | m_lightFactory |
RixLight This base class defines the interface for light sources.
Definition at line 118 of file RixLight.h.
Definition at line 174 of file RixLight.h.
enum RixLight::Type |
Enumerator | |
---|---|
k_RixLocal | |
k_RixInfinite |
Definition at line 121 of file RixLight.h.
|
inline |
Definition at line 155 of file RixLight.h.
|
inlinevirtual |
Definition at line 163 of file RixLight.h.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
GetIncidentRadianceEstimate Returns an estimate of the radiance this light will return for a shading point. This is used by localisation schemes to optionally adjust the importance associated with the light source relative to other light sources. As such, it should be an estimate that is very quick to compute.
|
pure virtual |
GetIncidentRadiancEstimate Returns an estimate of the radiance this light will return for a segment, along with a min and max t that represent the subsection of the segment that intersects the light's frustum, if it has one. Dir and segmentLen are normalized direction and segment length This case is used during volume integration.
|
pure virtual |
GetPowerEstimate Returns an estimate of the power emitted by this light. This is used by localisation schemes to optionally adjust the importance associated with the light source relative to other light sources. As such, it should be an estimate that is very quick to compute.
|
pure virtual |
|
pure virtual |
|
inline |
Definition at line 168 of file RixLight.h.
|
inline |
Definition at line 167 of file RixLight.h.
|
protected |
Definition at line 356 of file RixLight.h.