Fixed water creating visible polygons, thanks to Hybrid for the weld tip. Jperg, maybe you can check my memory management makes sense (I think I'm getting the hang of it but I'm still not sure I know what I'm doing)
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9797 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
f099a6f4c0
commit
727f84d7f8
@ -556,7 +556,8 @@ scene::ISceneNode* IrrDriver::addWaterNode(scene::IMesh *mesh,
|
||||
float wave_length)
|
||||
{
|
||||
mesh->setMaterialFlag(EMF_GOURAUD_SHADING, true);
|
||||
scene::ISceneNode* out = m_scene_manager->addWaterSurfaceSceneNode(mesh,
|
||||
scene::IMesh* welded_mesh = m_scene_manager->getMeshManipulator()->createMeshWelded(mesh);
|
||||
scene::ISceneNode* out = m_scene_manager->addWaterSurfaceSceneNode(welded_mesh,
|
||||
wave_height, wave_speed,
|
||||
wave_length);
|
||||
out->getMaterial(0).setFlag(EMF_GOURAUD_SHADING, true);
|
||||
|
@ -1022,6 +1022,13 @@ void Track::createWater(const XMLNode &node)
|
||||
wave_height,
|
||||
wave_speed,
|
||||
wave_length);
|
||||
|
||||
// 'addWaterNode' welds the mesh so keep both the original and the welded copy
|
||||
mesh->grab();
|
||||
irr_driver->grabAllTextures(mesh);
|
||||
m_all_cached_meshes.push_back(mesh);
|
||||
|
||||
mesh = ((scene::IMeshSceneNode*)scene_node)->getMesh();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user