Merge branch 'assimp:master' into master

pull/4839/head
Kazuki Y 2022-12-09 16:21:11 +09:00 committed by GitHub
commit 1f8f4da97c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 29 deletions

View File

@ -131,32 +131,33 @@ void SkeletonMeshBuilder::CreateGeometry(const aiNode *pNode) {
// if the node has no children, it's an end node. Put a little knob there instead
aiVector3D ownpos(pNode->mTransformation.a4, pNode->mTransformation.b4, pNode->mTransformation.c4);
ai_real sizeEstimate = ownpos.Length() * ai_real(0.18);
const ai_real zero(0.0);
mVertices.emplace_back(-sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
mVertices.emplace_back(-sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
mVertices.emplace_back(-sizeEstimate, zero, zero);
mVertices.emplace_back(zero, sizeEstimate, zero);
mVertices.emplace_back(zero, zero, -sizeEstimate);
mVertices.emplace_back(zero, sizeEstimate, zero);
mVertices.emplace_back(sizeEstimate, zero, zero);
mVertices.emplace_back(zero, zero, -sizeEstimate);
mVertices.emplace_back(sizeEstimate, zero, zero);
mVertices.emplace_back(zero, -sizeEstimate, zero);
mVertices.emplace_back(zero, zero, -sizeEstimate);
mVertices.emplace_back(zero, -sizeEstimate, zero);
mVertices.emplace_back(-sizeEstimate, zero, zero);
mVertices.emplace_back(zero, zero, -sizeEstimate);
mVertices.emplace_back(-sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
mVertices.emplace_back(-sizeEstimate, 0.0, 0.0);
mVertices.emplace_back(-sizeEstimate, zero, zero);
mVertices.emplace_back(zero, zero, sizeEstimate);
mVertices.emplace_back(zero, sizeEstimate, zero);
mVertices.emplace_back(zero, sizeEstimate, zero);
mVertices.emplace_back(zero, zero, sizeEstimate);
mVertices.emplace_back(sizeEstimate, zero, zero);
mVertices.emplace_back(sizeEstimate, zero, zero);
mVertices.emplace_back(zero, zero, sizeEstimate);
mVertices.emplace_back(zero, -sizeEstimate, zero);
mVertices.emplace_back(zero, -sizeEstimate, zero);
mVertices.emplace_back(zero, zero, sizeEstimate);
mVertices.emplace_back(-sizeEstimate, zero, zero);
mFaces.emplace_back(vertexStartIndex + 0, vertexStartIndex + 1, vertexStartIndex + 2);
mFaces.emplace_back(vertexStartIndex + 3, vertexStartIndex + 4, vertexStartIndex + 5);

View File

@ -421,16 +421,18 @@ void StandardShapes::MakeCone(ai_real height, ai_real radius1,
positions.push_back(v3);
if (!bOpen) {
const ai_real zero(0.0);
// generate the end 'cap'
positions.emplace_back(s * radius2, halfHeight, t * radius2);
positions.emplace_back(s2 * radius2, halfHeight, t2 * radius2);
positions.emplace_back(0.0, halfHeight, 0.0);
positions.emplace_back(zero, halfHeight, zero);
if (radius1) {
// generate the other end 'cap'
positions.emplace_back(s * radius1, -halfHeight, t * radius1);
positions.emplace_back(s2 * radius1, -halfHeight, t2 * radius1);
positions.emplace_back(0.0, -halfHeight, 0.0);
positions.emplace_back(zero, -halfHeight, zero);
}
}
s = s2;
@ -466,13 +468,14 @@ void StandardShapes::MakeCircle(ai_real radius, unsigned int tess,
ai_real t = 0.0; // std::sin(angle == 0);
for (ai_real angle = 0.0; angle < angle_max;) {
positions.emplace_back(s * radius, 0.0, t * radius);
const ai_real zero(0.0);
positions.emplace_back(s * radius, zero, t * radius);
angle += angle_delta;
s = std::cos(angle);
t = std::sin(angle);
positions.emplace_back(s * radius, 0.0, t * radius);
positions.emplace_back(s * radius, zero, t * radius);
positions.emplace_back(0.0, 0.0, 0.0);
positions.emplace_back(zero, zero, zero);
}
}