static iTextureData* _texDataFromPath(dString* filePath, const dDictT<dValue*, dString*>* pvrtcParams) { CL_THROW_IF_NIL(filePath); dobj_ptr<dData> data(dData::alloc()->initWithContentsOfFile(filePath)); iTextureData* texData = nil; if (filePath->pathExtension()->isEqual(_ST("pvr"))) texData = iTextureData::alloc()->initWithPVRData(data.get()); else if (filePath->pathExtension()->isEqual(_ST("tex"))) texData = iTextureData::alloc()->initWithData(data->uncompressedData()); else if (filePath->pathExtension()->isEqual(_ST("pvrtc"))) texData = iTextureData::alloc()->initWithPVRTCData(data.get(), pvrtcParams); else if (filePath->pathExtension()->isEqual(_ST("565"))) texData = iTextureData::alloc()->initWithRGB565Data(data.get()); else throw new ExAssert; return texData ? texData->autorelease() : nil; }
Renderable::Renderable(const std::vector<vec3> &_V, const std::vector<ivec3> &_T, const std::string& material) : mNumVertices(0), mNumElements(0), mNumIndicesPerElement(0), mVertexSize(0) { // generate buffers glGenBuffers(1, &mVbo); glGenBuffers(1, &mIbo); // init per vertex normal std::vector<vec3> _N; computeTriangleMeshNormals(_V,_T,_N); // init per vertex color std::vector<vec4> _C(0); // set per vertex st, binorm, tangent std::vector<vec2> _ST(0); std::vector<vec3> _binorm(0); std::vector<vec3> _tangent(0); // init transformation mat4 M; M.setIdentity(); initTriangleMesh(_V, _N, _C, _ST, _binorm, _tangent, _T, material, M); }
Renderable::Renderable(const std::vector<vec3>& _V, const std::vector<ivec3>& _T, const std::string& material, const mat4& M) : mNumVertices(0), mNumElements(0), mNumIndicesPerElement(0), mVertexSize(0) { // generate buffers glGenBuffers(1, &mVbo); glGenBuffers(1, &mIbo); std::vector<vec3> _N; computeTriangleMeshNormals(_V,_T,_N); std::vector<vec4> _C(0); std::vector<vec2> _ST(0); std::vector<vec3> _binorm(0); std::vector<vec3> _tangent(0); initTriangleMesh(_V, _N, _C, _ST, _binorm, _tangent, _T, material, M); }
dString* dString::string() { return _ST(""); }