Change Log ========== ### 3.?.? - 2021-??-?? * Removed `minFilter` and `magFilter` from generated samplers so that runtime engines can use their preferred texture filtering. [#240](https://github.com/CesiumGS/obj2gltf/pull/240) * Triangle winding order sanitization is longer done by default. Use the `--triangle-winding-order-sanitization` option. [#236](https://github.com/CesiumGS/obj2gltf/pull/236) ### 3.1.1 - 2021-06-22 * Fixed security warnings by updating outdated npm dependencies. [#254](https://github.com/CesiumGS/obj2gltf/pull/254) ### 3.1.0 - 2020-03-13 * Added back `inputUpAxis` and `outputUpAxis`. [#211](https://github.com/CesiumGS/obj2gltf/pull/211) * Fixed handling of mtl and texture absolute paths. [#219](https://github.com/CesiumGS/obj2gltf/pull/219) * Fixed specular image not being decoded when referenced by other textures. [#217](https://github.com/CesiumGS/obj2gltf/pull/217) * Fixed parsing faces that reference non-existing attributes. [#218](https://github.com/CesiumGS/obj2gltf/pull/218) ### 3.0.4 - 2019-07-22 * No longer printing texture decode warning if the diffuse and alpha textures are the same. [#205](https://github.com/CesiumGS/obj2gltf/pull/205) ### 3.0.3 2019-06-26 * Fixed parsing of negative face indices. [#191](https://github.com/CesiumGS/obj2gltf/pull/191) ### 3.0.2 2019-03-21 * Fixed a crash when saving separate resources that would exceed the Node buffer size limit. [#173](https://github.com/CesiumGS/obj2gltf/pull/173) ### 3.0.1 2019-03-08 * Fixed handling of materials that don't have names. [#173](https://github.com/CesiumGS/obj2gltf/pull/173) ### 3.0.0 2018-12-05 * Breaking changes * The `--materialsCommon` flag has been removed. Use `--unlit` instead which uses the `KHR_materials_unlit` extension. [#152](https://github.com/CesiumGS/obj2gltf/pull/152) ### 2.3.2 2018-11-02 * Improved handling of primitives with different attributes using the same material. Materials are now duplicated. [#162](https://github.com/CesiumGS/obj2gltf/pull/162) * Fixed a bug where primitives without texture coordinates could use materials containing textures. Those textures are now removed. [#162](https://github.com/CesiumGS/obj2gltf/pull/162) * Improved parsing of faces with mismatching attributes. [#161](https://github.com/CesiumGS/obj2gltf/pull/161) ### 2.3.1 2018-10-16 * Improved parsing models with concave or n-sided faces. [#157](https://github.com/CesiumGS/obj2gltf/pull/157) * Fixed handling of objs with interleaved materials. [#155](https://github.com/CesiumGS/obj2gltf/pull/155) ### 2.3.0 2018-09-19 * Fixed handling of objs with mismatching attribute layouts. [#153](https://github.com/CesiumGS/obj2gltf/pull/153) * Fixed normalization of Windows paths when running the converter on Linux. [#150](https://github.com/CesiumGS/obj2gltf/pull/150) * Added ability to use the first material in the mtl file when the obj is missing `usemtl`. [#133](https://github.com/CesiumGS/obj2gltf/pull/133) * Fixed handling of unnormalized input normals. [#136](https://github.com/CesiumGS/obj2gltf/pull/136) ### 2.2.0 2018-01-29 * Fixed handling of materials where the diffuse and ambient texture are the same. [#127](https://github.com/CesiumGS/obj2gltf/pull/127) * Added ability to load alpha textures. [#124](https://github.com/CesiumGS/obj2gltf/pull/124) * Fixed handling of `usemtl` when appearing before an `o` or `g` token. [#123](https://github.com/CesiumGS/obj2gltf/pull/123) * Fixed output name when running from the command line. [#126](https://github.com/CesiumGS/obj2gltf/pull/126) ### 2.1.0 2017-12-28 * Fixed loading faces that contain less than 3 vertices. [#120](https://github.com/CesiumGS/obj2gltf/pull/120) * Attempt to load missing materials and textures from within the same directory as the obj. [#117](https://github.com/CesiumGS/obj2gltf/pull/117) * Fixed loading mtllib paths that contain spaces. [#116](https://github.com/CesiumGS/obj2gltf/pull/116) * Fixed checking for transparency when the diffuse texture is used in another texture slot. [#115](https://github.com/CesiumGS/obj2gltf/pull/115) * Fixed parsing mtl textures that contain texture map options. [#109](https://github.com/CesiumGS/obj2gltf/pull/109) * Added back support for the `CONSTANT` technique when a model uses the `KHR_materials_common` extension and has no normals. [#108](https://github.com/CesiumGS/obj2gltf/pull/108) * Improved handling of materials with alpha. If the alpha value is 0.0 it is now treated as 1.0. [#107](https://github.com/CesiumGS/obj2gltf/pull/107) ### 2.0.0 2017-08-11 * Breaking changes * Obj models now convert to glTF 2.0. Possible material profiles are `metallicRoughness`, `specGlossiness` (using the `KHR_materials_pbrSpecularGlossiness` extension), and `materialsCommon` (using the `KHR_materials_common` extension). * Removed `gltf-pipeline` dependency. The following options have been removed: `compress`, `optimize`, `generateNormals`, `optimizeForCesium`, `ao`, and `bypassPipeline`. * Removed `inputUpAxis` and `outputUpAxis`. This stage will be incorporated into `gltf-pipeline` instead. * `obj2gltf` no longer takes a `gltfPath` argument and saves a glTF file. Instead it returns a promise that resolves to the glTF JSON or glb buffer. ### 1.3.0 2017-08-11 * Fixed parsing models with concave or n-sided faces. [#85](https://github.com/CesiumGS/obj2gltf/pull/85) * Fixed parsing models with line breaks. [#85](https://github.com/CesiumGS/obj2gltf/pull/85) ### 1.2.0 2017-07-11 * Change texture sampling to use `NEAREST_MIPMAP_LINEAR` by default. [#83](https://github.com/CesiumGS/obj2gltf/pull/83). * Fixed lighting when generating normals. [#89](https://github.com/CesiumGS/obj2gltf/pull/89) ### 1.1.1 2017-04-25 * Fixed `CHANGES.md` formatting. ### 1.1.0 2017-04-25 * Added ability to convert the up-axis of the obj model. [#68](https://github.com/CesiumGS/obj2gltf/pull/68) * Fixed issues with an extra .bin file being saved when using `--separate`. [#62](https://github.com/CesiumGS/obj2gltf/pull/62) * Fixed issue where an ambient color of `[1, 1, 1]` overly brightens the converted model. [#70](https://github.com/CesiumGS/obj2gltf/pull/70) ### 1.0.0 2017-04-13 * Breaking changes * To use `obj2gltf` as a library, call `require('obj2gltf')(input, output, options)`. The previous calling code was `require('obj2gltf').convert(input, output, options)`. * Many library options and command-line parameters have been renamed. * Project cleanup. [#49](https://github.com/CesiumGS/obj2gltf/pull/49) * Speed improvements, especially for larger models. * Preserves the objects and groups in the obj. * Added documentation and tests. * Material fixes. ### 0.1.7 2017-01-06 * Update gltf-pipeline to 0.1.0-alpha9 * Added command to generate documentation (npm run jsdoc) ### 0.1.6 2016-09-07 * Changed obj2gltf.js line endings from CRLF to LF in npm package. ### 0.1.5 2016-08-26 * Fixed incorrect parameter to the gltf-pipeline. ### 0.1.4 2016-08-25 * Added compression flag for quantizing positions, compressing texture coordinates, and oct-encoding normals. ### 0.1.3 - 2016-08-08 * Fixed a bug causing models with no mtl file to not convert. ### 0.1.2 - 2016-07-25 * Converted the API to now use promises instead of callbacks. [#21](https://github.com/CesiumGS/OBJ2GLTF/pull/21) * Added the ability to optimize the converted glTF for CesiumJS by using the sun as a default light source. ### 0.1.1 - 2016-07-21 * Updated to use gltf-pipeline 0.1.0-alpha2. ### 0.1.0 - 2016-07-20 * Initial release.