- 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.