Commit Graph

503 Commits

Author SHA1 Message Date
Joseph Kaile 87980fdb04 fix compile warnings 2023-07-24 17:37:56 -04:00
Joseph Kaile 7965f5d50b add more error checking 2023-07-24 15:12:50 -04:00
Joseph Kaile e0642b6f6b fix linux compile errors 2023-07-24 13:36:29 -04:00
Joseph Kaile 053846489b fix rename error 2023-07-24 11:52:37 -04:00
Joseph Kaile 643b2f1831 fix testing failure and add some performance benefits 2023-07-24 11:34:16 -04:00
Joseph Kaile 030c5462b4 add testing data and test 2023-07-21 21:52:15 -04:00
Joseph Kaile 1779ca87f3 add warning messages when meshopt fails 2023-07-21 19:04:04 -04:00
Joseph Kaile 4802c6a813 use 32 bit indices when numVertices > 65535 2023-07-21 17:27:51 -04:00
Joseph Kaile 4f4901c717 address pull request comments 2023-07-21 14:43:51 -04:00
Joseph Kaile 39b5cc79f8 fix linux compile errors 2023-07-21 12:39:14 -04:00
Kevin Ring 1c36c0e09a Merge remote-tracking branch 'origin/main' into meshopt-compression 2023-07-21 14:11:10 +10:00
Joseph Kaile 35b23187d7 transform texture coordinates on cpu 2023-07-20 15:32:43 -04:00
Janine Liu b41f6da1fc
Fix typos 2023-07-19 11:22:41 -04:00
Joseph Kaile 311489838a initial commit for meshopt-compression 2023-07-18 21:22:00 -04:00
Kevin Ring a31fe8fcd8 Fix GCC/Clang compile errors. 2023-07-07 16:54:53 +10:00
Kevin Ring 72075c3a57 Fix handling of KTX2 images without mipmaps. 2023-07-07 15:39:42 +10:00
Kevin Ring 355111dcf5 Revert "Fix handling of KTX2 images without mipmaps."
This reverts commit 930760ea95.
2023-07-07 15:37:53 +10:00
Kevin Ring 930760ea95 Fix handling of KTX2 images without mipmaps. 2023-07-07 15:37:01 +10:00
Janine Liu 55ed63a945 Regenerate EXT_structural_metadata classes without prefix 2023-06-16 16:08:35 -04:00
Janine Liu f82528cc3f Formatting, changelog entry, cleanup 2023-06-16 15:43:02 -04:00
Janine Liu e0f49321c5 Prefix EXT_feature_metadata files, rename EXT_mesh_features files 2023-06-16 15:16:05 -04:00
Tim Moore b240bd875f Make clang-format enforced change 2023-05-23 18:33:18 +02:00
Tim Moore 6129026255 Generalize loadGltf() to do all postprocessing
CesiumGltfReader::loadGltf() now mimics the actions of readGltf()
and resolves external references before calling postprocess(). It's
therefore more general, not just addressing Draco compression.
2023-05-23 17:54:07 +02:00
Tim Moore 15df61d833 return result via std::move
Suggestion from clang-format
2023-05-23 16:07:21 +02:00
Tim Moore 066de1614b run clang-format on GltfReader.h 2023-05-23 16:07:21 +02:00
Tim Moore 9e63800169 Add a function to load a glTF file
The new function GltfReader::loadGltf() loads a glTF file, resolves
external data, and does draco decompression if necessary.
2023-05-23 16:07:21 +02:00
Marco Hutter 8ffbbbab46 Update class names for materials variants extension 2023-05-02 02:05:04 +02:00
Marco Hutter 18dbbfde54 Add generated classes for `KHR_materials_variants` 2023-05-01 21:45:28 +02:00
Janine Liu 8509878a0c
Merge branch 'main' into texture-support 2023-03-23 10:57:07 -04:00
Joseph Kaile d103bb813a Revert "switch to add_subdirectory"
This reverts commit d7d3048f4f.
2023-03-15 16:09:00 -04:00
Joseph Kaile d7d3048f4f switch to add_subdirectory 2023-03-14 15:44:11 -04:00
Kevin Ring d18875641d Improve support for KTX2 and WebP textures. 2023-03-14 11:28:04 +11:00
Joseph Kaile 06a193d4a9 fix cmake syntax error, address pr comments 2023-03-05 01:55:46 -05:00
Joseph Kaile bb89c16b03 fix a mac/linux compile error 2023-02-21 14:50:09 -05:00
Joseph Kaile dae5cf4b65 skip externalproject install, use build-in-source header/lib path 2023-02-21 13:40:17 -05:00
Joseph Kaile d2662a6d48 fix turbojpeg.h not found error 2023-02-21 00:27:21 -05:00
Joseph Kaile 2079d796a4 use turbojpg for jpg decoding 2023-02-20 21:16:49 -05:00
Joseph Kaile 573025e6e0 add libjpegturbo as external project and create imported target 2023-02-20 13:47:53 -05:00
Nithin Pranesh ad429153f4 gcc/clang fix? (round 2) 2022-10-11 18:19:39 -04:00
Nithin Pranesh 8aecc718bc fix gcc / clang errors (maybe) 2022-10-11 14:39:33 -04:00
Nithin Pranesh 0fb2a43324 move mipmap generation out of readImage, integrate with gltf textures + raster imagery 2022-09-05 22:33:34 -04:00
Nithin Pranesh b72007722a Merge branch 'main' into mipmaps 2022-09-05 10:06:29 -04:00
Nithin Pranesh 30a16320e7 regenerate webp extension 2022-08-31 12:34:43 -04:00
Nithin Pranesh 320ffa91d9 add webp extension 2022-08-31 12:06:11 -04:00
Nithin Pranesh 7c1f3ee45d
Merge branch 'main' into webp-support 2022-08-30 23:21:30 -04:00
Sean Lilley 5ba6cb6535 Add KHR_texture_transform extension 2022-08-28 13:32:20 -04:00
Joseph Kaile f404003e68 only decode with alpha channel 2022-08-18 15:42:34 -04:00
Joseph Kaile 1f49447a96 use decodeInto instead of decode 2022-08-18 15:25:57 -04:00
Joseph Kaile 0939ef9130 redo isWebP function 2022-08-18 13:10:29 -04:00
Joseph Kaile fe5588ddf7 addng webp parsing to gltf image reader 2022-08-17 17:52:34 -04:00
Joseph Kaile e79136ad4f Add libwebp to cmake 2022-08-17 16:57:36 -04:00
Nithin Pranesh 0be3d30444 mipmap generation on native side 2022-05-19 14:14:01 -04:00
Sean Lilley 67462c0eaa Merge branch 'main' into 3dtiles-1.1 2022-03-22 08:19:34 -04:00
Sean Lilley 00eab5bed7 Update 3D Tiles and glTF extensions 2022-03-16 09:15:02 -04:00
Nithin Pranesh 027fb29bc5 Merge branch 'main' into node-variants 2022-03-02 11:24:32 -05:00
Sean Lilley 705f1d642a Fix tests 2022-02-27 18:02:12 -05:00
Sean Lilley 7235ce8f69 Rerun with different names 2022-02-27 17:17:43 -05:00
Sean Lilley b76468a278 Remove old files 2022-02-27 17:12:41 -05:00
Sean Lilley 4416777e73 Re-rerun generator 2022-02-27 12:49:25 -05:00
Sean Lilley 3ee7e19399 Merge branch 'main' into 3dtiles-1.1 2022-02-27 11:21:29 -05:00
IanLilleyT 21904215dd updated generator for 3d tiles 1.1 schemas 2022-02-18 18:06:14 -05:00
Nithin Pranesh 847e0009ce
Merge branch 'main' into ktx2-nithin 2022-02-18 14:33:07 -05:00
Nithin Pranesh 92dd2db608 better test name for ktx2 2022-02-18 14:31:17 -05:00
Kevin Ring 966aba6089 Fix code generation for MAXAR_mesh_variants. 2022-02-17 19:30:51 +11:00
Nithin Pranesh c720dbbfbe add MAXAR_mesh_variants, fix generator trying to generate manually-defined classes (like glTF Property) 2022-02-16 09:40:55 -05:00
Nithin Pranesh a312bf42d6 Revert "add MAXAR_mesh_variants, fix generator trying to generate manually-defined classes (like glTF Property)"
This reverts commit 26ad9be905.
2022-02-16 09:34:12 -05:00
Nithin Pranesh 26ad9be905 add MAXAR_mesh_variants, fix generator trying to generate manually-defined classes (like glTF Property) 2022-02-16 09:32:18 -05:00
Nithin Pranesh 30089bcbfa fix comments, remove redundant namespace qualifiers 2022-02-14 10:42:27 -05:00
Nithin Pranesh 7a088d5165 enum -> enum class 2022-02-12 14:22:32 -05:00
Nithin Pranesh eee9351c87 use extra enum for uncompressed images rather than std::nullopt 2022-02-11 17:18:55 -05:00
Nithin Pranesh 1bd26d1e1b add some tracing 2022-02-10 15:46:16 -05:00
Nithin Pranesh 21e83e0367 add mipmap capability to image api, pass through mipmaps from ktx2 images 2022-02-07 22:53:49 -05:00
Nithin Pranesh f7c0c21208 added api for clients to report supported compressed formats
added logic to autoselect ideal compressed format based on the reported supported formats
2022-02-03 21:40:31 -05:00
Nithin Pranesh f2332d7d95 only use first mip from ktx2 textures (for now) 2022-02-02 22:20:21 -05:00
Joseph Kaile dfbc9bd156 add test for reading cesium rtc extension 2022-02-01 17:33:58 -05:00
Nithin Pranesh 3d02fe0262 remove old basisu extension reader files 2022-02-01 14:59:23 -05:00
Joseph Kaile de09ca8017 Merge branch 'main' into cesium-rtc-support 2022-02-01 14:41:01 -05:00
Nithin Pranesh 1a08065023 fix khr_texture_basisu extension generation 2022-02-01 14:35:47 -05:00
Nithin Pranesh f517d265a8 test fix 2022-02-01 12:52:35 -05:00
Nithin Pranesh ca963694e6 regenerate gltf files 2022-02-01 12:45:28 -05:00
Nithin Pranesh 56ffcd56ca format 2022-02-01 12:36:09 -05:00
Nithin Pranesh e0b6344933 Merge branch 'main' into ktx2-nithin 2022-02-01 12:19:55 -05:00
Nithin Pranesh ddde548e0f fix test 2022-02-01 11:54:55 -05:00
Joseph Kaile 62fc7905b7 generate Cesium RTC extension using generate-tools 2022-01-31 14:18:51 -05:00
Joseph Kaile acca54fd79 add test to parse non-fractional doubles as ints 2022-01-31 12:25:10 -05:00
Nithin Pranesh c07417e0ef Merge branch 'main' into asset-accessor-verb 2022-01-24 10:02:52 -05:00
Sean Lilley 5e78d1d72a Added more gltf and 3d tiles extensions 2022-01-21 14:25:35 -05:00
Kevin Ring 518b7cbaf0 Rename IAssetAccessor methods, allow use of any verb. 2022-01-20 11:00:29 +11:00
Nithin Pranesh 213c986377 fix namespace of ImageCesium reference 2022-01-13 15:11:46 -05:00
Sean Lilley 924845a0b5 Revert padding change in GltfReader 2021-12-27 13:44:57 -05:00
Sean Lilley f14c6709e1 Misc generator improvements 2021-12-27 13:31:29 -05:00
Nithin Pranesh 1906b68bc6 fix ext_feature_metadata schema url + regenerate 2021-12-19 18:34:30 -05:00
Nithin Pranesh 6e4b4b9faa regenerate gltf classes 2021-12-19 17:49:39 -05:00
Nithin Pranesh d439523dcf fixed generated extension accidentally moved 2021-12-19 17:25:12 -05:00
Nithin Pranesh 53b828a9ca Merge remote-tracking branch 'origin/main' into ktx2-nithin 2021-12-19 17:23:39 -05:00
Sean Lilley 3d035e5926 Remove bad semicolon 2021-12-03 13:30:58 -05:00
Sean Lilley 21c65ddac8 Change folder structure for src folders 2021-12-03 11:11:41 -05:00
Sean Lilley 2cdcb92e20 Namespace cleanup 2021-12-02 18:34:22 -05:00
Kevin Ring 962aaddffb Use CesiumGS fork of KTX-Software, fix clang compiler error. 2021-11-30 11:56:01 +11:00
Nithin Pranesh 55c12d0861 add support for transcoding to more formats 2021-11-27 17:53:27 -05:00
Nithin Pranesh 14c4ab148b parse ktx extension 2021-11-26 23:23:44 -05:00
Nithin Pranesh 5f424295f1 running into strange deletion problem 2021-11-24 19:45:21 -05:00
lyhkop 1bb719ae22
Merge branch 'CesiumGS:main' into main 2021-11-23 07:10:56 +08:00
Nithin Pranesh 976d2d4d05 cleaner ImageCesium api 2021-11-22 18:03:34 -05:00
Nithin Pranesh fb9f1daa1a gcc/clang warnings 2021-11-22 10:15:02 -05:00
Nithin Pranesh 7db19c5ff7 delete accidentally added "generated" file 2021-11-22 05:07:42 -05:00
Nithin Pranesh 57f9c69e9b add KHR_texture_basisu extension support 2021-11-22 04:49:44 -05:00
lyhkop c1b11a1d29 set indices accessor offset value to 0 after decode draco mesh 2021-11-22 17:34:47 +08:00
Nithin Pranesh 042221aac6 oof forgot to format after generate-gltfs 2021-11-22 03:52:54 -05:00
Nithin Pranesh a2efbf8e8d rerun generate-gltf 2021-11-22 03:51:54 -05:00
Nithin Pranesh bc019173eb format 2021-11-22 03:47:19 -05:00
Sean Lilley a9110dbb74 Initial KTX2
(cherry picked from Sean's hackathon project)
2021-11-22 03:45:23 -05:00
Nithin Pranesh b42320ec01 Add KTX-Software as cmake dependency
Co-authored-by: Kevin Ring <kevin@kotachrome.com>
2021-11-22 03:10:23 -05:00
Kevin Ring f3b2dc7d54 Formatting. 2021-11-22 09:02:22 +11:00
Kevin Ring 83d1329bc3
Update decodeDraco.cpp 2021-11-22 08:51:39 +11:00
lyh 6356e5494a draco mesh vertices number maybe greater than attribute accessor count 2021-11-21 14:43:06 +08:00
Nithin Pranesh de378a04a0 format 2021-11-11 18:58:09 -05:00
Nithin Pranesh 4b6f706453 add some logging for failed external buffer loads 2021-11-11 18:47:44 -05:00
Nithin Pranesh 12133c8b7a remove slightly incorrect test
The mime type need not be checked during embedded buffer decoding, if the image
is an external uri. Maybe we should add tests and error reporting for the
asynchronous resolveExternalBuffers, but this test no longer makes sense now after
external images are explicitly supported (i.e., external uris should be ignored
initially during postProcess).
2021-11-11 18:47:44 -05:00
Nithin Pranesh 7f2f556a52 ignore images with uris when looking for embedded images 2021-11-11 18:47:44 -05:00
Nithin Pranesh 04131d31cd explicitly exclude data uris when resolving external buffers 2021-11-11 18:47:44 -05:00
Nithin Pranesh 549c3b344f explicitly track lifetime of ModelReaderResult with unique_ptr 2021-11-11 18:47:44 -05:00
Nithin Pranesh 4e531c4be4 format 2021-11-11 18:47:23 -05:00
Nithin Pranesh 990c432c77 WIP external textures/buffers 2021-11-11 16:47:09 -05:00
Kevin Ring 4dac37ceb0
Merge pull request #377 from CesiumGS/extension-class-rename
Rename generated extension classes (targeting `main`)
2021-11-01 11:02:01 +11:00
Sean Lilley 9acc5ac71a Rename Primitive back to MeshPrimitive 2021-10-30 14:56:43 -04:00
Sean Lilley 6fd48d8735 Use different naming convention for extension classes 2021-10-30 14:55:40 -04:00
Nithin Pranesh 95051aa2b5 fixed handling of reserved c++ keywords in gltf reader generator 2021-10-29 17:37:57 -04:00
Sean Lilley f9b48fbe0e Renegerate glTF classes 2021-10-18 18:46:58 -04:00
Sean Lilley 8453d760e7 Rename generate-gltf-classes to generate-classes 2021-10-12 12:51:55 -04:00
Kevin Ring fd1fabd685 Merge remote-tracking branch 'origin/fix-includes' into add-cesium3dtilesreader 2021-10-12 22:28:36 +11:00
Kevin Ring 76ab57830b Merge remote-tracking branch 'origin/add-cesium3dtiles' into fix-includes 2021-10-12 22:28:12 +11:00
Kevin Ring 179ef660f0 Forward declare ExtensionReaderContext in the right namespace. 2021-10-12 22:25:58 +11:00
Kevin Ring 58cd5d8645 Merge remote-tracking branch 'origin/fix-includes' into add-cesium3dtilesreader 2021-10-12 22:04:03 +11:00
Kevin Ring 439e37afda Merge remote-tracking branch 'origin/add-cesium3dtiles' into fix-includes 2021-10-12 21:45:12 +11:00
Kevin Ring 3443bbf130 Remove using in header, remove redundant code. 2021-10-12 17:47:35 +11:00
Sean Lilley 254d3bfa6a Merge branch 'fix-includes' into add-cesium3dtilesreader 2021-10-11 17:51:50 -04:00
Sean Lilley 52283f3359 Fix includes 2021-10-11 17:28:44 -04:00
Sean Lilley 7dad7003bb One ExtensibleObject 2021-10-11 16:47:49 -04:00
Sean Lilley 471bc06c24 Add Cesium3DTilesReader 2021-10-10 22:11:26 -04:00
Marco Hutter 5d626c719d Add test case for WebP images 2021-10-01 20:33:02 +02:00
Marco Hutter 3c62216aaa Forward warnings and errors from images to model 2021-10-01 20:32:26 +02:00
Kevin Ring c1b9096abc Merge remote-tracking branch 'origin/main' into gltf-generator-enum-fixes 2021-10-02 01:10:06 +10:00
Marco Hutter c81b55b9ae Merge branch 'gltf-generator-enum-fixes' of https://github.com/CesiumGS/cesium-native into gltf-generator-enum-fixes 2021-09-30 17:35:10 +02:00
Marco Hutter 2f10a900ac Added basic (but not sufficient) unit test 2021-09-30 17:34:24 +02:00
Marco Hutter e42e3ca6db Use relative paths in auto-generated classes 2021-09-28 17:43:20 +02:00
Marco Hutter 9855400417 Use proper relative paths in all public headers 2021-09-28 17:23:07 +02:00
Marco Hutter 27fdd26e27 Merge remote-tracking branch 'origin/main' into include-style-fixes
# Conflicts:
#	Cesium3DTilesSelection/include/Cesium3DTilesSelection/GltfContent.h
#	Cesium3DTilesSelection/src/Batched3DModelContent.cpp
#	Cesium3DTilesSelection/src/CompositeContent.cpp
#	Cesium3DTilesSelection/src/ExternalTilesetContent.cpp
#	Cesium3DTilesSelection/src/GltfContent.cpp
#	Cesium3DTilesSelection/src/QuantizedMeshContent.cpp
#	Cesium3DTilesSelection/src/Tile.cpp
#	Cesium3DTilesSelection/src/TileContentFactory.cpp
#	Cesium3DTilesSelection/src/calcQuadtreeMaxGeometricError.h
2021-09-28 14:38:33 +02:00
Kevin Ring 62ff744d4f Treat `<something.h>` as third-party include. 2021-09-27 10:46:26 +10:00
Sean Lilley ae7d9e70a8 Merge branch 'main' into gltf-generator-enum-fixes 2021-09-26 13:24:10 -04:00
Marco Hutter 175b7eec9a Also format the auto-generated code
This will sort itself out at some point...
2021-09-26 17:57:48 +02:00
Marco Hutter 0e827f7afd Updated includes based on clang-format with Regroup
This MAINLY inserted some blank lines between
the blocks.
2021-09-26 17:46:27 +02:00
Marco Hutter 0f6645f34b Removed the classes from GeneratedJsonHandlers.
Apparently, all implementations are in one file. Not
sure where the individual files came from...
2021-09-26 16:53:51 +02:00
Marco Hutter 486eb57a93 Update for glTF enums in other classes - WIP
This updates the non-auto-generated classes based on
the changes of the auto-generated ones.
2021-09-26 15:06:10 +02:00
Marco Hutter f63c0e5265 Update of auto-generated classes - WIP
This does not compile. It is only the update of the
auto-generated classes, without the corresponding
updates in the non-auto-generated classes.
2021-09-26 14:44:29 +02:00
Marco Hutter 6a5e0d3d48 Added missing const for reference parameters
C26460: The reference argument ... for function ... can be marked as const
2021-09-15 17:43:42 +02:00
Marco Hutter 46c9c7ec7d Formatting after adding const 2021-09-15 15:38:06 +02:00
Marco Hutter de8145ab9e Added missing const keyword
C26496: The variable ... is assigned only once, mark it as const
2021-09-15 15:37:29 +02:00
Marco Hutter a84b09c238 Added further noexcept specifiers 2021-09-15 02:35:40 +02:00
Marco Hutter 588c5a1ab9 Add noexcept for default constructors
C26455: Default constructor may not throw.
2021-09-15 01:35:34 +02:00
Marco Hutter 97a2757e39 Added missing noexcept specifiers
Reported as "C26440 Function ... can be declared noexcept"
2021-09-14 16:12:50 +02:00
Kevin Ring 7f012b2506 Clearer verifySuccessfulCopy. 2021-08-25 10:23:32 +10:00
Kevin Ring f8b8f9bcb0 Fix clang warnings. 2021-08-23 22:56:56 +10:00
Kevin Ring 4704366a94 Better doc, extra test. 2021-08-23 22:46:21 +10:00
Kevin Ring 004b4839ad Fix typo. 2021-08-23 22:28:30 +10:00
Kevin Ring 215b3e3d32 Add ImageManipulation class. 2021-08-23 22:26:37 +10:00
Bao Tran 1c608a9dd4 attempt to unify draco target 2021-07-26 17:03:13 -04:00
Bao Tran 3dc4c2da40 suppress draco warning on MSVC and define draco alias target 2021-07-26 16:43:36 -04:00
Sean Lilley 46c5a41827 Update draco version so that cesium-native builds in gcc 11 2021-07-26 16:17:57 -04:00
Kevin Ring 449068c3d6
Merge pull request #281 from CesiumGS/feature-metadata-extension
Upgrade batch table to EXT_feature_metadata extension
2021-07-24 21:32:14 +10:00
Kevin Ring 33b40b6dad Generate JSON handlers into a single source file.
To speed up compilation.
2021-07-06 22:34:18 +10:00
Kevin Ring 4e45bab460 Use angle brackets to #include catch2. 2021-07-04 22:57:11 +10:00
Bao Tran e1eb2d1f84 Merge branch 'main' into feature-metadata-extension 2021-07-02 10:50:43 -04:00
Kevin Ring 09b4e393de More cleanup of tracing macros. 2021-06-22 12:26:07 +10:00
Kevin Ring 44a69d4cda Clean up tracing API. 2021-06-21 17:33:59 +10:00
Kevin Ring 0648cb07d2 Allocate unique IDs for tileset loading slots. 2021-06-08 15:23:36 +10:00
Kevin Ring 491531147d Merge remote-tracking branch 'origin/profiler' into load-tracing 2021-06-07 16:35:19 +10:00
Kevin Ring 30f22898b1 Feature metadata working well for simple case. 2021-05-17 12:30:09 +10:00
Kevin Ring 8f85fd8bbe WIP conversion of b3dm batch table to EXT_feature_metadata. 2021-05-14 22:28:31 +10:00
Kevin Ring 15be10ed1b Merge remote-tracking branch 'origin/main' into feature-metadata-extension 2021-05-13 21:22:28 +10:00
Kevin Ring a21938c371 Use stbi_image_free instead of free, update CHANGES. 2021-05-12 23:03:26 +10:00
Bao Tran ed01f94552 format 2021-05-07 17:31:30 -04:00
Bao Tran 17348ff432 Merge branch 'main' into match-draco-indices 2021-05-07 17:19:04 -04:00
Bao Tran 1dc58c95e2 match indices accessor count with decoded draco indices 2021-05-07 17:12:34 -04:00
Kevin Ring ed42e46d5f Add support for EXT_feature_metadata on Primitives. 2021-05-07 16:18:13 +10:00
Kevin Ring 0d6295168f Use 3d-tiles-next branch of glTF instead of my fork. 2021-05-07 15:40:53 +10:00
Kevin Ring b29b8c64ad EXT_feature_metadata progress. 2021-05-07 15:34:16 +10:00
Samuel Vargas fbcc458681
Fix a leak where pImage isn't freed after being copied into ImageReaderResult 2021-05-06 11:53:39 -04:00
Kevin Ring 527e6051c1 Fix more code gen problems. 2021-05-06 17:30:39 +10:00
Marco Hutter 51e43bbd49 Comment fixes for clang formatting 2021-04-29 17:06:34 +02:00
Samuel Vargas 3412704062
Replace bitmask options with dedicated struct 2021-04-19 14:28:43 -04:00
Samuel Vargas 5deb2861f2
Replace back_inserter / transform with std::copy and reinterpret_cast 2021-04-19 13:41:10 -04:00
Kevin Ring 6c0a55c090 Fix formatting. 2021-04-16 16:23:08 +10:00
Kevin Ring 999c382cc1 Merge remote-tracking branch 'origin/main' into gltf-extensions 2021-04-16 16:07:23 +10:00
Kevin Ring e5c5408804 More constier. 2021-04-16 13:18:25 +10:00
Kevin Ring 8aab8bbec2 Don't construct so many GltfReaders.
Also switch to constexpr char* for extension and type names to avoid
static initializer ordering problems.
2021-04-16 12:52:29 +10:00
Samuel Vargas 8070d85023
Merge remote-tracking branch 'origin/main' into gltf-writer 2021-04-15 13:49:04 -04:00
Kevin Ring 02e3be9b03 Merge remote-tracking branch 'origin/main' into gltf-extensions 2021-04-15 21:54:03 +10:00
Kevin Ring ea97130b0e Formatting. 2021-04-15 10:54:49 +10:00
Kevin Ring aab3fcbf40 Fix another clang error. 2021-04-15 10:40:58 +10:00
Kevin Ring bf00407f90 Add missing include. 2021-04-15 10:22:56 +10:00
Kevin Ring 0c7c949ce8 Remove unused code. 2021-04-15 09:47:33 +10:00
Kevin Ring 45f44fa034 Reader -> GltfReader. 2021-04-15 00:37:37 +10:00
Kevin Ring e414544b50 Implement glTF reader using JSON reader. 2021-04-14 23:53:26 +10:00
Kevin Ring fc4f25515f JSON reader. 2021-04-14 23:31:40 +10:00
Kevin Ring 15f799429a More renames. 2021-04-14 21:38:36 +10:00
Kevin Ring cb91ccf8a6 JsonReader -> JsonHandler ♻ 2021-04-14 18:31:12 +10:00
Kevin Ring 94ea03847c Move CesiumJsonReader stuff to the right namespace. 2021-04-14 14:22:22 +10:00
Kevin Ring 88795c0045 Move JsonValue to CesiumUtility. 2021-04-13 23:24:53 +10:00
Kevin Ring 222692b590 Separate CesiumJsonReader library. 2021-04-13 22:05:36 +10:00
Jordi Torres 6333b1cb0a First pass of clang tidy
Mainly caching else after return, not using empty() instead of size() == 0, missing const references to avoid copies and removing redundant initializations
2021-04-12 13:22:03 +02:00
Kevin Ring f0b06a826d Make IgnoreValueJsonHandler public. 2021-04-09 12:37:53 +10:00
Kevin Ring 673e9884a1 Renames. 2021-04-09 12:30:27 +10:00
Kevin Ring cfff453f8c Rename protected key methods. 2021-04-08 22:34:12 +10:00
Kevin Ring 2ab38cd0fb Don't qualify reader methods in extensions. 2021-04-08 22:26:22 +10:00
Kevin Ring ebfb30554a Fix linux build. 2021-04-08 22:20:24 +10:00
Kevin Ring 48f2d3b5c2 Remove unused files, other cleanup. 2021-04-08 21:59:42 +10:00
Kevin Ring 7279f4cabf Improve tests. 2021-04-08 17:59:45 +10:00
Kevin Ring e3148aedc6 Reactivate Draco extension. 2021-04-08 14:44:39 +10:00
Kevin Ring f33f7b1dd5 Make CesiumGltf::Reader a proper class, mange its own extensions. 2021-04-07 23:41:37 +10:00
Kevin Ring 3566ba5b29 Clean up JsonReader function signatures. 2021-04-07 14:35:19 +10:00
Samuel Vargas f9e489f67f
Merge remote-tracking branch 'origin/main' into gltf-writer
Accidentally merged with antiquated `master` branch before
2021-04-06 14:16:55 -04:00
Samuel Vargas 6516b2dcb3
Add clarifying comment for std::transform usage 2021-04-06 13:44:34 -04:00
Samuel Vargas b03dac82af
Add trailing newline to misc files [ skip ci ] 2021-04-06 13:07:48 -04:00
Kevin Ring d6d9de643d Rename JsonReader methods. 2021-04-06 22:26:16 +10:00
Kevin Ring 04f4cc12db JsonHandler -> JsonReader. 2021-04-06 21:59:20 +10:00
Kevin Ring c8c9ca0f3a Make IJsonHandler.h and JsonHandler.h public. 2021-04-06 21:55:50 +10:00
Kevin Ring 987ca69614 Support for external glTF extensions. 2021-04-06 21:49:12 +10:00
Kevin Ring 692a3bf16b Merge remote-tracking branch 'origin/main' into support-deserializing-arbitrary-extensions 2021-04-05 11:57:45 +10:00
Marco Hutter 0ba6f38be5 Fixed typo. 2021-04-02 21:43:45 +02:00
Marco Hutter aeeb44e804 Added cast.
Expected that. GCC this time.
2021-04-02 21:42:23 +02:00
Marco Hutter 7425d5a89a Updated and extended error messages 2021-04-02 21:14:43 +02:00
Bao Tran 9c5de37499 add TRACE for Gltf reader 2021-03-25 13:25:03 -04:00
Samuel Vargas 11413ee747
Run clang-format on all changed files 2021-03-11 15:15:59 -05:00
Samuel Vargas 258f1a1993
Add test to verify deserializeExtensionsAsJsonValue is respected 2021-03-11 15:01:01 -05:00
Samuel Vargas f81dd2c218
Use references to avoid extraneous copies. 2021-03-11 14:40:13 -05:00
Samuel Vargas f685ceff51
Propagate `ReadModelOptions` to ALL JsonHandlers
This commit adds conditional support for propagating the
`ReadModelOptions` variable to the root JsonValue class for all of
its children. CesiumGltfReader was designed with the philosophy that
extensions should be well defined and that CesiumGltfReader should
take responsbility for decoding extensions. This is a fine idea, but we've
ran into a usecase where we need CesiumGltfReader to support decoding
new / developing / unknown / WIP extensions.

This commit adds the `deserializeExtensionsAsJsonValue` bool to ReadModelOptions
and for each ***JsonHandler, forwards it to the root via super() constructor invocations.
This opens the door for other  "while serializing" options to be stored in
ReadModelOptions

The deserializeExtensionsAsJsonValue variable itself instructs CesiumGltfReader
to add any extensions it encounters in the Gltf string as a `JsonValue::Object` inside
the std::vector<std::any>, so that users of the libraries can retrieve it and do their
own casting.
2021-03-11 14:30:11 -05:00
Samuel Vargas eb3cb751bf
Always serialize extensions as a JsonValue::Object for clients to
use directly.

(This will be wrapped in a conditional flag in the next commit)
2021-03-11 09:41:03 -05:00
Kevin Ring c0225f0e7d Flesh out JSON array test. 2021-03-11 10:09:55 +11:00
Kevin Ring d671ae6ee8 Remove unnecessary header. 2021-03-11 10:03:32 +11:00
Kevin Ring 5a3c10a020 Correctly handle elements inside JSON arrays. 2021-03-11 10:02:15 +11:00
Samuel Vargas 94c77dd89e
Merge tag 'post-clang-format' into gltf-writer-clang-format
The commit that ran clang-format on the entire codebase and made no other changes.
2021-03-09 16:36:39 -05:00
Shehzan Mohammed 8a2957d32f Run clang format 2021-03-08 20:39:46 -05:00
Samuel Vargas 30057e9539
Fix casting warning in Reader.cpp 2021-03-05 10:40:12 -05:00
Samuel Vargas 506f76c34b
Use std::byte for image.cesium.pixelData 2021-03-05 10:04:10 -05:00
Samuel Vargas c4f6025420
Add integer support to JsonValue
This also fixes a narrowing conversion bug. Previously if
a type that was larger than 2^53 was stored in a JsonValue
it would be silently casted into a double, causing an unexpected
precision loss. This changes JsonValue to use the largest signed,
unsigned, or floating point value available to support both types
of Numbers.

Also updates GSL version because they added a narrowing cast
function and we use that for safe type casting.
2021-03-05 07:41:15 -05:00
Kevin Ring 589a0098fc
Merge pull request #145 from CesiumGS/install
Add ability to CMake install cesium-native
2021-03-05 16:03:29 +11:00
Kevin Ring 00dde7cd9c
Merge pull request #148 from CesiumGS/use-std-byte
Use bytes for raw data
2021-03-05 14:57:30 +11:00
Shehzan Mohammed b97f03d514 Fix Cmake typos 2021-03-04 16:52:06 -05:00
Marco Hutter f1078aeb4c Use bytes for raw data 2021-03-04 17:22:38 +01:00