And exactly what are the symptoms of the problem? What is not working exactly?
Greetings, On 9/14/06, Piotr Obrzut <[EMAIL PROTECTED]> wrote: > 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 > Crystal-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/crystal-main > Unsubscribe: mailto:[EMAIL PROTECTED] > -- Project Manager of Crystal Space (http://www.crystalspace3d.org) and CEL (http://cel.crystalspace3d.org) Support Crystal Space. Donate at https://sourceforge.net/donate/index.php?group_id=649 ------------------------------------------------------------------------- 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 Crystal-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/crystal-main Unsubscribe: mailto:[EMAIL PROTECTED]