38 using namespace UT::Literal;
40 namespace HDK_Sample {
44 template <VEX_Precision PREC>
46 pid_Evaluate(
int,
void *argv[],
void *)
52 template <VEX_Precision PREC>
54 tid_Evaluate(
int,
void *argv[],
void *)
60 template <VEX_Precision PREC>
62 printStuff(
int,
void *argv[],
void *)
65 static int callCount = 0;
66 fprintf(stderr,
"Still here %d\n", callCount++);
78 cleanupFunc(
void *
data)
80 fprintf(stderr,
"Cleanup: Data = %p\n", data);
88 using namespace HDK_Sample;
94 new VEX_VexOp(
"getpid@&I"_sh, pid_Evaluate<VEX_32>,
97 new VEX_VexOp(
"gettid@&I"_sh, tid_Evaluate<VEX_32>,
100 new VEX_VexOp(
"sticky@&I"_sh, printStuff<VEX_32>,
103 new VEX_VexOp(
"rcode@&I*F*FFF"_sh, printStuff<VEX_32>,
106 new VEX_VexOp(
"rcode@&I*F*FS"_sh, printStuff<VEX_32>,
Use this class to extend VEX by adding custom VEX functions.
**But if you need a result
auto fprintf(std::FILE *f, const S &fmt, const T &...args) -> int
#define VEX_SHADING_CONTEXT
static ut_thread_id_t getMyThreadId()
typename VEX_PrecisionResolver< P >::int_type VEXint
SYS_VISIBILITY_EXPORT void newVEXOp(void *)