Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/update tinygltf 20 #1

Merged
merged 8 commits into from
May 30, 2017

Conversation

AurL
Copy link
Contributor

@AurL AurL commented May 24, 2017

Update with support for glTF 2.0, including skinning and morph (not tested yet)
Discussion: syoyo/tinygltfloader#16

AurL added 8 commits May 24, 2017 13:47
- Renaming 'Scene' to 'Model' to avoid confusion
- glTF top objects are now arrays, and objects are referenced by index instead of id
- added a few comments (required)
- default values
glTF 2.0 has now PBR materials.
Core material is Metallic/Roughness material
Specular/glossiness is still in an extension

Material properties can be number arrays (colors/factors) or JSON objects (textures)
@syoyo
Copy link
Owner

syoyo commented May 24, 2017

Thank you! I'll review it!

skinning and morph (not tested yet)

Do you happen to know what is the best way to test skinning and morphing?
I could extend glview to support skinning and morphing, if required.

@syoyo
Copy link
Owner

syoyo commented May 27, 2017

Overall, PR looks good, but I needed to fix loader_example.cc to keep up with your PR. I pushed such changes to devel branch.

After doing some tests on devel branch, it will be merged into master.

@syoyo
Copy link
Owner

syoyo commented May 28, 2017

I ran test_runner.py and here is the list of fail cases

Success : 52
Failed  : 49
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/WalkingLady/glTF-Binary/WalkingLady.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/WalkingLady/glTF-Embedded/WalkingLady.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/WalkingLady/glTF-MaterialsCommon/WalkingLady.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/AnimatedTriangle/glTF-Embedded/AnimatedTriangle.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Monster/glTF/Monster.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Monster/glTF-Binary/Monster.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Monster/glTF-Embedded/Monster.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Monster/glTF-MaterialsCommon/Monster.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Buggy/glTF-Binary/Buggy.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/AnimatedMorphSphere/glTF/AnimatedMorphSphere.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/AnimatedMorphSphere/glTF-Binary/AnimatedMorphSphere.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/SmilingFace/glTF-Binary/SmilingFace.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/VC/glTF/VC.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/VC/glTF-Binary/VC.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/VC/glTF-MaterialsCommon/VC.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Corset/glTF/Corset.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Corset/glTF-Binary/Corset.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedFigure/glTF/RiggedFigure.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedFigure/glTF-Binary/RiggedFigure.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedFigure/glTF-Embedded/RiggedFigure.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedFigure/glTF-MaterialsCommon/RiggedFigure.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BrainStem/glTF/BrainStem.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BrainStem/glTF-Binary/BrainStem.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BrainStem/glTF-Embedded/BrainStem.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BrainStem/glTF-MaterialsCommon/BrainStem.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/AnimatedMorphCube/glTF/AnimatedMorphCube.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/AnimatedMorphCube/glTF-Binary/AnimatedMorphCube.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoxAnimated/glTF-Binary/BoxAnimated.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoxAnimated/glTF-MaterialsCommon/BoxAnimated.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedSimple/glTF/RiggedSimple.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedSimple/glTF-Binary/RiggedSimple.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/GearboxAssy/glTF-Binary/GearboxAssy.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/CesiumMan/glTF/CesiumMan.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/CesiumMan/glTF-Binary/CesiumMan.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/CesiumMan/glTF-MaterialsCommon/CesiumMan.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/ReciprocatingSaw/glTF-Binary/ReciprocatingSaw.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoxTextured/glTF-Binary/BoxTextured.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BarramundiFish/glTF/BarramundiFish.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BarramundiFish/glTF-Binary/BarramundiFish.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/CesiumMilkTruck/glTF-Binary/CesiumMilkTruck.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Avocado/glTF/Avocado.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Avocado/glTF-Binary/Avocado.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/2CylinderEngine/glTF-Binary/2CylinderEngine.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoomBox/glTF/BoomBox.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoomBox/glTF-Binary/BoomBox.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Duck/glTF-Binary/Duck.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Box/glTF-Binary/Box.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Lantern/glTF/Lantern.gltf
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Lantern/glTF-Binary/Lantern.glb

@AurL
Copy link
Contributor Author

AurL commented May 29, 2017

Thanks!
For morphing, I still don't have any sample to test it, but it would be better to wait a little bit before merging so that I can find(or generate) a sample and test it?
For skinning (2.0), I only have samples that are generated from our Unity2Gltf exporter, but still not official samples.
glTF skin structure is pretty simple so there shouldn't be a lot of issues with it.

Thanks for the report. I will take a look at this today, but please note that even if they are in 2.0 directory,
afaicr, a lot of samples are not fully up-to-date with the last version of the 2.0 specification, so the fail is normal.

Also, I should have run test_runner.py by myself, sorry for that.
I'll keep you in touch!

@syoyo
Copy link
Owner

syoyo commented May 29, 2017

For morphing, I still don't have any sample to test it, but it would be better to wait a little bit before merging so that I can find(or generate) a sample and test it?

I see. I'll wait a test data.

