using namespace HDK_Sample;
{
}
GR_PrimTetraHook::~GR_PrimTetraHook()
{
}
{
}
:
GR_Primitive(info, cache_name, GA_PrimCompat::TypeMask(0))
{
myGeo = NULL;
}
GR_PrimTetra::~GR_PrimTetra()
{
delete myGeo;
}
int geo_type,
{
if(geo_type == myID)
}
void
{
return;
const char *posname = "P";
const char *nmlname = "N";
if(!myGeo)
getGEOPrimFromGT<GEO_PrimTetra>(primh, tet);
const int num_tets = tet ? 1 : 0;
if(num_tets == 0)
{
delete myGeo;
myGeo = NULL;
return;
}
{
}
{
if(pdata)
{
for(int t=0; t<num_tets; t++)
{
pdata[0] = pt(t*4);
pdata[1] = pt(t*4+1);
pdata[2] = pt(t*4+2);
pdata[3] = pt(t*4);
pdata[4] = pt(t*4+2);
pdata[5] = pt(t*4+3);
pdata[6] = pt(t*4+1);
pdata[7] = pt(t*4+2);
pdata[8] = pt(t*4+3);
pdata[9] = pt(t*4);
pdata[10] = pt(t*4+3);
pdata[11] = pt(t*4+1);
pdata += 12;
}
}
}
{
if(ndata)
{
for(int t=0; t<num_tets; t++)
{
ndata[0] = ndata[1] = ndata[2] = n0;
ndata[3] = ndata[4] = ndata[5] = n1;
ndata[6] = ndata[7] = ndata[8] = n2;
ndata[9] = ndata[10] = ndata[11] = n3;
ndata += 12;
}
}
}
myInstancedFlag =
}
static RE_ShaderHandle theNQFlatShader(
"material/GL32/beauty_flat_lit.prog");
static RE_ShaderHandle theNQUnlitShader(
"material/GL32/beauty_unlit.prog");
void
{
if(!myGeo)
return;
{
if(need_wire)
{
else
}
{
}
{
}
{
}
{
}
{
}
{
if(!mat)
mat->updateShaderForMaterial(r, 0, true,
}
else
if(need_wire && !polyoff)
}
if(need_wire)
{
else
}
}
void
{
}
int
unsigned int pick_type,
bool has_pick_map)
{
return 0;
}