45 #include "RiTypesHelper.h"
70 virtual float GetTime()
const = 0;
75 virtual void GetSample4D(RtFloat2& xy, RtFloat2& zw)
const = 0;
83 RtUString from, RtUString to,
85 RtMatrix4x4& xform)
const = 0;
87 RtUString from, RtUString to,
88 RtMatrix4x4& xform)
const = 0;
91 RtMatrix4x4& lightToCurrent)
const = 0;
95 RtMatrix4x4& lightToCurrent)
const = 0;
98 RtMatrix4x4& lightToCurrent)
const = 0;
102 RtMatrix4x4& lightToCurrent)
const = 0;
142 RtFloat3
const& inUvw,
143 RtFloat3
const& inDirection,
144 float const& inDistance)
198 void const** result)
const = 0;
202 virtual void GetBounds(
int& nPoints, RtPoint3
const*& points)
const = 0;
205 bool isTransmissionRay,
207 RtPoint3
const& rayOrigin,
208 RtVector3
const& rayDirection,
215 RtNormal3& hitNn)
const = 0;
228 RtMatrix4x4
const& lightToCurrent,
229 RtMatrix4x4
const& currentToLight)
const = 0;
240 RtPoint3
const& segmentOrigin,
241 RtVector3
const& segmentDir,
243 RtMatrix4x4
const& lightToCurrent,
244 RtMatrix4x4
const& currentToLight,
246 RtFloat& maxT)
const = 0;
350 RtUString
const name,
352 void* instanceData) = 0;
371 RtUString
const name,
373 void* instanceData) = 0;
382 #define RIX_LIGHTFACTORYCREATE \
383 extern "C" PRMANEXPORT RixLightFactory* CreateRixLightFactory(RtUString const hint)
385 #define RIX_LIGHTFACTORYDESTROY \
386 extern "C" PRMANEXPORT void DestroyRixLightFactory(RixLightFactory* factory)