Add a camera unittest.
parent
f67c18d41a
commit
f9c6fed190
|
@ -705,9 +705,11 @@ void glTF2Importer::ImportCameras(glTF2::Asset& r)
|
||||||
aicam->mHorizontalFOV = cam.cameraProperties.perspective.yfov * aicam->mAspect;
|
aicam->mHorizontalFOV = cam.cameraProperties.perspective.yfov * aicam->mAspect;
|
||||||
aicam->mClipPlaneFar = cam.cameraProperties.perspective.zfar;
|
aicam->mClipPlaneFar = cam.cameraProperties.perspective.zfar;
|
||||||
aicam->mClipPlaneNear = cam.cameraProperties.perspective.znear;
|
aicam->mClipPlaneNear = cam.cameraProperties.perspective.znear;
|
||||||
}
|
} else {
|
||||||
else {
|
aicam->mClipPlaneFar = cam.ortographic.zfar;
|
||||||
// assimp does not support orthographic cameras
|
aicam->mClipPlaneNear = cam.ortographic.znear;
|
||||||
|
aicam->mHorizontalFOV = 0.0;
|
||||||
|
aicam->mAspect = cam.ortographic.xmag / cam.ortographic.ymag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
{
|
||||||
|
"scenes" : [
|
||||||
|
{
|
||||||
|
"nodes" : [ 0, 1, 2 ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nodes" : [
|
||||||
|
{
|
||||||
|
"rotation" : [ -0.383, 0.0, 0.0, 0.92375 ],
|
||||||
|
"mesh" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"translation" : [ 0.5, 0.5, 3.0 ],
|
||||||
|
"camera" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"translation" : [ 0.5, 0.5, 3.0 ],
|
||||||
|
"camera" : 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"cameras" : [
|
||||||
|
{
|
||||||
|
"type": "perspective",
|
||||||
|
"perspective": {
|
||||||
|
"aspectRatio": 1.0,
|
||||||
|
"yfov": 0.7,
|
||||||
|
"zfar": 100,
|
||||||
|
"znear": 0.01
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "orthographic",
|
||||||
|
"orthographic": {
|
||||||
|
"xmag": 1.0,
|
||||||
|
"ymag": 1.0,
|
||||||
|
"zfar": 100,
|
||||||
|
"znear": 0.01
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"meshes" : [
|
||||||
|
{
|
||||||
|
"primitives" : [ {
|
||||||
|
"attributes" : {
|
||||||
|
"POSITION" : 1
|
||||||
|
},
|
||||||
|
"indices" : 0
|
||||||
|
} ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"buffers" : [
|
||||||
|
{
|
||||||
|
"uri" : "simpleSquare.bin",
|
||||||
|
"byteLength" : 60
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bufferViews" : [
|
||||||
|
{
|
||||||
|
"buffer" : 0,
|
||||||
|
"byteOffset" : 0,
|
||||||
|
"byteLength" : 12,
|
||||||
|
"target" : 34963
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer" : 0,
|
||||||
|
"byteOffset" : 12,
|
||||||
|
"byteLength" : 48,
|
||||||
|
"target" : 34962
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accessors" : [
|
||||||
|
{
|
||||||
|
"bufferView" : 0,
|
||||||
|
"byteOffset" : 0,
|
||||||
|
"componentType" : 5123,
|
||||||
|
"count" : 6,
|
||||||
|
"type" : "SCALAR",
|
||||||
|
"max" : [ 3 ],
|
||||||
|
"min" : [ 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView" : 1,
|
||||||
|
"byteOffset" : 0,
|
||||||
|
"componentType" : 5126,
|
||||||
|
"count" : 4,
|
||||||
|
"type" : "VEC3",
|
||||||
|
"max" : [ 1.0, 1.0, 0.0 ],
|
||||||
|
"min" : [ 0.0, 0.0, 0.0 ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"asset" : {
|
||||||
|
"version" : "2.0"
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 60 B |
|
@ -375,6 +375,13 @@ TEST_F( utglTF2ImportExport, bug_import_simple_skin ) {
|
||||||
EXPECT_NE( nullptr, scene );
|
EXPECT_NE( nullptr, scene );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(utglTF2ImportExport, import_cameras) {
|
||||||
|
Assimp::Importer importer;
|
||||||
|
const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/cameras/Cameras.gltf",
|
||||||
|
aiProcess_ValidateDataStructure);
|
||||||
|
EXPECT_NE(nullptr, scene);
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef ASSIMP_BUILD_NO_EXPORT
|
#ifndef ASSIMP_BUILD_NO_EXPORT
|
||||||
TEST_F( utglTF2ImportExport, exportglTF2FromFileTest ) {
|
TEST_F( utglTF2ImportExport, exportglTF2FromFileTest ) {
|
||||||
EXPECT_TRUE( exporterTest() );
|
EXPECT_TRUE( exporterTest() );
|
||||||
|
|
Loading…
Reference in New Issue