Thanks for the report. I will take a look at this today, but please note that even if they are in 2.0 directory,
afaicr, a lot of samples are not fully up-to-date with the last version of the 2.0 specification, so the fail is normal.

Understand. I will try to fix parsers as much as possible by comparing with glTF 2.0 JSON schema.

@AurL
Copy link
Contributor Author

AurL commented May 29, 2017

Well, some samples should work, checking
I'll be back to you

@AurL
Copy link
Contributor Author

AurL commented May 29, 2017

Ok, they recently updated the samples, which is cool, and they seem to include at least one morph sample, so I'll be able to test this too.
I'll push some fixes and ping you back when it's done.
Thanks again for the review and the tests

@syoyo
Copy link
Owner

syoyo commented May 29, 2017

I have fixed parser a bit, and now the last remaining issue is parsing Binary glTF!

Success : 77
Failed  : 24
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/WalkingLady/glTF-Binary/WalkingLady.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Monster/glTF-Binary/Monster.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Buggy/glTF-Binary/Buggy.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/AnimatedMorphSphere/glTF-Binary/AnimatedMorphSphere.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/SmilingFace/glTF-Binary/SmilingFace.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/VC/glTF-Binary/VC.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Corset/glTF-Binary/Corset.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedFigure/glTF-Binary/RiggedFigure.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BrainStem/glTF-Binary/BrainStem.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/AnimatedMorphCube/glTF-Binary/AnimatedMorphCube.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoxAnimated/glTF-Binary/BoxAnimated.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/RiggedSimple/glTF-Binary/RiggedSimple.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/GearboxAssy/glTF-Binary/GearboxAssy.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/CesiumMan/glTF-Binary/CesiumMan.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/ReciprocatingSaw/glTF-Binary/ReciprocatingSaw.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoxTextured/glTF-Binary/BoxTextured.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BarramundiFish/glTF-Binary/BarramundiFish.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/CesiumMilkTruck/glTF-Binary/CesiumMilkTruck.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Avocado/glTF-Binary/Avocado.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/2CylinderEngine/glTF-Binary/2CylinderEngine.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/BoomBox/glTF-Binary/BoomBox.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Duck/glTF-Binary/Duck.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Box/glTF-Binary/Box.glb
FAIL: /home/syoyo/work/glTF-Sample-Models/2.0/Lantern/glTF-Binary/Lantern.glb

@AurL
Copy link
Contributor Author

AurL commented May 30, 2017

Thanks.I should have a fix for the binary issue, testing.
Where should I push it ? Also, should I push your updates on my PR ?

For info, binary format has been updated a bit, and now uri is not always required, only when data is in another file.
For binary files with embedded data, only byteLength is required, and they added two uit32 at the beginning of the data buffer (after gltf content), as said here: KhronosGroup/glTF#828 (comment)

Still need to check for embedded textures btw

@AurL
Copy link
Contributor Author

AurL commented May 30, 2017

Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/SciFiHelmet/glTF/SciFiHelmet.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/VC/glTF/VC.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/VC/glTF-Binary/VC.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/VC/glTF-Embedded/VC.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/VC/glTF-MaterialsCommon/VC.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/AnimatedMorphCube/glTF/AnimatedMorphCube.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/AnimatedMorphCube/glTF-Binary/AnimatedMorphCube.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Cube/glTF/Cube.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/SmilingFace/glTF/SmilingFace.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/SmilingFace/glTF-Binary/SmilingFace.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/SmilingFace/glTF-Embedded/SmilingFace.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/SmilingFace/glTF-MaterialsCommon/SmilingFace.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Triangle/glTF/Triangle.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Triangle/glTF-Embedded/Triangle.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedFigure/glTF/RiggedFigure.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedFigure/glTF-Binary/RiggedFigure.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedFigure/glTF-Embedded/RiggedFigure.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedFigure/glTF-MaterialsCommon/RiggedFigure.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedSimple/glTF/RiggedSimple.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedSimple/glTF-Binary/RiggedSimple.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedSimple/glTF-Embedded/RiggedSimple.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/RiggedSimple/glTF-MaterialsCommon/RiggedSimple.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/TwoSidedPlane/glTF/TwoSidedPlane.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Corset/glTF/Corset.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Corset/glTF-Binary/Corset.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Avocado/glTF/Avocado.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Avocado/glTF-Binary/Avocado.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BrainStem/glTF/BrainStem.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BrainStem/glTF-Binary/BrainStem.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BrainStem/glTF-Embedded/BrainStem.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BrainStem/glTF-MaterialsCommon/BrainStem.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxAnimated/glTF/BoxAnimated.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxAnimated/glTF-Binary/BoxAnimated.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxAnimated/glTF-Embedded/BoxAnimated.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxAnimated/glTF-MaterialsCommon/BoxAnimated.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/ReciprocatingSaw/glTF/ReciprocatingSaw.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/ReciprocatingSaw/glTF-Binary/ReciprocatingSaw.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/ReciprocatingSaw/glTF-Embedded/ReciprocatingSaw.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/ReciprocatingSaw/glTF-MaterialsCommon/ReciprocatingSaw.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Suzanne/glTF/Suzanne.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/AnimatedCube/glTF/AnimatedCube.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxTextured/glTF/BoxTextured.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxTextured/glTF-Binary/BoxTextured.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxTextured/glTF-Embedded/BoxTextured.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoxTextured/glTF-MaterialsCommon/BoxTextured.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/TriangleWithoutIndices/glTF/TriangleWithoutIndices.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/TriangleWithoutIndices/glTF-Embedded/TriangleWithoutIndices.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Buggy/glTF/Buggy.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Buggy/glTF-Binary/Buggy.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Buggy/glTF-Embedded/Buggy.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Buggy/glTF-MaterialsCommon/Buggy.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/NormalTangentTest/glTF/NormalTangentTest.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/NormalTangentTest/glTF-Embedded/NormalTangentTest.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMan/glTF/CesiumMan.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMan/glTF-Binary/CesiumMan.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMan/glTF-Embedded/CesiumMan.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMan/glTF-MaterialsCommon/CesiumMan.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/AnimatedMorphSphere/glTF/AnimatedMorphSphere.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/AnimatedMorphSphere/glTF-Binary/AnimatedMorphSphere.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoomBox/glTF/BoomBox.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BoomBox/glTF-Binary/BoomBox.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/AnimatedTriangle/glTF/AnimatedTriangle.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/AnimatedTriangle/glTF-Embedded/AnimatedTriangle.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/GearboxAssy/glTF/GearboxAssy.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/GearboxAssy/glTF-Binary/GearboxAssy.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/GearboxAssy/glTF-Embedded/GearboxAssy.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/GearboxAssy/glTF-MaterialsCommon/GearboxAssy.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/2CylinderEngine/glTF/2CylinderEngine.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/2CylinderEngine/glTF-Binary/2CylinderEngine.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/2CylinderEngine/glTF-Embedded/2CylinderEngine.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/2CylinderEngine/glTF-MaterialsCommon/2CylinderEngine.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Box/glTF/Box.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Box/glTF-Binary/Box.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Box/glTF-Embedded/Box.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Box/glTF-MaterialsCommon/Box.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BarramundiFish/glTF/BarramundiFish.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/BarramundiFish/glTF-Binary/BarramundiFish.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/MetalRoughSpheres/glTF/MetalRoughSpheres.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/MetalRoughSpheres/glTF-Embedded/MetalRoughSpheres.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Cameras/glTF/Cameras.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Cameras/glTF-Embedded/Cameras.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMilkTruck/glTF/CesiumMilkTruck.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMilkTruck/glTF-Binary/CesiumMilkTruck.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMilkTruck/glTF-Embedded/CesiumMilkTruck.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/CesiumMilkTruck/glTF-MaterialsCommon/CesiumMilkTruck.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/WalkingLady/glTF/WalkingLady.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/WalkingLady/glTF-Binary/WalkingLady.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/WalkingLady/glTF-Embedded/WalkingLady.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/WalkingLady/glTF-MaterialsCommon/WalkingLady.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Monster/glTF/Monster.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Monster/glTF-Binary/Monster.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Monster/glTF-Embedded/Monster.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Monster/glTF-MaterialsCommon/Monster.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/SimpleMeshes/glTF/SimpleMeshes.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/SimpleMeshes/glTF-Embedded/SimpleMeshes.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Duck/glTF/Duck.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Duck/glTF-Binary/Duck.glb
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Duck/glTF-Embedded/Duck.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Duck/glTF-MaterialsCommon/Duck.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Lantern/glTF/Lantern.gltf
Testing: /sketchfab/models-test/temp/glTF-Sample-Models/2.0/Lantern/glTF-Binary/Lantern.glb
Success : 101
Failed  : 0

There was also some fixes to do on images.
There are still some checks to do to see if image data is ok.

It looks good from my tests.
The other point is that there is a dual behaviour for images. jpg/pngs are loaded in a buffer, and uri is kept for external images. It make sense to keep uri when image format is not supported (tiff ...) but I guess it could be better.

On our side, we only use the uri string as we keep all the image files. I added some code to parse embedded textures (from the tinygltf Image buffer), but having both at the same time doesn't seem right for me.
It's almost nothing, but do you have an opinion on this ?

@syoyo
Copy link
Owner

syoyo commented May 30, 2017

Where should I push it ? Also, should I push your updates on my PR ?

Thanks!

devel branch is preferred(BTW I have no idea how to fowrad this pull req #1 to devel branch...)

@AurL
Copy link
Contributor Author

AurL commented May 30, 2017

If it's easier for you, I could include devel changes into my PR so that it only needs to be merged on master ?

@syoyo
Copy link
Owner

syoyo commented May 30, 2017

I could include devel changes into my PR so that it only needs to be merged on master ?

That's perfect!
(And this pull req #1 will be deleted(rejected))

@AurL
Copy link
Contributor Author

AurL commented May 30, 2017

Done #2
While you take a look, I can check for morph animation

@syoyo syoyo merged commit 8024946 into syoyo:master May 30, 2017
syoyo pushed a commit that referenced this pull request Dec 6, 2018
syoyo pushed a commit that referenced this pull request Jul 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants