45 #include "RiTypesHelper.h"
162 RtVector3
const& N, RtVector3
const& V)
169 float dpL = L.Dot(N);
170 float dpV = N.Dot(V);
174 return (dpL > 0.0f && dpV < 0.0f);
177 return (dpL > 0.0f && dpV > 0.0f);
180 return (dpL < 0.0f && dpV > 0.0f);
183 return (dpL < 0.0f && dpV < 0.0f);
192 return ((dpL > 0.0f) != (dpV < 0.0f));
195 return ((dpL > 0.0f) == (dpV < 0.0f));
198 return ((dpL > 0.0f && dpV < 0.0f) || (dpL < 0.0f && dpV < 0.0f));
201 return ((dpL > 0.0f && dpV > 0.0f) || (dpL < 0.0f && dpV > 0.0f));
204 return ((dpL > 0.0f && dpV < 0.0f) || (dpL > 0.0f && dpV > 0.0f) ||
205 (dpL < 0.0f && dpV < 0.0f));
208 return ((dpL > 0.0f && dpV > 0.0f) || (dpL < 0.0f && dpV > 0.0f) ||
209 (dpL < 0.0f && dpV < 0.0f));
212 return ((dpL > 0.0f && dpV < 0.0f) || (dpL < 0.0f && dpV > 0.0f) ||
213 (dpL < 0.0f && dpV < 0.0f));
216 return ((dpL > 0.0f && dpV > 0.0f) || (dpL > 0.0f && dpV < 0.0f) ||
217 (dpL < 0.0f && dpV > 0.0f));
223 float dpL = L.Dot(N);
232 float dpV = N.Dot(V);
362 std::vector<int>& paramId)
const = 0;
428 void* instanceData) = 0;
507 PIXAR_ARGUSED(parentData);
508 PIXAR_ARGUSED(instanceData);
590 virtual bool EmitLocal(RtColorRGB* result) = 0;
642 RtColorRGB* compTrans = NULL) = 0;
679 RtVector3
const* directions,
682 float* reversePdfs) = 0;
703 float* forwardPdfs,
float* reversePdfs) = 0;
781 virtual bool GetOpacity(RtColorRGB* result) = 0;
967 int const* membership = NULL)
984 IntegratorDelegate* lcb,
int* numShadingCtxs,
987 RtUString
const subset = US_NULL,
988 RtUString
const excludeSubset = US_NULL,
bool isLightPath =
false,
999 RtColorRGB* emission,
1001 RtUString
const subset = US_NULL,
1002 RtUString
const excludeSubset = US_NULL)
1004 PIXAR_ARGUSED(rays);
1006 PIXAR_ARGUSED(iCtx);
1007 PIXAR_ARGUSED(emission);
1008 PIXAR_ARGUSED(subset);
1009 PIXAR_ARGUSED(excludeSubset);
1010 for (
int i = 0; i < numRays; ++i)
1012 transmissions[i] = RtColorRGB(0.0f);
1044 virtual void Filter(
int const numLightSamples, RtVector3
const* directions,
1045 float const* distances,
const RixLight** lights,
1047 RtColorRGB* transmissions) = 0;
1055 #define RIX_BXDFPLUGINCREATE \
1056 extern "C" PRMANEXPORT RixBxdfFactory* CreateRixBxdfFactory(const char* hint)
1058 #define RIX_BXDFPLUGINDESTROY \
1059 extern "C" PRMANEXPORT void DestroyRixBxdfFactory(RixBxdfFactory* bxdf)