Commit a3a41d80 authored by hybrid's avatar hybrid

Major update to LWO loader to support more material properties and work with...

Major update to LWO loader to support more material properties and work with more meshes. Changed some meshloader constructors to take scenemanager instead of other parameters. Fixed obj loader texture loading with mixed file separators.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1215 dfc29bdd-3216-0410-991c-e03cc46cb475
parent b5ac2dfa
...@@ -14,14 +14,12 @@ namespace scene ...@@ -14,14 +14,12 @@ namespace scene
{ {
//! Constructor //! Constructor
CBSPMeshFileLoader::CBSPMeshFileLoader(io::IFileSystem* fs,video::IVideoDriver* driver, scene::ISceneManager* smgr) CBSPMeshFileLoader::CBSPMeshFileLoader(scene::ISceneManager* smgr,
: FileSystem(fs), Driver(driver), SceneManager(smgr) io::IFileSystem* fs)
: FileSystem(fs), SceneManager(smgr)
{ {
if (FileSystem) if (FileSystem)
FileSystem->grab(); FileSystem->grab();
if (Driver)
Driver->grab();
} }
...@@ -30,9 +28,6 @@ CBSPMeshFileLoader::~CBSPMeshFileLoader() ...@@ -30,9 +28,6 @@ CBSPMeshFileLoader::~CBSPMeshFileLoader()
{ {
if (FileSystem) if (FileSystem)
FileSystem->drop(); FileSystem->drop();
if (Driver)
Driver->drop();
} }
...@@ -53,7 +48,7 @@ IAnimatedMesh* CBSPMeshFileLoader::createMesh(io::IReadFile* file) ...@@ -53,7 +48,7 @@ IAnimatedMesh* CBSPMeshFileLoader::createMesh(io::IReadFile* file)
// load quake 3 bsp // load quake 3 bsp
if (strstr(file->getFileName(), ".bsp")) if (strstr(file->getFileName(), ".bsp"))
{ {
CQ3LevelMesh* q = new CQ3LevelMesh(FileSystem, Driver, SceneManager); CQ3LevelMesh* q = new CQ3LevelMesh(FileSystem, SceneManager);
q->getShader ( "scripts/models.shader", 1 ); q->getShader ( "scripts/models.shader", 1 );
q->getShader ( "scripts/liquid.shader", 1 ); q->getShader ( "scripts/liquid.shader", 1 );
...@@ -68,7 +63,7 @@ IAnimatedMesh* CBSPMeshFileLoader::createMesh(io::IReadFile* file) ...@@ -68,7 +63,7 @@ IAnimatedMesh* CBSPMeshFileLoader::createMesh(io::IReadFile* file)
// load quake 3 shader container // load quake 3 shader container
if (strstr(file->getFileName(), ".shader")) if (strstr(file->getFileName(), ".shader"))
{ {
CQ3LevelMesh* q = new CQ3LevelMesh(FileSystem, Driver, SceneManager); CQ3LevelMesh* q = new CQ3LevelMesh(FileSystem, SceneManager);
q->getShader ( file->getFileName(), 1 ); q->getShader ( file->getFileName(), 1 );
return q; return q;
} }
......
...@@ -21,7 +21,7 @@ class CBSPMeshFileLoader : public IMeshLoader ...@@ -21,7 +21,7 @@ class CBSPMeshFileLoader : public IMeshLoader
public: public:
//! Constructor //! Constructor
CBSPMeshFileLoader(io::IFileSystem* fs, video::IVideoDriver* driver, scene::ISceneManager* smgr); CBSPMeshFileLoader(scene::ISceneManager* smgr, io::IFileSystem* fs);
//! destructor //! destructor
virtual ~CBSPMeshFileLoader(); virtual ~CBSPMeshFileLoader();
...@@ -39,7 +39,6 @@ public: ...@@ -39,7 +39,6 @@ public:
private: private:
io::IFileSystem* FileSystem; io::IFileSystem* FileSystem;
video::IVideoDriver* Driver;
scene::ISceneManager* SceneManager; scene::ISceneManager* SceneManager;
}; };
......
...@@ -266,9 +266,9 @@ namespace scene ...@@ -266,9 +266,9 @@ namespace scene
//! Constructor //! Constructor
CColladaFileLoader::CColladaFileLoader(video::IVideoDriver* driver, CColladaFileLoader::CColladaFileLoader(scene::ISceneManager* smgr,
scene::ISceneManager* smgr, io::IFileSystem* fs) io::IFileSystem* fs)
: Driver(driver), SceneManager(smgr), FileSystem(fs), DummyMesh(0), : SceneManager(smgr), FileSystem(fs), DummyMesh(0),
FirstLoadedMesh(0), LoadedMeshCount(0), CreateInstances(false) FirstLoadedMesh(0), LoadedMeshCount(0), CreateInstances(false)
{ {
...@@ -2485,6 +2485,7 @@ video::ITexture* CColladaFileLoader::getTextureFromImage(core::stringc uri) ...@@ -2485,6 +2485,7 @@ video::ITexture* CColladaFileLoader::getTextureFromImage(core::stringc uri)
#ifdef COLLADA_READER_DEBUG #ifdef COLLADA_READER_DEBUG
os::Printer::log("COLLADA searching texture", uri.c_str()); os::Printer::log("COLLADA searching texture", uri.c_str());
#endif #endif
video::IVideoDriver* driver = SceneManager->getVideoDriver();
for (;;) for (;;)
{ {
uriToId(uri); uriToId(uri);
...@@ -2493,7 +2494,7 @@ video::ITexture* CColladaFileLoader::getTextureFromImage(core::stringc uri) ...@@ -2493,7 +2494,7 @@ video::ITexture* CColladaFileLoader::getTextureFromImage(core::stringc uri)
if (uri == Images[i].Id) if (uri == Images[i].Id)
{ {
if (Images[i].Source.size() && Images[i].SourceIsFilename) if (Images[i].Source.size() && Images[i].SourceIsFilename)
return Driver->getTexture(Images[i].Source.c_str()); return driver->getTexture(Images[i].Source.c_str());
else else
if (Images[i].Source.size()) if (Images[i].Source.size())
{ {
...@@ -2508,8 +2509,8 @@ video::ITexture* CColladaFileLoader::getTextureFromImage(core::stringc uri) ...@@ -2508,8 +2509,8 @@ video::ITexture* CColladaFileLoader::getTextureFromImage(core::stringc uri)
++ptrdest; ++ptrdest;
ptrsrc += 4; ptrsrc += 4;
} }
video::IImage* img = Driver->createImageFromData(video::ECF_A8R8G8B8, Images[i].Dimension, data, true, true); video::IImage* img = driver->createImageFromData(video::ECF_A8R8G8B8, Images[i].Dimension, data, true, true);
video::ITexture* tex = Driver->addTexture((CurrentlyLoadingMesh+"#"+Images[i].Id).c_str(), img); video::ITexture* tex = driver->addTexture((CurrentlyLoadingMesh+"#"+Images[i].Id).c_str(), img);
img->drop(); img->drop();
return tex; return tex;
} }
......
...@@ -177,8 +177,7 @@ class CColladaFileLoader : public IMeshLoader ...@@ -177,8 +177,7 @@ class CColladaFileLoader : public IMeshLoader
public: public:
//! Constructor //! Constructor
CColladaFileLoader(video::IVideoDriver* driver, CColladaFileLoader(scene::ISceneManager* smgr, io::IFileSystem* fs);
scene::ISceneManager* smgr, io::IFileSystem* fs);
//! destructor //! destructor
virtual ~CColladaFileLoader(); virtual ~CColladaFileLoader();
...@@ -331,7 +330,6 @@ private: ...@@ -331,7 +330,6 @@ private:
//! read a parameter and value //! read a parameter and value
void readParameter(io::IXMLReaderUTF8* reader); void readParameter(io::IXMLReaderUTF8* reader);
video::IVideoDriver* Driver;
scene::ISceneManager* SceneManager; scene::ISceneManager* SceneManager;
io::IFileSystem* FileSystem; io::IFileSystem* FileSystem;
......
...@@ -31,27 +31,15 @@ namespace scene ...@@ -31,27 +31,15 @@ namespace scene
{ {
/** Constructor*/ /** Constructor*/
CDMFLoader::CDMFLoader(video::IVideoDriver* driver, ISceneManager* smgr) CDMFLoader::CDMFLoader(ISceneManager* smgr)
: Driver(driver) , SceneMgr(smgr) : SceneMgr(smgr)
{ {
#ifdef _DEBUG #ifdef _DEBUG
IReferenceCounted::setDebugName("CDMFLoader"); IReferenceCounted::setDebugName("CDMFLoader");
#endif #endif
if (Driver)
Driver->grab();
}
/** Destructor*/
CDMFLoader::~CDMFLoader()
{
if (Driver)
Driver->drop();
} }
/** Given first three points of a face, returns a face normal*/ /** Given first three points of a face, returns a face normal*/
void CDMFLoader::GetFaceNormal( f32 a[3], //First point void CDMFLoader::GetFaceNormal( f32 a[3], //First point
f32 b[3], //Second point f32 b[3], //Second point
...@@ -91,6 +79,7 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file) ...@@ -91,6 +79,7 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file)
{ {
if (!file) if (!file)
return 0; return 0;
video::IVideoDriver* driver = SceneMgr->getVideoDriver();
//Load stringlist //Load stringlist
StringList dmfRawFile(file); StringList dmfRawFile(file);
...@@ -229,8 +218,8 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file) ...@@ -229,8 +218,8 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file)
//Primary texture is normal //Primary texture is normal
if ((materiali[i].textureFlag==0) || (materiali[i].textureBlend==4)) if ((materiali[i].textureFlag==0) || (materiali[i].textureBlend==4))
Driver->setTextureCreationFlag(ETCF_ALWAYS_32_BIT,true); driver->setTextureCreationFlag(ETCF_ALWAYS_32_BIT,true);
tex = Driver->getTexture((path+String(materiali[i].textureName)).c_str()); tex = driver->getTexture((path+String(materiali[i].textureName)).c_str());
//Primary texture is just a colour //Primary texture is just a colour
if(materiali[i].textureFlag==1) if(materiali[i].textureFlag==1)
...@@ -260,12 +249,12 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file) ...@@ -260,12 +249,12 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file)
//just for compatibility with older Irrlicht versions //just for compatibility with older Irrlicht versions
//to support transparent materials //to support transparent materials
if (color.getAlpha()!=255 && materiali[i].textureBlend==4) if (color.getAlpha()!=255 && materiali[i].textureBlend==4)
Driver->setTextureCreationFlag(ETCF_ALWAYS_32_BIT,true); driver->setTextureCreationFlag(ETCF_ALWAYS_32_BIT,true);
IImage *immagine=Driver->createImageFromData(ECF_A8R8G8B8, IImage *immagine=driver->createImageFromData(ECF_A8R8G8B8,
core::dimension2d<s32>(8,8),buf); core::dimension2d<s32>(8,8),buf);
tex = Driver->addTexture("", immagine); tex = driver->addTexture("", immagine);
//to support transparent materials //to support transparent materials
if(color.getAlpha()!=255 && materiali[i].textureBlend==4) if(color.getAlpha()!=255 && materiali[i].textureBlend==4)
...@@ -278,7 +267,7 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file) ...@@ -278,7 +267,7 @@ IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file)
//Lightmap is present //Lightmap is present
if (materiali[i].lightmapFlag == 0) if (materiali[i].lightmapFlag == 0)
lig = Driver->getTexture((path+String(materiali[i].lightmapName)).c_str()); lig = driver->getTexture((path+String(materiali[i].lightmapName)).c_str());
else //no lightmap else //no lightmap
{ {
lig = 0; lig = 0;
......
...@@ -50,10 +50,7 @@ namespace scene ...@@ -50,10 +50,7 @@ namespace scene
public: public:
/** constructor*/ /** constructor*/
CDMFLoader(video::IVideoDriver* driver, ISceneManager* smgr); CDMFLoader(ISceneManager* smgr);
/** destructor*/
virtual ~CDMFLoader();
//! returns true if the file maybe is able to be loaded by this class //! returns true if the file maybe is able to be loaded by this class
//! based on the file extension (e.g. ".cob") //! based on the file extension (e.g. ".cob")
......
...@@ -22,15 +22,9 @@ namespace scene ...@@ -22,15 +22,9 @@ namespace scene
//! Constructor //! Constructor
CIrrMeshFileLoader::CIrrMeshFileLoader(video::IVideoDriver* driver, CIrrMeshFileLoader::CIrrMeshFileLoader(scene::ISceneManager* smgr,
scene::ISceneManager* smgr, io::IFileSystem* fs) io::IFileSystem* fs)
: Driver(driver), SceneManager(smgr), FileSystem(fs) : SceneManager(smgr), FileSystem(fs)
{
}
//! destructor
CIrrMeshFileLoader::~CIrrMeshFileLoader()
{ {
} }
...@@ -175,10 +169,10 @@ IMeshBuffer* CIrrMeshFileLoader::readMeshBuffer(io::IXMLReader* reader) ...@@ -175,10 +169,10 @@ IMeshBuffer* CIrrMeshFileLoader::readMeshBuffer(io::IXMLReader* reader)
{ {
//we've got a material //we've got a material
io::IAttributes* attributes = FileSystem->createEmptyAttributes(Driver); io::IAttributes* attributes = FileSystem->createEmptyAttributes(SceneManager->getVideoDriver());
attributes->read(reader, true, L"material"); attributes->read(reader, true, L"material");
Driver->fillMaterialStructureFromAttributes(material, attributes); SceneManager->getVideoDriver()->fillMaterialStructureFromAttributes(material, attributes);
attributes->drop(); attributes->drop();
} }
else else
......
...@@ -25,11 +25,7 @@ class CIrrMeshFileLoader : public IMeshLoader ...@@ -25,11 +25,7 @@ class CIrrMeshFileLoader : public IMeshLoader
public: public:
//! Constructor //! Constructor
CIrrMeshFileLoader(video::IVideoDriver* driver, CIrrMeshFileLoader(scene::ISceneManager* smgr, io::IFileSystem* fs);
scene::ISceneManager* smgr, io::IFileSystem* fs);
//! destructor
virtual ~CIrrMeshFileLoader();
//! returns true if the file maybe is able to be loaded by this class //! returns true if the file maybe is able to be loaded by this class
//! based on the file extension (e.g. ".cob") //! based on the file extension (e.g. ".cob")
...@@ -83,7 +79,6 @@ private: ...@@ -83,7 +79,6 @@ private:
// member variables // member variables
video::IVideoDriver* Driver;
scene::ISceneManager* SceneManager; scene::ISceneManager* SceneManager;
io::IFileSystem* FileSystem; io::IFileSystem* FileSystem;
}; };
......
...@@ -103,7 +103,7 @@ void CIrrMeshWriter::writeBoundingBox(const core::aabbox3df& box) ...@@ -103,7 +103,7 @@ void CIrrMeshWriter::writeBoundingBox(const core::aabbox3df& box)
{ {
Writer->writeElement(L"boundingBox", true, Writer->writeElement(L"boundingBox", true,
L"minEdge", getVectorAsStringLine(box.MinEdge).c_str(), L"minEdge", getVectorAsStringLine(box.MinEdge).c_str(),
L"maxEdge", getVectorAsStringLine(box.MaxEdge).c_str() ); L"maxEdge", getVectorAsStringLine(box.MaxEdge).c_str());
} }
......
This diff is collapsed.
...@@ -2,20 +2,22 @@ ...@@ -2,20 +2,22 @@
#define __C_LWO_MESH_FILE_LOADER_H_INCLUDED__ #define __C_LWO_MESH_FILE_LOADER_H_INCLUDED__
#include "IMeshLoader.h" #include "IMeshLoader.h"
#include "IVideoDriver.h"
#include "irrString.h"
#include "SMeshBuffer.h" #include "SMeshBuffer.h"
#include "irrString.h"
#include "irrMap.h"
namespace irr namespace irr
{ {
namespace io namespace io
{ {
class IReadFile; class IReadFile;
class IFileSystem;
} // end namespace io } // end namespace io
namespace scene namespace scene
{ {
struct SMesh; struct SMesh;
class ISceneManager;
//! Meshloader capable of loading Lightwave 3D meshes. //! Meshloader capable of loading Lightwave 3D meshes.
class CLWOMeshFileLoader : public IMeshLoader class CLWOMeshFileLoader : public IMeshLoader
...@@ -23,7 +25,7 @@ class CLWOMeshFileLoader : public IMeshLoader ...@@ -23,7 +25,7 @@ class CLWOMeshFileLoader : public IMeshLoader
public: public:
//! Constructor //! Constructor
CLWOMeshFileLoader(video::IVideoDriver* driver); CLWOMeshFileLoader(scene::ISceneManager* smgr, io::IFileSystem* fs);
//! destructor //! destructor
virtual ~CLWOMeshFileLoader(); virtual ~CLWOMeshFileLoader();
...@@ -53,14 +55,18 @@ private: ...@@ -53,14 +55,18 @@ private:
u32 readVec(core::vector3df& vec); u32 readVec(core::vector3df& vec);
u32 readVX(u32& num); u32 readVX(u32& num);
u32 readColor(video::SColor& color); u32 readColor(video::SColor& color);
video::ITexture* loadTexture(const core::stringc& file);
video::IVideoDriver* Driver; scene::ISceneManager* SceneManager;
io::IFileSystem* FileSystem;
io::IReadFile* File; io::IReadFile* File;
SMesh* Mesh; SMesh* Mesh;
core::array<core::vector3df> Points; core::array<core::vector3df> Points;
core::array<core::array<u32> > Polygons; core::array<core::array<u32> > Indices;
core::array<core::vector2df> TCoords; core::array<u16> MaterialMapping;
core::map<core::stringc, u32> VMap;
core::array<core::array<core::vector2df> > TCoords;
core::array<tLWOMaterial*> Materials; core::array<tLWOMaterial*> Materials;
core::array<core::stringc> Images; core::array<core::stringc> Images;
u8 FormatVersion; u8 FormatVersion;
......
...@@ -454,11 +454,13 @@ void COBJMeshFileLoader::readMTL(const c8* fileName, core::stringc relPath) ...@@ -454,11 +454,13 @@ void COBJMeshFileLoader::readMTL(const c8* fileName, core::stringc relPath)
} }
video::ITexture * texture = 0; video::ITexture * texture = 0;
if (FileSystem->existFile(textureNameBuf)) core::stringc texname(textureNameBuf);
texture = Driver->getTexture( textureNameBuf ); texname.replace('\\', '/');
if (FileSystem->existFile(texname.c_str()))
texture = Driver->getTexture(texname.c_str());
else else
// try to read in the relative path, the .obj is loaded from // try to read in the relative path, the .obj is loaded from
texture = Driver->getTexture( (relPath + textureNameBuf).c_str() ); texture = Driver->getTexture( (relPath + texname).c_str() );
if ( texture ) if ( texture )
{ {
if (type==0) if (type==0)
......
...@@ -20,10 +20,10 @@ namespace scene ...@@ -20,10 +20,10 @@ namespace scene
//! constructor //! constructor
CQ3LevelMesh::CQ3LevelMesh(io::IFileSystem* fs, video::IVideoDriver* driver, scene::ISceneManager* smgr) CQ3LevelMesh::CQ3LevelMesh(io::IFileSystem* fs, scene::ISceneManager* smgr)
: Textures(0), LightMaps(0), : Textures(0), LightMaps(0),
Vertices(0), Faces(0), Planes(0), Nodes(0), Leafs(0), LeafFaces(0), Vertices(0), Faces(0), Planes(0), Nodes(0), Leafs(0), LeafFaces(0),
MeshVerts(0), Brushes(0), Driver(driver), FileSystem(fs), SceneManager ( smgr ) MeshVerts(0), Brushes(0), FileSystem(fs), SceneManager ( smgr )
{ {
#ifdef _DEBUG #ifdef _DEBUG
IReferenceCounted::setDebugName("CQ3LevelMesh"); IReferenceCounted::setDebugName("CQ3LevelMesh");
...@@ -34,6 +34,10 @@ CQ3LevelMesh::CQ3LevelMesh(io::IFileSystem* fs, video::IVideoDriver* driver, sce ...@@ -34,6 +34,10 @@ CQ3LevelMesh::CQ3LevelMesh(io::IFileSystem* fs, video::IVideoDriver* driver, sce
Mesh[i] = 0; Mesh[i] = 0;
} }
if (smgr)
Driver = smgr->getVideoDriver();
else
Driver = 0;
if (Driver) if (Driver)
Driver->grab(); Driver->grab();
......
...@@ -24,7 +24,7 @@ namespace scene ...@@ -24,7 +24,7 @@ namespace scene
public: public:
//! constructor //! constructor
CQ3LevelMesh(io::IFileSystem* fs, video::IVideoDriver* driver, scene::ISceneManager* smgr); CQ3LevelMesh(io::IFileSystem* fs, scene::ISceneManager* smgr);
//! destructor //! destructor
virtual ~CQ3LevelMesh(); virtual ~CQ3LevelMesh();
......
...@@ -192,10 +192,10 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs, ...@@ -192,10 +192,10 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs,
// add file format loaders // add file format loaders
#ifdef _IRR_COMPILE_WITH_IRR_MESH_LOADER_ #ifdef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
MeshLoaderList.push_back(new CIrrMeshFileLoader(Driver, this, FileSystem)); MeshLoaderList.push_back(new CIrrMeshFileLoader(this, FileSystem));
#endif #endif
#ifdef _IRR_COMPILE_WITH_BSP_LOADER_ #ifdef _IRR_COMPILE_WITH_BSP_LOADER_
MeshLoaderList.push_back(new CBSPMeshFileLoader(FileSystem, Driver, this)); MeshLoaderList.push_back(new CBSPMeshFileLoader(this, FileSystem));
#endif #endif
#ifdef _IRR_COMPILE_WITH_MD2_LOADER_ #ifdef _IRR_COMPILE_WITH_MD2_LOADER_
MeshLoaderList.push_back(new CMD2MeshFileLoader()); MeshLoaderList.push_back(new CMD2MeshFileLoader());
...@@ -222,10 +222,10 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs, ...@@ -222,10 +222,10 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs,
MeshLoaderList.push_back(new CMY3DMeshFileLoader(FileSystem, Driver, this)); MeshLoaderList.push_back(new CMY3DMeshFileLoader(FileSystem, Driver, this));
#endif #endif
#ifdef _IRR_COMPILE_WITH_COLLADA_LOADER_ #ifdef _IRR_COMPILE_WITH_COLLADA_LOADER_
MeshLoaderList.push_back(new CColladaFileLoader(Driver, this, FileSystem)); MeshLoaderList.push_back(new CColladaFileLoader(this, FileSystem));
#endif #endif
#ifdef _IRR_COMPILE_WITH_DMF_LOADER_ #ifdef _IRR_COMPILE_WITH_DMF_LOADER_
MeshLoaderList.push_back(new CDMFLoader(Driver, this)); MeshLoaderList.push_back(new CDMFLoader(this));
#endif #endif
#ifdef _IRR_COMPILE_WITH_OGRE_LOADER_ #ifdef _IRR_COMPILE_WITH_OGRE_LOADER_
MeshLoaderList.push_back(new COgreMeshFileLoader(MeshManipulator, FileSystem, Driver)); MeshLoaderList.push_back(new COgreMeshFileLoader(MeshManipulator, FileSystem, Driver));
...@@ -240,7 +240,7 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs, ...@@ -240,7 +240,7 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs,
MeshLoaderList.push_back(new CB3DMeshFileLoader(this)); MeshLoaderList.push_back(new CB3DMeshFileLoader(this));
#endif #endif
#ifdef _IRR_COMPILE_WITH_LWO_LOADER_ #ifdef _IRR_COMPILE_WITH_LWO_LOADER_
MeshLoaderList.push_back(new CLWOMeshFileLoader(Driver)); MeshLoaderList.push_back(new CLWOMeshFileLoader(this, FileSystem));
#endif #endif
#ifdef _IRR_COMPILE_WITH_STL_LOADER_ #ifdef _IRR_COMPILE_WITH_STL_LOADER_
MeshLoaderList.push_back(new CSTLMeshFileLoader()); MeshLoaderList.push_back(new CSTLMeshFileLoader());
...@@ -1813,7 +1813,6 @@ bool CSceneManager::loadScene(io::IReadFile* file, ISceneUserDataSerializer* use ...@@ -1813,7 +1813,6 @@ bool CSceneManager::loadScene(io::IReadFile* file, ISceneUserDataSerializer* use
reader->drop(); reader->drop();
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment