Commit Graph

314 Commits

Author SHA1 Message Date
Arthur Brainville
cd366ddd1d Fix MSVC build: removing static keyowrd befor tinygltf::LoadImageData
This is peculiar:
It looks like MSVC doesn't want to build when multiple compilation units
(e.g. multiple .cc files) uses tiny_gltf and this funciton is static.

The only one file that will build without error is the one that defined
the `TINYGLTF_IMPLEMENTATION` macro.

Removing `static` here solves the issue...

Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-03-19 19:54:05 +01:00
Syoyo Fujita
f1cdd1c4cb Merge pull request #52 from Selmar/opt_out_external_image_loading
Allow opting out of external image loading
2018-03-16 17:26:49 -05:00
Selmar Kok
5b8eb9b429 Merge branch 'devel' into opt_out_external_image_loading 2018-03-16 12:15:13 +01:00
Selmar
67af3c98aa Allow opting out of external image loading
We do not require image loading for external files, we have separate texture directories at the moment.

I've also added saving the image->uri when loading a binary gltf.
2018-03-16 11:48:19 +01:00
Syoyo Fujita
580d7c8b9f Parse defaultScene value correcrly. Fixes #47. 2018-03-15 22:09:01 -05:00
Syoyo Fujita
e69069d53c Loading a GLB file without BIN data fails. Fixes #49. 2018-03-15 22:01:18 -05:00
Syoyo Fujita
d42767e63f Store relative URI in Buffer serializer. Fixes #48.
Apply clang-format.
Add simple saver sample.
2018-03-15 21:52:00 -05:00
Syoyo Fujita
20244e1e4e Fix storing uri to Buffer.uri. Fixes #50.
Fix decoding DataURI with 'data:application/gltf-buffer;base64' mime.
2018-03-15 11:01:05 -05:00
Syoyo Fujita
4f0b893d73 Merge pull request #45 from Squareys/custom-image-loaders
Allow custom image loaders
2018-03-14 10:07:49 +09:00
Squareys
2d3594de22 Allow opting out of STB_IMAGE dependency
Signed-off-by: Squareys <squareys@googlemail.com>
2018-03-13 23:08:03 +01:00
Squareys
ff644d82c9 Allow specifying custom image loader callback
Signed-off-by: Squareys <squareys@googlemail.com>
2018-03-13 23:08:03 +01:00
Squareys
f99f760b07 Clean up obsolete debug output
Signed-off-by: Squareys <squareys@googlemail.com>
2018-03-13 22:29:31 +01:00
Squareys
4337463c79 Remove trailing whitespaces
Signed-off-by: Squareys <squareys@googlemail.com>
2018-03-13 22:20:48 +01:00
Squareys
188965b11e Fix minor typo
Signed-off-by: Squareys <squareys@googlemail.com>
2018-03-13 22:20:01 +01:00
Syoyo Fujita
179edbf054 Fix empty serialization. Fixes #44. 2018-03-06 12:04:51 +09:00
Syoyo Fujita
1e94d05012 Merge pull request #43 from Ybalrid/devel
raytrace: remove code that ouput the 1st loaded texture as PPM
2018-03-03 02:15:44 +09:00
Arthur Brainville
92000ddeed raytrace: remove code that ouput the 1st loaded texture as PPM
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-03-02 16:58:30 +01:00
Syoyo Fujita
abf4bd1800 Merge pull request #42 from Ybalrid/pr_raytrace_texture_loading
raytrace: add simple code that load texture data
2018-03-03 00:55:58 +09:00
Syoyo Fujita
c14616d21c Merge pull request #41 from Ybalrid/pr_upgrade_imgui_imguizmo_raytrace
Upgraded dear imgui and ImGuizmo to the latest version
2018-03-03 00:43:18 +09:00
Arthur Brainville
e832baf229 Restored previous behavior when moving node in scene
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-03-02 16:21:28 +01:00
Arthur Brainville
df9003ea08 Update scene when moving gizmo
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-03-02 16:10:20 +01:00
Arthur Brainville
ab156c7d18 Upgraded dear imgui and ImGuizmo to the latest version
The Gizmo feels a little bit nicer to use in the latest version

Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-03-02 15:49:01 +01:00
Arthur Brainville
dd45c56927 raytrace: add simple code that load texture data
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-03-02 13:57:37 +01:00
Syoyo Fujita
0b01361d15 Fix return location. 2018-02-28 19:59:32 +09:00
Syoyo Fujita
493cad4e64 Merge pull request #40 from Ybalrid/pr_raytrace_example
Pr raytrace example
2018-02-28 00:04:07 +09:00
Arthur Brainville
c227c5bddb Fixed triangle fan indices
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-27 12:47:06 +01:00
Arthur Brainville (Ybalrid)
de8e3a6e6b Enforece some const correctness. Add comments.
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-25 01:23:04 +01:00
Arthur Brainville (Ybalrid)
a5a03a2d44 Reorder UVs in vacevaying order
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-25 01:14:57 +01:00
Arthur Brainville (Ybalrid)
6cf0228fa7 Handle all types of triangle-based vertex buffer.
Some small codepath changes too.

Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-25 00:52:50 +01:00
Arthur Brainville (Ybalrid)
1cd3b0f756 Fix pesudo -> pseudo typo
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-25 00:42:35 +01:00
Arthur Brainville (Ybalrid)
0e0a884378 Check the type of vectors before checking the type of their component
This order makes more sense.

Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-24 22:09:17 +01:00
Arthur Brainville (Ybalrid)
8eb0fbb3d4 Fix the loading of normals by putting them into facevarying order
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-24 21:52:53 +01:00
Arthur Brainville (Ybalrid)
0da2b35085 Fixes problem when mesh in glTF file doesn't have a name
a "unnamed_X" name will be genrated.

This fixes the loading of Trinagle.gltf from khronos

Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-23 15:15:33 +01:00
Arthur Brainville (Ybalrid)
55bff342c2 Merge branch 'pr_raytrace_example' of github.com:Ybalrid/tinygltf into pr_raytrace_example 2018-02-23 14:26:55 +01:00
Arthur Brainville (Ybalrid)
37ba0ae481 Log the types of data used by the currently loaded GLTF file
This will help test and improve compatibilitiy.

Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-23 14:23:30 +01:00
Arthur Brainville (Ybalrid)
27ae4ba9c1 load texture coordinates
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:24 +01:00
Arthur Brainville
07e6c5c109 Small code cleanup
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:23 +01:00
Arthur Brainville
0b4f54162b Switch to unsigned int for the int arrays. Fix compatibility issue
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:23 +01:00
Arthur Brainville
db1e8b3e8b added loading of doubles for position
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:23 +01:00
Arthur Brainville
2b211221c8 Add double type vector. Remove by default byte_stride value
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:22 +01:00
Arthur Brainville (Ybalrid)
72f535e198 Move defined types (array adapter templates) to the header
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:22 +01:00
Arthur Brainville (Ybalrid)
02fce26c6c Use default material as the 1st material on the array
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:22 +01:00
Arthur Brainville (Ybalrid)
7218e40bfd Fix pivot. Hack material to prevent crash
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:22 +01:00
Arthur Brainville (Ybalrid)
2b10d88e42 Load inside the scene graph the gltf mesh (like the obj)
pivot is still invalid

Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:21 +01:00
Arthur Brainville
aad6f06208 Fix linux build in C++11 strict
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:21 +01:00
Arthur Brainville
b62e95f414 Load the normal vectors of the primitive
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:21 +01:00
Arthur Brainville
ffc79a719b Also access the position attribute of the primitive
Signed-off-by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:20 +01:00
Arthur Brainville (Ybalrid)
ce75870894 Now load index buffer
Added some template infrastructure to read arrays where type is defined by a value.

Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:20 +01:00
Arthur Brainville (Ybalrid)
49721f0fd4 Add the entry point for loading gltf files.
Also switch on the primitive mode of each mesh. Will only attempt to
load lists of triangles for now...

Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:20 +01:00
Arthur Brainville (Ybalrid)
62da4688af Only attempt to load the obj file if the obj_filename is defined in json
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
2018-02-22 21:50:20 +01:00