Merge branch 'assimp:master' into master
commit
1f8f4da97c
|
@ -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
|
// 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);
|
aiVector3D ownpos(pNode->mTransformation.a4, pNode->mTransformation.b4, pNode->mTransformation.c4);
|
||||||
ai_real sizeEstimate = ownpos.Length() * ai_real(0.18);
|
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(-sizeEstimate, zero, zero);
|
||||||
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, sizeEstimate, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
|
mVertices.emplace_back(zero, zero, -sizeEstimate);
|
||||||
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, sizeEstimate, zero);
|
||||||
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
|
mVertices.emplace_back(sizeEstimate, zero, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
|
mVertices.emplace_back(zero, zero, -sizeEstimate);
|
||||||
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
|
mVertices.emplace_back(sizeEstimate, zero, zero);
|
||||||
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, -sizeEstimate, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
|
mVertices.emplace_back(zero, zero, -sizeEstimate);
|
||||||
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, -sizeEstimate, zero);
|
||||||
mVertices.emplace_back(-sizeEstimate, 0.0, 0.0);
|
mVertices.emplace_back(-sizeEstimate, zero, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, -sizeEstimate);
|
mVertices.emplace_back(zero, zero, -sizeEstimate);
|
||||||
|
|
||||||
mVertices.emplace_back(-sizeEstimate, 0.0, 0.0);
|
mVertices.emplace_back(-sizeEstimate, zero, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
|
mVertices.emplace_back(zero, zero, sizeEstimate);
|
||||||
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, sizeEstimate, zero);
|
||||||
mVertices.emplace_back(0.0, sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, sizeEstimate, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
|
mVertices.emplace_back(zero, zero, sizeEstimate);
|
||||||
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
|
mVertices.emplace_back(sizeEstimate, zero, zero);
|
||||||
mVertices.emplace_back(sizeEstimate, 0.0, 0.0);
|
mVertices.emplace_back(sizeEstimate, zero, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
|
mVertices.emplace_back(zero, zero, sizeEstimate);
|
||||||
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, -sizeEstimate, zero);
|
||||||
mVertices.emplace_back(0.0, -sizeEstimate, 0.0);
|
mVertices.emplace_back(zero, -sizeEstimate, zero);
|
||||||
mVertices.emplace_back(0.0, 0.0, sizeEstimate);
|
mVertices.emplace_back(zero, zero, sizeEstimate);
|
||||||
mVertices.emplace_back(-sizeEstimate, 0.0, 0.0);
|
mVertices.emplace_back(-sizeEstimate, zero, zero);
|
||||||
|
|
||||||
mFaces.emplace_back(vertexStartIndex + 0, vertexStartIndex + 1, vertexStartIndex + 2);
|
mFaces.emplace_back(vertexStartIndex + 0, vertexStartIndex + 1, vertexStartIndex + 2);
|
||||||
mFaces.emplace_back(vertexStartIndex + 3, vertexStartIndex + 4, vertexStartIndex + 5);
|
mFaces.emplace_back(vertexStartIndex + 3, vertexStartIndex + 4, vertexStartIndex + 5);
|
||||||
|
|
|
@ -421,16 +421,18 @@ void StandardShapes::MakeCone(ai_real height, ai_real radius1,
|
||||||
positions.push_back(v3);
|
positions.push_back(v3);
|
||||||
|
|
||||||
if (!bOpen) {
|
if (!bOpen) {
|
||||||
|
const ai_real zero(0.0);
|
||||||
|
|
||||||
// generate the end 'cap'
|
// generate the end 'cap'
|
||||||
positions.emplace_back(s * radius2, halfHeight, t * radius2);
|
positions.emplace_back(s * radius2, halfHeight, t * radius2);
|
||||||
positions.emplace_back(s2 * radius2, halfHeight, t2 * 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) {
|
if (radius1) {
|
||||||
// generate the other end 'cap'
|
// generate the other end 'cap'
|
||||||
positions.emplace_back(s * radius1, -halfHeight, t * radius1);
|
positions.emplace_back(s * radius1, -halfHeight, t * radius1);
|
||||||
positions.emplace_back(s2 * radius1, -halfHeight, t2 * 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;
|
s = s2;
|
||||||
|
@ -466,13 +468,14 @@ void StandardShapes::MakeCircle(ai_real radius, unsigned int tess,
|
||||||
ai_real t = 0.0; // std::sin(angle == 0);
|
ai_real t = 0.0; // std::sin(angle == 0);
|
||||||
|
|
||||||
for (ai_real angle = 0.0; angle < angle_max;) {
|
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;
|
angle += angle_delta;
|
||||||
s = std::cos(angle);
|
s = std::cos(angle);
|
||||||
t = std::sin(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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue