Hi Jorrit,
Thursday, September 14, 2006, 8:49:57 PM, you wrote:
> What about AddLeavesMesh? Is that handling the clip flags correctly?
here are the Add* methods, the problem is actually most visible with
branch mesh. I really have no idea what might be wrong...
void ttoSpeedTreeMeshObject::AddBillboardMesh (int clip_portal, int clip_plane,
int clip_z_plane,iRenderView*
rview,
const csReversibleTransform
&o2wt,
const csVector3& wo, size_t i)
{
bool rmCreated;
csRenderMesh*& meshPtr = rmHolder.GetUnusedMesh (rmCreated,
rview->GetCurrentFrameNumber ());
meshPtr->mixmode = CS_FX_MESH;
meshPtr->z_buf_mode = CS_ZBUF_USE;
meshPtr->clip_portal = clip_portal;
meshPtr->clip_plane = clip_plane;
meshPtr->clip_z_plane = clip_z_plane;
meshPtr->do_mirror = !rview->GetCamera ()->IsMirrored ();
meshPtr->meshtype = CS_MESHTYPE_QUADS;
meshPtr->indexstart = 0;
meshPtr->indexend = 4;
meshPtr->material = factory->billboard_mat;
meshPtr->worldspace_origin = wo;
if (rmCreated)
{
meshPtr->variablecontext = variableContext;
}
meshPtr->buffers = factory->billboard_buffer_holder;
meshPtr->geometryInstance = (void*)factory;
csReversibleTransform trans = o2wt;
meshPtr->object2world = o2wt;
rmeshes[i] = meshPtr;
}
void ttoSpeedTreeMeshObject::AddBranchMesh (int clip_portal, int clip_plane,
int clip_z_plane,
iRenderView* rview,
const csReversibleTransform &o2wt,
const csVector3& wo, size_t i)
{
bool rmCreated;
csRenderMesh*& meshPtr = rmHolder.GetUnusedMesh (rmCreated,
rview->GetCurrentFrameNumber ());
meshPtr->mixmode = CS_FX_MESH;
meshPtr->z_buf_mode = CS_ZBUF_USE;
meshPtr->clip_portal = clip_portal;
meshPtr->clip_plane = clip_plane;
meshPtr->clip_z_plane = clip_z_plane;
meshPtr->do_mirror = rview->GetCamera ()->IsMirrored ();
meshPtr->meshtype = CS_MESHTYPE_TRIANGLESTRIP;
meshPtr->indexstart = 0;
meshPtr->indexend = branches_indices_cnt;
meshPtr->material = factory->branch_mat;
meshPtr->worldspace_origin = wo;
if (rmCreated)
{
meshPtr->variablecontext = variableContext;
}
meshPtr->buffers = branch_buffer_holder;
meshPtr->geometryInstance = (void*)factory;
meshPtr->object2world = o2wt;
rmeshes[i] = meshPtr;
}
void ttoSpeedTreeMeshObject::AddFrondsMesh (int clip_portal, int clip_plane,
int clip_z_plane,
iRenderView* rview,
const csReversibleTransform &o2wt,
const csVector3& wo, size_t i)
{
bool rmCreated;
csRenderMesh*& meshPtr = rmHolder.GetUnusedMesh (rmCreated,
rview->GetCurrentFrameNumber ());
meshPtr->mixmode = CS_FX_MESH;
meshPtr->z_buf_mode = CS_ZBUF_USE;
meshPtr->clip_portal = clip_portal;
meshPtr->clip_plane = clip_plane;
meshPtr->clip_z_plane = clip_z_plane;
meshPtr->do_mirror = rview->GetCamera ()->IsMirrored ();
meshPtr->meshtype = CS_MESHTYPE_TRIANGLESTRIP;
meshPtr->indexstart = 0;
meshPtr->indexend = fronds_indices_cnt;
meshPtr->material = factory->fronds_mat;
meshPtr->worldspace_origin = wo;
if (rmCreated)
{
meshPtr->variablecontext = variableContext;
}
meshPtr->buffers = fronds_buffer_holder;
meshPtr->geometryInstance = (void*)factory;
meshPtr->object2world = o2wt;
rmeshes[i] = meshPtr;
}
void ttoSpeedTreeMeshObject::AddLeavesMesh (int clip_portal, int clip_plane,
int clip_z_plane,
iRenderView* rview,
const csReversibleTransform &o2wt,
const csVector3& wo, size_t i)
{
bool rmCreated;
csRenderMesh*& meshPtr = rmHolder.GetUnusedMesh (rmCreated,
rview->GetCurrentFrameNumber ());
meshPtr->mixmode = CS_FX_MESH;
meshPtr->z_buf_mode = CS_ZBUF_USE;
meshPtr->clip_portal = clip_portal;
meshPtr->clip_plane = clip_plane;
meshPtr->clip_z_plane = clip_z_plane;
meshPtr->indexstart = 0;
meshPtr->indexend = leaves_indices_cnt;
meshPtr->do_mirror = !rview->GetCamera ()->IsMirrored ();
meshPtr->meshtype = CS_MESHTYPE_QUADS;
meshPtr->material = factory->leaves_mat;
meshPtr->worldspace_origin = wo;
if (rmCreated)
{
meshPtr->variablecontext = variableContext;
}
meshPtr->buffers = leaves_buffer_holder;
meshPtr->geometryInstance = (void*)factory;
meshPtr->object2world = o2wt;
rmeshes[i] = meshPtr;
}
--
greetings,
Piotr Obrzut mailto:[EMAIL PROTECTED]
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[EMAIL PROTECTED]