bool Sprite3D::initWithFile(const std::string &path) { _meshes.clear(); _meshVertexDatas.clear(); CC_SAFE_RELEASE_NULL(_skeleton); removeAllAttachNode(); if (loadFromCache(path)) return true; //load from file std::string ext = path.substr(path.length() - 4, 4); std::transform(ext.begin(), ext.end(), ext.begin(), tolower); if (ext == ".obj") { return loadFromObj(path); } else if (ext == ".c3b" || ext == ".c3t") { return loadFromC3x(path); } return false; }
bool Sprite3D::initWithFile(const std::string &path) { CC_SAFE_RELEASE_NULL(_mesh); CC_SAFE_RELEASE_NULL(_texture); //find from the cache Mesh* mesh = Sprite3DDataCache::getInstance()->getSprite3DMesh(path); if (mesh) { _mesh = mesh; _mesh->retain(); auto tex = Sprite3DDataCache::getInstance()->getSprite3DTexture(path); setTexture(tex); genGLProgramState(); return true; } else { //load from file std::string ext = path.substr(path.length() - 4, 4); if (ext != ".obj" || !loadFromObj(path)) { return false; } return true; } }
Animation3D* Animation3D::create(const std::string &modelPath, const std::string &texturePath, const std::string &animationPath) { auto animation = new Animation3D(); animation->loadFromObj(modelPath); animation->setTexture(texturePath); animation->autorelease(); return animation; }
Hill::Hill(const char * filename) { loadFromObj(filename); xmin = ymin = -5000; // small enough xmax = ymax = INT_MAX; if (!heightDiagram) { // suppose hill.obj is a matrix GLuint num = sqrt(vNum); heightDiagram = new float*[num]; for (int i = 0; i < num; i++) heightDiagram[i] = new float[num]; } xmin = 0.0f; xmax = 20.0f; ymin = -10.0f; ymax = 10.0f; }
void MeshBase::loadModel( const std::string& filename ) { m_filename = filename; m_pathname = directoryOfFilePath( filename ); if( fileIsObj(filename) ) { loadFromObj( filename ); } else if( fileIsPly(filename) ) { loadFromPly( filename ); } else { throw MeshException( "Unrecognized model file extension (" + filename + ")" ); } m_filename.clear(); m_pathname.clear(); }
bool Sprite3D::initWithFile(const std::string &path) { CC_SAFE_RELEASE_NULL(_mesh); CC_SAFE_RELEASE_NULL(_skin); CC_SAFE_RELEASE_NULL(_texture); //load from file std::string ext = path.substr(path.length() - 4, 4); std::transform(ext.begin(), ext.end(), ext.begin(), tolower); if (ext == ".obj") { return loadFromObj(path); } else if (ext == ".c3b" || ext == ".c3t") { return loadFromC3x(path); } return false; }
Terrain::Terrain(const char * filename) : Object() { loadFromObj(filename); }