34 using namespace HDK_Sample;
84 val[0] = val[1] = val[2] = -1;
85 import(
"minbound",
val, 3);
88 val[0] = val[1] = val[2] = 1;
89 import(
"maxbound",
val, 3);
115 myBox.
vals[2][0], myBox.
vals[2][1]);
119 obj->addGeometry(geo);
121 obj->changeSetting(
"surface",
"constant Cd ( 1 0 0 )",
"object");
RAY_ProceduralGeo createGeometry() const
Allocate geometry for this procedural.
Procedural primitive for mantra (RAY)
bool insert(ProcDefinition *def, bool replace_existing=true)
RAY_ProceduralChildPtr createChild() const
void enlargeBounds(const UT_Vector3T< T > &min, const UT_Vector3T< T > &max)
Parameter definition for arguments to RAY_Procedural.
GU_PrimPoly * cube(float xmin=-1, float xmax=1, float ymin=-1, float ymax=1, float zmin=-1, float zmax=1, int xdiv=0, int ydiv=0, int zdiv=0, int enforcementBars=0, int doConsolidatePoints=0)
A very simple mantra procedural to render a box.
const char * className() const override
int initialize(const UT_BoundingBox *) override
SYS_FORCE_INLINE void initBounds()
RAY_ProceduralArg * arguments() const override
Provide a const reference to the arguments for the procedural.
void getBoundingBox(UT_BoundingBox &box) override
The bounding box is the "object space" bounds of the procedural.
RAY_Procedural * create() const override
Create a procedural, and pass ownership of the instance to mantra.
void registerProcedural(RAY_ProceduralFactory *factory)
Modern interface to register procedurals.
Class to create a procedural.