{"_id":"@agrande/xatlas-web","_rev":"4-dae15e2f952cbe036530b77e158c4b8f","name":"@agrande/xatlas-web","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.1":{"name":"@agrande/xatlas-web","version":"1.0.1","main":"dist/xatlas-web.js","repository":{"type":"git","url":"git+https://github.com/agrande/xatlas-web.git"},"author":{"name":"Robert Long","email":"robert@robertlong.me"},"license":"MIT","scripts":{"build":"docker run --rm -v `pwd`:`pwd` -w `pwd` -u $(id -u):$(id -g) trzeci/emscripten ./build-web.sh"},"gitHead":"9e7cf84eb2e367d68b7a6662759ef23058f0c478","description":"[![Actions Status](https://github.com/jpcy/xatlas/workflows/build/badge.svg)](https://github.com/jpcy/xatlas/actions) [![Appveyor CI Build Status](https://ci.appveyor.com/api/projects/status/github/jpcy/xatlas?branch=master&svg=true)](https://ci.appveyor.","bugs":{"url":"https://github.com/agrande/xatlas-web/issues"},"homepage":"https://github.com/agrande/xatlas-web#readme","_id":"@agrande/xatlas-web@1.0.1","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","dist":{"integrity":"sha512-BGMREhjU2tBCEYnl6nzz57RDG0sC3IeObErOeRGz+YK2++YeNCKJEeFzhzjWma18UrAxwtAciBFa2EydrxlIRQ==","shasum":"c0ca8bfefb2777b8389ca70f8a41926308b1b307","tarball":"https://registry.npmjs.org/@agrande/xatlas-web/-/xatlas-web-1.0.1.tgz","fileCount":5,"unpackedSize":238240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1RQyCRA9TVsSAnZWagAAWg4P/1Sz2y0Y97u77r1I1CjG\nwy4aZqD/Ns0lB/trON/XJdoQYVxb4LMJq0uPdMTiwizNKnKCc+v3YQjOUYOa\nCujZRALQpTkGE6nCElIb9j4Xuaf0Z/mUYygP6qc4IRSUPYqtVYQ1ikG1ld1e\nSnzbOu8BPRcKtwXrIt0eOD/7B+Vu2/tlxSWCkHmTITc/hjZRxurmZ+FhntwQ\nNnuCJJncJgbF8Aaxq1aUp+cvjRZIY4absvC38Nuf5VMx+EpqgAFg0vrWJjef\nIIPQrYv1qZ4K/vvJiwHucgVOxi1bHC4dEYmVKRmd6ASZ6Czuz0YyBu5jHuLi\nf9ypX+rDexSCYOeEEi9I6HWtjkVV0PfyKKaw62n2Slmb41oJO+eYDIT8idwH\n6bsvna9IQu4i+xBN2v6G38FR3NfWRVLmnh+VRUT6TAj3fe2p6odw8zWwdxR2\nUcRmyL7WRZWk9lfMcD3ZaWc4llk9r1nZ8jl3Jq8/ArSOwehwFf7H1dN2i4hI\nYX/1AO1e+DUmobUqMnvpdZJM8QzFgkL4ugikWLYUAqw5Ujv0YuUn1mmpBqDX\n/Rw50YG6PtRkKetJ7HVw1j5SE88ZtYhruf83yZU6OQrnLZjK0A/pHtXaLoUF\nhR+avsDsN0JV1K+usktmuTZ213BKxMrVY64xd9BmRgLIlVuFy7hgkq/LuGsn\nGMlK\r\n=z+7m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDRsIeT7taeBTqBZ7UOGofJerhvgQUdt4iv2u8xlI3qlAiAk//sK9m0c007rzQ8M5Ia+9naNnD78StgiXttfz1wucA=="}]},"_npmUser":{"name":"agrande","email":"adrien.grandemange@gmail.com"},"directories":{},"maintainers":[{"name":"agrande","email":"adrien.grandemange@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xatlas-web_1.0.1_1624577074065_0.6208852742706497"},"_hasShrinkwrap":false},"1.1.0":{"name":"@agrande/xatlas-web","version":"1.1.0","main":"dist/xatlas-web.js","repository":{"type":"git","url":"git+https://github.com/agrande/xatlas-web.git"},"author":{"name":"Robert Long","email":"robert@robertlong.me"},"license":"MIT","scripts":{"build":"docker run --rm -v `pwd`:`pwd` -w `pwd` -u $(id -u):$(id -g) trzeci/emscripten ./build-web.sh"},"gitHead":"af86e5e9a7128514a186f0e3cf59bc337171a347","description":"[![Actions Status](https://github.com/jpcy/xatlas/workflows/build/badge.svg)](https://github.com/jpcy/xatlas/actions) [![Appveyor CI Build Status](https://ci.appveyor.com/api/projects/status/github/jpcy/xatlas?branch=master&svg=true)](https://ci.appveyor.","bugs":{"url":"https://github.com/agrande/xatlas-web/issues"},"homepage":"https://github.com/agrande/xatlas-web#readme","_id":"@agrande/xatlas-web@1.1.0","_nodeVersion":"14.15.5","_npmVersion":"7.23.0","dist":{"integrity":"sha512-nypmc3kcaU2yOO/Gb99B648gXBZ8OAvChN5otNB/ndtMbmzoqKESEQ+BGpnvUSmt3pzT6CVuHKVRLnoFIctruw==","shasum":"9f6226e5aba817a691ee5edf5169e3e4b7ad7f3e","tarball":"https://registry.npmjs.org/@agrande/xatlas-web/-/xatlas-web-1.1.0.tgz","fileCount":5,"unpackedSize":245361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuQwvCRA9TVsSAnZWagAAZ0MP/iyQLiIv9UTSXuJwOFTG\n6xZ3cYzoWoxNsOWzl5YTMuUhtLof0zhroSTdWJmc2cl469U5DVpdMntmyyt/\nTuwxEAcQvPcybw08nEFa+3wHbU8JFoh37mDazDFV/p4QGj2XhCM68jz+0CFM\nzhtny7EqckmfeE9WwgheKs+iizqXxiMfexMdWW52IwsP4yDDv1rFW/Xn8yZ2\ntOzAKQziVQyvCo5TuLcX4YMRC6UXpwpMWGa7uWtc4hksE1TbMFEmWw0WNU0q\nDB5Dq6h1NmFpkF9V81aAQzakmS8WSzDPz649vN+z10EPJYIRz/9XfDaELMHT\nlU0PhLb4/icEkxXs2YaEcw0Iis8XFyi0XQEl5e7MGNd5gerJkgQCdG1ls+9B\nVgNp6ZrFpjctvXW+oIkt4Y+F1Qycu20K5NLZtNMARqfJq2gFP/ofR9nd1YdI\nUDPHSaTGHtez2SE0pQRgFNSoNenQgkvumRlrSdFyJKtJnKpS0o09OqabrS0i\nq5//QUHxM5a7bT582Kl6msAuGFQKBd96AFsPcYCj8Jn+pBn7zfYQMcp43wuB\ntpZanesLbfjX6dRj42pBP57QM7njhGEq6PsoB1l4y05RdeK7XMCH3Z+Kio+d\np3JZtrUKI+D/zrbTca3tTvYFQ5NmLZBdxf8f4NsqTFtzTYoCPQpoVsukK4z0\nJVtA\r\n=CFkq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAu4bYLfDcj3Ihd7bj/wXjeF84mnEPRlmjah0v/SGjHwIhAKLpY2kS9tdNDXTOu17FBbW0sVeElS/ycUK1JKjphDUL"}]},"_npmUser":{"name":"agrande","email":"adrien.grandemange@gmail.com"},"directories":{},"maintainers":[{"name":"agrande","email":"adrien.grandemange@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xatlas-web_1.1.0_1639517231564_0.4987984362284048"},"_hasShrinkwrap":false},"1.2.0":{"name":"@agrande/xatlas-web","version":"1.2.0","main":"dist/xatlas-web.js","repository":{"type":"git","url":"git+https://github.com/agrande/xatlas-web.git"},"author":{"name":"Robert Long","email":"robert@robertlong.me"},"license":"MIT","scripts":{"build":"docker run --rm -v `pwd`:`pwd` -w `pwd` -u $(id -u):$(id -g) trzeci/emscripten ./build-web.sh"},"gitHead":"ab081eff571728a48e035cadf4e75d4615551112","description":"[![Actions Status](https://github.com/jpcy/xatlas/workflows/build/badge.svg)](https://github.com/jpcy/xatlas/actions) [![Appveyor CI Build Status](https://ci.appveyor.com/api/projects/status/github/jpcy/xatlas?branch=master&svg=true)](https://ci.appveyor.","bugs":{"url":"https://github.com/agrande/xatlas-web/issues"},"homepage":"https://github.com/agrande/xatlas-web#readme","_id":"@agrande/xatlas-web@1.2.0","_nodeVersion":"14.15.5","_npmVersion":"7.23.0","dist":{"integrity":"sha512-n9SrPjKk2zfo2k9tmXVtUWSe8NlT5QPq3Vdv9XsfURw8rOb2dwhKbGy07vbU+sdWihHhyhnnrZuls9Rmy7ukVA==","shasum":"76ed1659f204556c5da9bc988bded10d387fe867","tarball":"https://registry.npmjs.org/@agrande/xatlas-web/-/xatlas-web-1.2.0.tgz","fileCount":5,"unpackedSize":245428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwGGeCRA9TVsSAnZWagAAydYP/06VKkg/K0C+mzhQFD1A\nRij916tx+bVzaJzDlBpsyCUob8XxTqcxCGpgWMC0wqSNaOEdKOzriLzwa6i3\nS9VWOoHkHRk/eQeec5edvBkRf0anZeYghogtptD+y6g/4n0H2R4I8yqL4fEE\nuqzd4wzzHrNddUJ8VaA/MqIREgcsMhP07GVIyAmyv8UCKRQ3RqnJbm5zNGmj\nwIeFFLHzs78Hi2LVpj2a+yNXlNQG6YbgZOx9ibAxl+P6wa+CFl3mCX51ntEe\nV31vCLY6J7ZiwRV63P8PniUZUoBP1npBMBdUlproVWI9oTBeJxcFUSvri2UT\nW+t7wDqJRXX8Lt4bYuDZfig/sxGUVkLHhF0hphLdd9zdhGV9rMe+4WxfYCAy\na+FaN50uorTEpv81aXUQ0x+sai5cUmfHERgHwoVz3EGwQ746FHlFdLJquE0j\nOZjU5bYoW4BKd0wD96yZJv3iRxl9StE95MfxmICg/n30lGe8a5oOJKmPTJMs\nKtwViNaBjjCvAqfBeVj6dYIzZlHzDryV+ihpMOHxzF9igZDtndlz0vwBvTXI\nUke7AehsLmUvQYSl7vbqkX3iVv89A/AYGQe5D68fUQ4X3Vjbv+x3jVHZoVt7\n3LwKbzkCjcX7X2U/jSZWSNRrm+uelUKsxBgyXtZyqXZzO2ndUbuFs+ut2wFb\npo1W\r\n=skNU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICdNyNvIqgA7AbZYvz8raWGmhujy4kSPBk4ZcjDSGzA6AiA0aZI3itr7gYSPJ/g42rofAiyFPbXbsx3CZeX+AMk4aw=="}]},"_npmUser":{"name":"agrande","email":"adrien.grandemange@gmail.com"},"directories":{},"maintainers":[{"name":"agrande","email":"adrien.grandemange@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xatlas-web_1.2.0_1639997854562_0.030089296470199756"},"_hasShrinkwrap":false},"1.3.0":{"name":"@agrande/xatlas-web","version":"1.3.0","main":"dist/xatlas-web.js","repository":{"type":"git","url":"git+https://github.com/agrande/xatlas-web.git"},"author":{"name":"Robert Long","email":"robert@robertlong.me"},"license":"MIT","scripts":{"build":"docker run --rm -v `pwd`:`pwd` -w `pwd` -u $(id -u):$(id -g) trzeci/emscripten ./build-web.sh"},"gitHead":"a3be9aab45dab9ec81d9e4eaa3babdf5dfb5c7f6","description":"[![Actions Status](https://github.com/jpcy/xatlas/workflows/build/badge.svg)](https://github.com/jpcy/xatlas/actions) [![Appveyor CI Build Status](https://ci.appveyor.com/api/projects/status/github/jpcy/xatlas?branch=master&svg=true)](https://ci.appveyor.","bugs":{"url":"https://github.com/agrande/xatlas-web/issues"},"homepage":"https://github.com/agrande/xatlas-web#readme","_id":"@agrande/xatlas-web@1.3.0","_nodeVersion":"14.15.5","_npmVersion":"7.23.0","dist":{"integrity":"sha512-xJSYPMJ8Qfm7/KuSRcmIcONE+t5ZXMpJmIdJdnfzlt5sbUt9g6lO+LhxWSO39RdMnzJXw2e+VyGhRVjjW6lXKQ==","shasum":"bb7af1c6a0ad42f56b7b9e2913548a45032946b1","tarball":"https://registry.npmjs.org/@agrande/xatlas-web/-/xatlas-web-1.3.0.tgz","fileCount":5,"unpackedSize":245428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwKDeCRA9TVsSAnZWagAABmEQAI8qI+rcGEJ1FURMiiXf\no1oxS2tCmOvurUzUj+Jw1nhnukQRwQtycUrnG23ygyAii8H2JzNGU6B/YUki\n/2BIaxo2EJgpb11XcC+wOWNsYmFCySmiymUp8IUe8FP4q8sC+hgmn5887sM2\nL5Btn8pvXW5D4JkSbt8jRepcggAA8Xt6E9df4GOPZwqQOfOFtQoISDZQmPlu\nu4YwEygasRFx+YpQ238aZftmwso/HWCdRAO8iDWUflAPtuDswZbjwqE54I1Z\nz8nobuVUuLi8pT3GxYHVDU5bsV5LwrhLmE063/LNSplonSHFd72b/DFpv/og\nxojDMBasLz0iMT2fxRwdqLU287mJ+zlLZDekkqkaYh+9f3lZgGhK5b+7MhPP\njyFn+p9FUoNpkdeB3A3/UgxkD2x6m1HcLEmu7vuQulF9WiLhvxv9gTSKHCgL\nC3Al06Ur4DspCJ4d9cCUGma4NyHhrV+Ll3E93EsbprhzA/r2AFae0eprxOER\n+cPTKF9v+icbi2j8kQKUQp7FmqgzIcLZNgi6tAzZjtLDEzyal2K0ijD3WxXp\n2ekoRUCF/DZzRVNOViR1SQbf16Cguv585+1p2mnsmdis3xPprV0NTF3H90jO\n6TM6pHBmPdJmV4ov2Jle1LrIMPnkulWVcuZsYnMIXljx6kJ+fTn0KOBLDLAd\n7FLx\r\n=ZCEY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPsvVS6vHIUAAxA7eG0ftgUykKXxkaB5/+ewBi58nkpwIhAJQufMdRPqxb+BTChc4NGiGxnzL6D2FA0I9aT2b4tgMc"}]},"_npmUser":{"name":"agrande","email":"adrien.grandemange@gmail.com"},"directories":{},"maintainers":[{"name":"agrande","email":"adrien.grandemange@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xatlas-web_1.3.0_1640014046006_0.013656962655720362"},"_hasShrinkwrap":false}},"time":{"created":"2021-06-24T23:24:34.021Z","1.0.1":"2021-06-24T23:24:34.221Z","modified":"2022-04-04T12:02:36.611Z","1.1.0":"2021-12-14T21:27:11.747Z","1.2.0":"2021-12-20T10:57:34.718Z","1.3.0":"2021-12-20T15:27:26.189Z"},"maintainers":[{"name":"agrande","email":"adrien.grandemange@gmail.com"}],"description":"[![Actions Status](https://github.com/jpcy/xatlas/workflows/build/badge.svg)](https://github.com/jpcy/xatlas/actions) [![Appveyor CI Build Status](https://ci.appveyor.com/api/projects/status/github/jpcy/xatlas?branch=master&svg=true)](https://ci.appveyor.","homepage":"https://github.com/agrande/xatlas-web#readme","repository":{"type":"git","url":"git+https://github.com/agrande/xatlas-web.git"},"author":{"name":"Robert Long","email":"robert@robertlong.me"},"bugs":{"url":"https://github.com/agrande/xatlas-web/issues"},"license":"MIT","readme":"## xatlas\n\n[![Actions Status](https://github.com/jpcy/xatlas/workflows/build/badge.svg)](https://github.com/jpcy/xatlas/actions) [![Appveyor CI Build Status](https://ci.appveyor.com/api/projects/status/github/jpcy/xatlas?branch=master&svg=true)](https://ci.appveyor.com/project/jpcy/xatlas) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nxatlas is a small C++11 library with no external dependencies that generates unique texture coordinates suitable for baking lightmaps or texture painting.\n\nIt is an independent fork of [thekla_atlas](https://github.com/Thekla/thekla_atlas), used by [The Witness](https://en.wikipedia.org/wiki/The_Witness_(2016_video_game)).\n\n## Screenshots\n\n#### Example - [Cesium Milk Truck](https://github.com/KhronosGroup/glTF-Sample-Models)\n| Viewer | Random packing | Brute force packing |\n|---|---|---|\n| [![Viewer](https://user-images.githubusercontent.com/3744372/69908461-48cace80-143e-11ea-8b73-efea5a9f036e.png)](https://user-images.githubusercontent.com/3744372/69908460-48323800-143e-11ea-8b18-58087493c8e9.png) | ![Random packing](https://user-images.githubusercontent.com/3744372/68638607-d4db8b80-054d-11ea-8238-845d94789a2d.gif) | ![Brute force packing](https://user-images.githubusercontent.com/3744372/68638614-da38d600-054d-11ea-82d9-43e558c46d50.gif) |\n\n#### Example - [Godot Third Person Shooter demo](https://github.com/godotengine/tps-demo)\n[![Godot TPS](https://user-images.githubusercontent.com/3744372/69908463-48cace80-143e-11ea-8035-b669d1a455f6.png)](https://user-images.githubusercontent.com/3744372/69908462-48cace80-143e-11ea-8946-a2c596ec8028.png)\n\n#### [Graphite/Geogram](http://alice.loria.fr/index.php?option=com_content&view=article&id=22)\n![Graphite/Geogram](https://user-images.githubusercontent.com/19478253/69903392-c0deb900-1398-11ea-8a52-c211bc7803a9.gif)\n\n## How to use\n\n### Building\n\nPremake is used. For CMake support, see [here](https://github.com/cpp-pm/xatlas).\n\nIntegration into an existing build is simple, only `xatlas.cpp` and `xatlas.h` are required. They can be found in [source/xatlas](https://github.com/jpcy/xatlas/blob/master/source/xatlas)\n\n#### Windows\n\nRun `build\\premake.bat`. Open `build\\vs2019\\xatlas.sln`.\n\nNote: change the build configuration to \"Release\". The default - \"Debug\" - severely degrades performance.\n\n#### Linux\n\nRequired packages: `libgl1-mesa-dev libgtk-3-dev xorg-dev`.\n\nInstall Premake version 5. Run `premake5 gmake`, `cd build/gmake`, `make`.\n\n### Bindings\n\n[Python](https://github.com/mworchel/xatlas-python)\n\n### Generate an atlas (simple API)\n\n1. Create an empty atlas with `xatlas::Create`.\n2. Add one or more meshes with `xatlas::AddMesh`.\n3. Call `xatlas::Generate`. Meshes are segmented into charts, which are parameterized and packed into an atlas.\n\nThe `xatlas::Atlas` instance created in the first step now contains the result: each input mesh added by `xatlas::AddMesh` has a corresponding new mesh with a UV channel. New meshes have more vertices (the UV channel adds seams), but the same number of indices.\n\nCleanup with `xatlas::Destroy`.\n\n[Example code here.](https://github.com/jpcy/xatlas/blob/master/source/examples/example.cpp)\n\n### Generate an atlas (tools/editor integration API)\n\nInstead of calling `xatlas::Generate`, the following functions can be called in sequence:\n\n1. `xatlas::ComputeCharts`: meshes are segmented into charts and parameterized.\n2. `xatlas::PackCharts`: charts are packed into one or more atlases.\n\nAll of these functions take a progress callback. Return false to cancel.\n\nYou can call any of these functions multiple times, followed by the proceeding functions, to re-generate the atlas. E.g. calling `xatlas::PackCharts` multiple times to tweak options like unit to texel scale and resolution.\n\nSee the [viewer](https://github.com/jpcy/xatlas/tree/master/source/examples/viewer) for example code.\n\n### Pack multiple atlases into a single atlas\n\n1. Create an empty atlas with `xatlas::Create`.\n2. Add one or more meshes with `xatlas::AddUvMesh`.\n3. Call `xatlas::PackCharts`.\n\n[Example code here.](https://github.com/jpcy/xatlas/blob/master/source/examples/example_uvmesh.cpp)\n\n## Technical information / related publications\n\n[Ignacio Castaño's blog post on thekla_atlas](http://www.ludicon.com/castano/blog/articles/lightmap-parameterization/)\n\nP. Sander, J. Snyder, S. Gortler, and H. Hoppe. [Texture Mapping Progressive Meshes](http://hhoppe.com/proj/tmpm/)\n\nK. Hormann, B. Lévy, and A. Sheffer. [Mesh Parameterization: Theory and Practice](http://alice.loria.fr/publications/papers/2007/SigCourseParam/param-course.pdf)\n\nP. Sander, Z. Wood, S. Gortler, J. Snyder, and H. Hoppe. [Multi-Chart Geometry Images](http://hhoppe.com/proj/mcgim/)\n\nD. Julius, V. Kraevoy, and A. Sheffer. [D-Charts: Quasi-Developable Mesh Segmentation](https://www.cs.ubc.ca/~vlady/dcharts/EG05.pdf)\n\nB. Lévy, S. Petitjean, N. Ray, and J. Maillot. [Least Squares Conformal Maps for Automatic Texture Atlas Generation](https://members.loria.fr/Bruno.Levy/papers/LSCM_SIGGRAPH_2002.pdf)\n\nO. Sorkine, D. Cohen-Or, R. Goldenthal, and D. Lischinski. [Bounded-distortion Piecewise Mesh Parameterization](https://igl.ethz.ch/projects/parameterization/BDPMP/index.php)\n\nY. O’Donnell. [Precomputed Global Illumination in Frostbite](https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/gdc2018-precomputedgiobalilluminationinfrostbite.pdf)\n\n## Used by\n\n[ArmorPaint](https://armorpaint.org/index.html)\n\n[Bakery - GPU Lightmapper](https://assetstore.unity.com/packages/tools/level-design/bakery-gpu-lightmapper-122218)\n\n[DXR Ambient Occlusion Baking](https://github.com/Twinklebear/dxr-ao-bake) - A demo of ambient occlusion map baking using DXR inline ray tracing.\n\n[Filament](https://google.github.io/filament/)\n\n[Godot Engine](https://github.com/godotengine/godot)\n\n[Graphite/Geogram](http://alice.loria.fr/index.php?option=com_content&view=article&id=22)\n\n[Lightmaps - An OpenGL sample demonstrating path traced lightmap baking on the CPU with Embree](https://github.com/diharaw/Lightmaps)\n\n[redner](https://github.com/BachiLi/redner)\n\n[Skylicht Engine](https://github.com/skylicht-lab/skylicht-engine)\n\n[toy](https://github.com/hugoam/toy) / [two](https://github.com/hugoam/two)\n\n[UNIGINE](https://unigine.com/) - [video](https://www.youtube.com/watch?v=S0gR9T1tWPg)\n\n[Wicked Engine](https://github.com/turanszkij/WickedEngine)\n\n## Related projects\n\n[aobaker](https://github.com/prideout/aobaker) - Ambient occlusion baking. Uses [thekla_atlas](https://github.com/Thekla/thekla_atlas).\n\n[Lightmapper](https://github.com/ands/lightmapper) - Hemicube based lightmap baking. The example model texture coordinates were generated by [thekla_atlas](https://github.com/Thekla/thekla_atlas).\n\n[Microsoft's UVAtlas](https://github.com/Microsoft/UVAtlas) - isochart texture atlasing.\n\n[Ministry of Flat](http://www.quelsolaar.com/ministry_of_flat/) - Commercial automated UV unwrapper.\n\n[seamoptimizer](https://github.com/ands/seamoptimizer) - A C/C++ single-file library that minimizes the hard transition errors of disjoint edges in lightmaps.\n\n[simpleuv](https://github.com/huxingyi/simpleuv/) - Automatic UV Unwrapping Library for Dust3D.\n\n## Models used\n\n[Gazebo model](https://opengameart.org/content/gazebo-0) by Teh_Bucket\n","readmeFilename":"README.md"}