本文整理汇总了C++中SubMesh::setSubMeshTextureName方法的典型用法代码示例。如果您正苦于以下问题:C++ SubMesh::setSubMeshTextureName方法的具体用法?C++ SubMesh::setSubMeshTextureName怎么用?C++ SubMesh::setSubMeshTextureName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SubMesh
的用法示例。
在下文中一共展示了SubMesh::setSubMeshTextureName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
Mesh* MeshManager::parseMD5(string filename, char* buffer, int lenght){
Mesh* resultMesh = new Mesh(filename, getNewId());
int numJoints = 0;
int numMeshes = 0;
int numVerts = 0;
int numTris = 0;
int numWeights = 0;
unsigned int idSubMesh = 0;
int n = 0;
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);//autoincrease i
while (buffer[n] != '\0'){
if(strncmp(tempBuffer, "MD5Version", 10) == 0){
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
//resultMesh->versionMD5 = (int) atoi(tempBuffer);
//logInf("md5 version %s", tempBuffer);
}
else if(strncmp(tempBuffer, "commandline", 11) == 0){
skipLine(buffer, &n);
}
else if(strncmp(tempBuffer, "numJoints", 9) == 0){
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
numJoints = (int) atoi(tempBuffer);
resultMesh->joints.reserve(numJoints);
}
else if(strncmp(tempBuffer, "numMeshes", 9) == 0){
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
numMeshes = (int) atoi(tempBuffer);
resultMesh->subMeshes.reserve(numMeshes);
}
else if(strncmp(tempBuffer, "joints", 6) == 0){
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n); //read the '{' character
Mesh::Joint auxJoint;
for(int i = 0; i < numJoints; i++){
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointName = tempBuffer;
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointParentID = (int) atoi(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);// '(' char
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointPos.x = (float) fast_atof(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointPos.y = (float) fast_atof(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointPos.z = (float) fast_atof(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);// ')' char
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);// '(' char
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointOrient.x = (float) fast_atof(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointOrient.y = (float) fast_atof(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxJoint.jointOrient.z = (float) fast_atof(tempBuffer);
skipLine(buffer, &n);
removeQuotes(&(auxJoint.jointName));
computeQuaternionW(&(auxJoint.jointOrient));
resultMesh->joints.push_back(auxJoint);
}
}
else if(strncmp(tempBuffer, "mesh", 4) == 0){
SubMesh* auxSubMesh = new SubMesh(idSubMesh);
idSubMesh++;
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);// char {
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
while(strncmp(tempBuffer, "}", 1) != 0){
if(strncmp(tempBuffer, "shader", 6) == 0){
///////////////TODO
//shader factory
//used to set the texture!! be careful
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
auxSubMesh->setSubMeshTextureName(tempBuffer);
skipLine(buffer, &n);
}
else if(strncmp(tempBuffer, "numverts", 8) == 0){
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
numVerts = (int) atoi(tempBuffer);
glm::vec2 textCoord;
glm::i32vec2 weightStartAndCount;
for(int i = 0; i < numVerts; ++i){
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);//"vert"
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);//id (sorted)
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);//'('
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
textCoord.x = (float) fast_atof(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
textCoord.y = (float) fast_atof(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);//')'
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
weightStartAndCount.x = (int) atoi(tempBuffer);
copyNextWord(tempBuffer, BUFFERSIZE, buffer, &n);
weightStartAndCount.y = (int) atoi(tempBuffer);
auxSubMesh->textureCoord.push_back(textCoord);
auxSubMesh->weightsIndex.push_back(weightStartAndCount);
}
}
//.........这里部分代码省略.........