38 #ifndef RixShadingParam_h 39 #define RixShadingParam_h 80 #ifndef RIX_SHADING_PARAM_MEMCATEGORY 81 #error RIX_SHADING_PARAM_MEMCATEGORY must be defined prior to inclusion 114 bool promoteToVarying =
false)
118 paramId, -1, const_cast<RtFloat const **>(&
data.f1), dflt, promoteToVarying);
128 bool promoteToVarying =
false)
132 paramId, -1, const_cast<RtFloat3 const **>(&
data.f3), dflt, promoteToVarying);
141 bool promoteToVarying =
false)
145 paramId, -1, const_cast<RtColorRGB const **>(&
data.rgb), dflt, promoteToVarying);
155 bool promoteToVarying =
false)
159 paramId, -1, const_cast<RtInt const **>(&
data.i1), dflt, promoteToVarying);
338 return RixConstants::k_ZeroF3;
360 return RixConstants::k_ZeroRGB;
369 if(i==0) {
data.f1[0] = v; }
401 for(
int i = 1; i < numPts; i++)
408 for(
int i = 1; i < numPts; i++)
417 for(
int i = 1; i < numPts; i++)
void SetValue(int i, RtFloat v)
T * AllocFor(MemCategory memcat, int num)
pxrcore::ColorRGB RtColorRGB
void InitEvalF(RixShadingContext const *sCtx, int paramId, RtFloat *dflt, bool promoteToVarying=false)
RixSCDetail detail
output detail may be determined by inputs
RtColorRGB const & GetValueC() const
RtInt GetValueI(int i) const
void InitEmptyV(RtFloat3 *dflt=NULL)
void InitReserveI(RixShadingContext::Allocator &pool, int numPts, RtInt dflt)
RtColorRGB const & GetValueC(int i) const
void InitEmptyC(RtColorRGB const *dflt=NULL)
RtFloat3 const & GetValueV() const
void InitEvalV(RixShadingContext const *sCtx, int paramId, RtFloat3 *dflt, bool promoteToVarying=false)
void InitEmptyF(RtFloat const *dflt=NULL)
void InitEvalI(RixShadingContext const *sCtx, int paramId, RtInt *dflt, bool promoteToVarying=false)
RtConstPointer value
output values
void Bind(RixPattern::OutputSpec &o, int paramId)
RtFloat3 const & GetValueV(int i) const
void InitEmptyI(RtInt const *dflt=NULL)
RtFloat GetValueF() const
void const * RtConstPointer
RtFloat GetValueF(int i) const
void PromoteToVarying(int numPts)
union RixShadingParam::@4 data
int paramId
into param table
virtual RixSCDetail EvalParam(int paramId, int arrayIndex, int const **result, int const *dflt=NULL, bool promoteToVarying=false) const =0
void InitReserveV(RixShadingContext::Allocator &pool, int numPts)
void InitReserveC(RixShadingContext::Allocator &pool, int numPts, RtColorRGB const &dflt)
void InitReserveF(RixShadingContext::Allocator &pool, int numPts, RtFloat dflt)
void InitEvalC(RixShadingContext const *sCtx, int paramId, RtColorRGB *dflt, bool promoteToVarying=false)