Convert to OpenGL space by three processes.
parent
7a25f5ac25
commit
0c0ca403b5
|
@ -220,8 +220,11 @@ void MMDImporter::CreateDataFromImport(const pmx::PmxModel* pModel, aiScene* pSc
|
||||||
MakeLeftHandedProcess convertProcess;
|
MakeLeftHandedProcess convertProcess;
|
||||||
convertProcess.Execute(pScene);
|
convertProcess.Execute(pScene);
|
||||||
|
|
||||||
FlipWindingOrderProcess flipper;
|
FlipUVsProcess uvFlipper;
|
||||||
flipper.Execute(pScene);
|
uvFlipper.Execute(pScene);
|
||||||
|
|
||||||
|
FlipWindingOrderProcess windingFlipper;
|
||||||
|
windingFlipper.Execute(pScene);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -263,7 +266,7 @@ aiMesh* MMDImporter::CreateMesh(const pmx::PmxModel* pModel, const int indexStar
|
||||||
const float* normal = v->normal;
|
const float* normal = v->normal;
|
||||||
pMesh->mNormals[index].Set(normal[0], normal[1], normal[2]);
|
pMesh->mNormals[index].Set(normal[0], normal[1], normal[2]);
|
||||||
pMesh->mTextureCoords[0][index].x = v->uv[0];
|
pMesh->mTextureCoords[0][index].x = v->uv[0];
|
||||||
pMesh->mTextureCoords[0][index].y = -v->uv[1];
|
pMesh->mTextureCoords[0][index].y = v->uv[1];
|
||||||
for( int i = 1; i <= pModel->setting.uv; i++ ) {
|
for( int i = 1; i <= pModel->setting.uv; i++ ) {
|
||||||
// TODO: wrong here? use quaternion transform?
|
// TODO: wrong here? use quaternion transform?
|
||||||
pMesh->mTextureCoords[i][index].x = v->uva[i][0];
|
pMesh->mTextureCoords[i][index].x = v->uva[i][0];
|
||||||
|
@ -297,9 +300,6 @@ aiMaterial* MMDImporter::CreateMaterial(const pmx::PmxMaterial* pMat, const pmx:
|
||||||
mat->AddProperty(&texture_path, AI_MATKEY_TEXTURE(aiTextureType_DIFFUSE, 0));
|
mat->AddProperty(&texture_path, AI_MATKEY_TEXTURE(aiTextureType_DIFFUSE, 0));
|
||||||
int mapping_uvwsrc = 0;
|
int mapping_uvwsrc = 0;
|
||||||
mat->AddProperty(&mapping_uvwsrc, 1, AI_MATKEY_UVWSRC(aiTextureType_DIFFUSE, 0));
|
mat->AddProperty(&mapping_uvwsrc, 1, AI_MATKEY_UVWSRC(aiTextureType_DIFFUSE, 0));
|
||||||
int mapping_mode = aiTextureMapMode_Mirror;
|
|
||||||
mat->AddProperty(&mapping_mode, 1, AI_MATKEY_MAPPINGMODE_U(aiTextureType_DIFFUSE, 0));
|
|
||||||
mat->AddProperty(&mapping_mode, 1, AI_MATKEY_MAPPINGMODE_V(aiTextureType_DIFFUSE, 0));
|
|
||||||
|
|
||||||
return mat;
|
return mat;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue