#include <GT_GPUTrace.h>
|
enum | PrimHandleType { PHT_GT,
PHT_GU
} |
|
enum | GT_TraceDirectionMode { GTDM_Forward,
GTDM_Backward,
GTDM_Both
} |
|
enum | DataType {
DT_Int = 0,
DT_Float,
DT_Vec2,
DT_Vec3,
DT_Vec4,
DT_NumDataType
} |
|
enum | BakingCalcTypes {
BCT_Ao,
BCT_Cv,
BCT_Cu_N,
BCT_Cu_P,
BCT_Th,
BCT_Eg,
BCT_Rn,
BakingCalcType_Num
} |
|
using | GT_GPUTracePtr = UT_UniquePtr< GT_GPUTrace > |
|
|
| GT_GPUTrace (const Factory &factory) |
|
virtual | ~GT_GPUTrace () |
|
const UT_StringHolder & | name () const |
|
const UT_StringHolder & | label () const |
|
virtual void | computeBaking (exint nrays, UT_Vector3 *org, UT_Vector3 *dir, const float *tfar, const BakingOptions &opts, bool trace_high_res, UT_Array< AttributeBakeRequest > &requests, const UT_StringHolder *bakemesh_tracesets, const UT_Vector3 *tanu=nullptr, const UT_Vector3 *tanv=nullptr, float *ao=nullptr, float *cavity=nullptr, float *curvature=nullptr, float *thickness=nullptr, float *edge=nullptr, UT_Vector3 *rn=nullptr) const =0 |
|
|
bool | init (const UT_Array< PrimitiveInfo > &prims, const BakingOptions &opts) |
|
Definition at line 28 of file GT_GPUTrace.h.
Enumerator |
---|
BCT_Ao |
|
BCT_Cv |
|
BCT_Cu_N |
|
BCT_Cu_P |
|
BCT_Th |
|
BCT_Eg |
|
BCT_Rn |
|
BakingCalcType_Num |
|
Definition at line 245 of file GT_GPUTrace.h.
Enumerator |
---|
DT_Int |
|
DT_Float |
|
DT_Vec2 |
|
DT_Vec3 |
|
DT_Vec4 |
|
DT_NumDataType |
|
Definition at line 224 of file GT_GPUTrace.h.
Enumerator |
---|
GTDM_Forward |
|
GTDM_Backward |
|
GTDM_Both |
|
Definition at line 92 of file GT_GPUTrace.h.
GT_GPUTrace::GT_GPUTrace |
( |
const Factory & |
factory | ) |
|
|
inline |
virtual GT_GPUTrace::~GT_GPUTrace |
( |
| ) |
|
|
inlinevirtual |
Allocate a tracer from a particular factory.
Allocate the best tracer for a given piece of geometry
virtual void GT_GPUTrace::computeBaking |
( |
exint |
nrays, |
|
|
UT_Vector3 * |
org, |
|
|
UT_Vector3 * |
dir, |
|
|
const float * |
tfar, |
|
|
const BakingOptions & |
opts, |
|
|
bool |
trace_high_res, |
|
|
UT_Array< AttributeBakeRequest > & |
requests, |
|
|
const UT_StringHolder * |
bakemesh_tracesets, |
|
|
const UT_Vector3 * |
tanu = nullptr , |
|
|
const UT_Vector3 * |
tanv = nullptr , |
|
|
float * |
ao = nullptr , |
|
|
float * |
cavity = nullptr , |
|
|
float * |
curvature = nullptr , |
|
|
float * |
thickness = nullptr , |
|
|
float * |
edge = nullptr , |
|
|
UT_Vector3 * |
rn = nullptr |
|
) |
| const |
|
pure virtual |
Note the dir
vectors must be normalized. If trace_high_res
is true, High res mesh info are traced using rays with given org
and dir
, typically on the Low res mesh, and, if opts.myPixelSamples
also is 1, the input org
and dir
are so modified by the results with dir
being the surface normal. tanu
and tanv
are tangent vectors on Low res mesh that correspond to each pixel. They are used to jitter the org
. Both vectors can be passed null if opts.myPixelSamples
is 1.
const TraceSet& GT_GPUTrace::getTheAllTraceset |
( |
| ) |
const |
|
protected |
constexpr uint GT_GPUTrace::AO_SEED = 0x4c41e0cd |
|
static |
constexpr uint GT_GPUTrace::CU_N_SEED = 0x4b65c61e |
|
static |
constexpr uint GT_GPUTrace::CU_P_SEED = 0x9a4bf788 |
|
static |
constexpr uint GT_GPUTrace::CV_SEED = 0xf2ee2275 |
|
static |
constexpr uint GT_GPUTrace::EG_SEED = 0x139fa345 |
|
static |
constexpr uint GT_GPUTrace::PIXEL_SEED = 0x73aecd3d |
|
static |
constexpr uint GT_GPUTrace::RN_SEED = 0xe4df7f01 |
|
static |
constexpr uint GT_GPUTrace::TH_SEED = 0x4c910506 |
|
static |
The documentation for this class was generated from the following file: