- Fixed a bug where animations in glTF 0.8 assets where not being converted from axis angle to quaternion.
- Fixed a bug where generating normals and materials did not take image transparency into account
- Fixed specular computation for certain models using the
KHR_materials_common
extension. #309 - Added a
optimizeDrawCalls
flag to merge nodes and meshes more aggressively to minimize draw calls. #308 - Added minimum lighting to diffuse when the
cesium
flag is enabled. #313 - Added a check for normals arrtibute for mesh in
modelMaterialsCommon
. #318 - Fixed generating duplicate accessors in
cesiumGeometryToGltfPrimitive
. #321
- Fix
gltf-pipeline
to work with Cesium 1.36 and newer.
- Fixed issue where shader comparison in
MergeDuplicateProperties
would cause a crash. #297 - Fixed an issue where
mergeBuffers
would not align buffer views to 4-byte boundaries. #298 - Fixed an issue where face normal generation would crash for degenerate triangles. #298
- Fixed the
removeNormals
stage so that it can operate independently ofgenerateNormals
. #287 - Fixed an issue with writing attributes with double underscores, which is reserved in GLSL. #286
- Fixed issue with transparent diffuse texture overriding the render state of other materials. #284
- Fixed crash when loading a model with a huge number of textures. #283
- Fixed byte offset alignment issue when loading converted models in Cesium. #279
- Added case-insensitive regex checking for image extensions. #278
- Added
mergeVertices
option to merge duplicate vertices. This operation is now disabled by default. #276
- Fixed a bug in
processModelMaterialsCommon
that produced out-of-spec technique states. #269
- Fixed issue with ambient occlusion not working correctly with other stages. #267
- Fixed handling of binary glTF with special characters. #253
- Added
compressTextures
stage to compress input textures to a variety of compressed texture formats. - Optimized
mergeBuffers
to avoid repeated copies, drastically improving performance when there are lots of buffers to merge. - Fixed a bug in
addPipelineExtras
that made it try to add extras to null objects. - Expose
triangleAxisAlignedBoundingBoxOverlap
, an implementation of Tomas Akenine-Möller algorithm for determining if a triangle overlaps an axis aligned bounding box. - Merged gltf-statistics as a stage in the pipeline.
- Added
updateVersion
stage for patching glTF0.8
->1.0
changes;addDefaults
no longer callsprocessModelMaterialsCommon
. #223 - Added
build-cesium-combined
command to gulp file for generating simple files for other projects. #231. - Change Cesium
Geometry
's andVertexFormat
'sbinormal
attribute to bitangent. - Fixed a bug in
combinePrimitives
where combining primitives can overflow uint16 for the resulting indices. #230 - Made
generateNormals
stage optional and addedsmoothNormals
option for generating smooth normals if the model does not have normals. #240
- Added
tangentsBitangents
generation option
- Fixed issue with embedding base64 encoded shader strings for assets using the KHR_materials_common extension
- Fixed issue with embedding base64 encoded shader strings inside the glTF.
- Added
-p
flag for preserving the glTF hierarchy. Optimization stages are not run when this flag is enabled.
modelMaterialsCommon
renamed toprocessModelMaterialsCommon
.- Added
generateModelMaterialsCommon
and command linekmc
flags for generating models with theKHR_materials_common
extension.
- Fixed
combinePrimitives
stage and re-added it to the pipeline. #108 - Expose parsing argument arrays into an options object via
parseArguments
. #183
- Added
MergeDuplicateProperties
for stages merging duplicate glTF properties, like materials and shaders. #152mergeDuplicateAccessors
is now a part of this stage.RemoveUnusedProperties
stage names are changed fromremoveUnusedXXX
toremoveXXX
.MergeDuplicateProperties
conforms to this naming convention.
quantizedAttributes
has an optionalnormalized
flag to use the glTF 1.0.1accessor.normalized
for a higher precision decode matrix. #165- Fixed an issue where pipeline extras are not removed when running
Pipeline.processJSON
andPipeline.processFile
. #180 - Added support for generating hard normals with the
-f
flag and for removing normals with-r
. #173 - Preserve non-default shader attributes when generating shaders. #175
- The
_3DTILESDIFFUSE
semantic is added to the model's technique whenoptimizeForCesium
is true. #174
cacheOptimization
no longer crashes on primitives without indices. #154- Public API is exposed via
index.js
#153- Documentation has been added for all exposed functions.
OptimizationStats
is removed fromremoveUnused
stages.gltfPipeline.js
is now namedPipeline.js
.bakeAmbientOcclusion.js
now directly exports thebakeAmbientOcclusion
function.bakeAmbientOcclusion
now takes a glTF asset as its first parameter to match the function signature of other stages.- All
removeUnused
stages have been consolidated toRemoveUnusedProperties
to clean up the global scope. readBufferComponentType
andwriteBufferComponentType
have been renamed toreadBufferComponent
andwriteBufferComponent
respectively.
- Converted the API to now use promises instead of callbacks. #135
- Fixed an issue causing some compressed accessors to not render. #148
- Fixed a quantization rounding issue. #147
- Initial release.