Cleaning up.
This commit is contained in:
parent
048af66620
commit
679e419946
@ -18,10 +18,12 @@ namespace Ogre
|
|||||||
class SurfacePatchRenderable : public SimpleRenderable
|
class SurfacePatchRenderable : public SimpleRenderable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SurfacePatchRenderable(const String& name, IndexedSurfacePatch* patchToRender, const String& material = "BaseWhiteNoLighting");
|
SurfacePatchRenderable(const String& name);
|
||||||
~SurfacePatchRenderable(void);
|
~SurfacePatchRenderable(void);
|
||||||
|
|
||||||
|
void setInitialSurfacePatch(IndexedSurfacePatch* patchToRender, const String& material = "BaseWhiteNoLighting");
|
||||||
void updateWithNewSurfacePatch(IndexedSurfacePatch* patchToRender);
|
void updateWithNewSurfacePatch(IndexedSurfacePatch* patchToRender);
|
||||||
|
|
||||||
void setGeometry(IndexedSurfacePatch* patchToRender);
|
void setGeometry(IndexedSurfacePatch* patchToRender);
|
||||||
|
|
||||||
Real getSquaredViewDepth(const Camera *cam) const;
|
Real getSquaredViewDepth(const Camera *cam) const;
|
||||||
@ -35,20 +37,20 @@ namespace Ogre
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** Factory object for creating Light instances */
|
/** Factory object for creating Light instances */
|
||||||
/*class _OgreExport SimplePatchRenderableFactory : public MovableObjectFactory
|
class VOXEL_SCENE_MANAGER_API SurfacePatchRenderableFactory : public MovableObjectFactory
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params);
|
MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params);
|
||||||
public:
|
public:
|
||||||
SimplePatchRenderableFactory() {}
|
SurfacePatchRenderableFactory() {}
|
||||||
~SimplePatchRenderableFactory() {}
|
~SurfacePatchRenderableFactory() {}
|
||||||
|
|
||||||
static String FACTORY_TYPE_NAME;
|
static String FACTORY_TYPE_NAME;
|
||||||
|
|
||||||
const String& getType(void) const;
|
const String& getType(void) const;
|
||||||
void destroyInstance( MovableObject* obj);
|
void destroyInstance( MovableObject* obj);
|
||||||
|
|
||||||
};*/
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* __SurfacePatchRenderable_H__ */
|
#endif /* __SurfacePatchRenderable_H__ */
|
||||||
|
@ -155,18 +155,15 @@ namespace Ogre
|
|||||||
if(iterRegionGeometry->m_bContainsSingleMaterialPatch)
|
if(iterRegionGeometry->m_bContainsSingleMaterialPatch)
|
||||||
{
|
{
|
||||||
SurfacePatchRenderable* singleMaterialSurfacePatchRenderable;
|
SurfacePatchRenderable* singleMaterialSurfacePatchRenderable;
|
||||||
try
|
if(hasMovableObject(singleMaterialNode.str(),SurfacePatchRenderableFactory::FACTORY_TYPE_NAME) )
|
||||||
//if(hasMovableObject(singleMaterialNode.str(),"SimpleRenderable") )
|
|
||||||
{
|
{
|
||||||
LogManager::getSingleton().logMessage("FOUND IT!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
singleMaterialSurfacePatchRenderable = dynamic_cast<SurfacePatchRenderable*>(getMovableObject(singleMaterialNode.str(), SurfacePatchRenderableFactory::FACTORY_TYPE_NAME));
|
||||||
singleMaterialSurfacePatchRenderable = dynamic_cast<SurfacePatchRenderable*>(sceneNode->getAttachedObject(singleMaterialNode.str()));
|
|
||||||
//singleMaterialSurfacePatchRenderable = dynamic_cast<SurfacePatchRenderable*>(getMovableObject(singleMaterialNode.str(), "SurfacePatchRenderable"));
|
|
||||||
singleMaterialSurfacePatchRenderable->updateWithNewSurfacePatch(iterRegionGeometry->m_patchSingleMaterial);
|
singleMaterialSurfacePatchRenderable->updateWithNewSurfacePatch(iterRegionGeometry->m_patchSingleMaterial);
|
||||||
}
|
}
|
||||||
catch(Ogre::ItemIdentityException)
|
else
|
||||||
//else
|
|
||||||
{
|
{
|
||||||
singleMaterialSurfacePatchRenderable = new SurfacePatchRenderable(singleMaterialNode.str(), iterRegionGeometry->m_patchSingleMaterial,materialMap->getMaterialAtIndex(1));
|
singleMaterialSurfacePatchRenderable = dynamic_cast<SurfacePatchRenderable*>(createMovableObject(singleMaterialNode.str(), SurfacePatchRenderableFactory::FACTORY_TYPE_NAME));
|
||||||
|
singleMaterialSurfacePatchRenderable->setInitialSurfacePatch(iterRegionGeometry->m_patchSingleMaterial,materialMap->getMaterialAtIndex(1));
|
||||||
singleMaterialSurfacePatchRenderable->setRenderQueueGroup(RENDER_QUEUE_4);
|
singleMaterialSurfacePatchRenderable->setRenderQueueGroup(RENDER_QUEUE_4);
|
||||||
sceneNode->attachObject(singleMaterialSurfacePatchRenderable);
|
sceneNode->attachObject(singleMaterialSurfacePatchRenderable);
|
||||||
}
|
}
|
||||||
@ -195,7 +192,8 @@ namespace Ogre
|
|||||||
}
|
}
|
||||||
if(multiMaterialSurfacePatchRenderable == 0)
|
if(multiMaterialSurfacePatchRenderable == 0)
|
||||||
{
|
{
|
||||||
SurfacePatchRenderable* multiMaterialSurfacePatchRenderable = new SurfacePatchRenderable(multiMaterialNode.str(), iterRegionGeometry->m_patchMultiMaterial,materialMap->getMaterialAtIndex(2));
|
SurfacePatchRenderable* multiMaterialSurfacePatchRenderable = new SurfacePatchRenderable(multiMaterialNode.str());
|
||||||
|
multiMaterialSurfacePatchRenderable->setInitialSurfacePatch(iterRegionGeometry->m_patchMultiMaterial,materialMap->getMaterialAtIndex(2));
|
||||||
multiMaterialSurfacePatchRenderable->setRenderQueueGroup(RENDER_QUEUE_3);
|
multiMaterialSurfacePatchRenderable->setRenderQueueGroup(RENDER_QUEUE_3);
|
||||||
sceneNode->attachObject(multiMaterialSurfacePatchRenderable);
|
sceneNode->attachObject(multiMaterialSurfacePatchRenderable);
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
namespace Ogre
|
namespace Ogre
|
||||||
{
|
{
|
||||||
SurfacePatchRenderable::SurfacePatchRenderable(const String& name, IndexedSurfacePatch* patchToRender, const String& material)
|
SurfacePatchRenderable::SurfacePatchRenderable(const String& name)
|
||||||
:SimpleRenderable(name)
|
:SimpleRenderable(name)
|
||||||
{
|
{
|
||||||
//Set up what we can of the vertex data
|
//Set up what we can of the vertex data
|
||||||
@ -30,10 +30,6 @@ namespace Ogre
|
|||||||
decl->addElement(0, 3 * sizeof(float), VET_FLOAT3, VES_NORMAL);
|
decl->addElement(0, 3 * sizeof(float), VET_FLOAT3, VES_NORMAL);
|
||||||
decl->addElement(0, 6 * sizeof(float), VET_FLOAT2, VES_TEXTURE_COORDINATES);
|
decl->addElement(0, 6 * sizeof(float), VET_FLOAT2, VES_TEXTURE_COORDINATES);
|
||||||
|
|
||||||
|
|
||||||
this->setMaterial(material);
|
|
||||||
|
|
||||||
setGeometry(patchToRender);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SurfacePatchRenderable::~SurfacePatchRenderable(void)
|
SurfacePatchRenderable::~SurfacePatchRenderable(void)
|
||||||
@ -42,6 +38,13 @@ namespace Ogre
|
|||||||
delete mRenderOp.indexData;
|
delete mRenderOp.indexData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SurfacePatchRenderable::setInitialSurfacePatch(IndexedSurfacePatch* patchToRender, const String& material)
|
||||||
|
{
|
||||||
|
this->setMaterial(material);
|
||||||
|
|
||||||
|
setGeometry(patchToRender);
|
||||||
|
}
|
||||||
|
|
||||||
void SurfacePatchRenderable::updateWithNewSurfacePatch(IndexedSurfacePatch* patchToRender)
|
void SurfacePatchRenderable::updateWithNewSurfacePatch(IndexedSurfacePatch* patchToRender)
|
||||||
{
|
{
|
||||||
setGeometry(patchToRender);
|
setGeometry(patchToRender);
|
||||||
@ -173,14 +176,14 @@ namespace Ogre
|
|||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
/*String LightFactory::FACTORY_TYPE_NAME = "SurfacePatchRenderable";
|
String SurfacePatchRenderableFactory::FACTORY_TYPE_NAME = "SurfacePatchRenderable";
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
const String& SimplePatchRenderableFactory::getType(void) const
|
const String& SurfacePatchRenderableFactory::getType(void) const
|
||||||
{
|
{
|
||||||
return FACTORY_TYPE_NAME;
|
return FACTORY_TYPE_NAME;
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
MovableObject* SimplePatchRenderableFactory::createInstanceImpl( const String& name,
|
MovableObject* SurfacePatchRenderableFactory::createInstanceImpl( const String& name,
|
||||||
const NameValuePairList* params)
|
const NameValuePairList* params)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -188,8 +191,8 @@ namespace Ogre
|
|||||||
|
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
void SimplePatchRenderableFactory::destroyInstance( MovableObject* obj)
|
void SurfacePatchRenderableFactory::destroyInstance( MovableObject* obj)
|
||||||
{
|
{
|
||||||
delete obj;
|
delete obj;
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user