Releases: xelatihy/yocto-gl
Yocto/GL 4.4.0
This release adds an experimental CUDA path tracer and refactors some internal data structures to better match the library goals, together with including many bug fixes.
This release will be the last in the 4.x line. This upcoming release will introduce many code breaking changes that are necessary to further expand the library. Differently than what was done solar, the next release will be backward incompatible and deprecated methods will be removed.
What's Changed
- Cuda/Optix renderer (#1339, #1340, #1341, #1343, #1344, #1345, #1347, #1349, #1350, #1360, #1363)
- Simpler example apps (#1352, #1365, #1367)
- Split IO sources (#1321, $1323, #1359, #1378, #1381)
- Split Embree Bvh from Yocto/Bvh (#1324)
- Function renaming (#1325, #1382)
- Yocto/Math simplification (#1333, #1338, #1368, #1326)
- Better CLI (#1319)
- Fix OpenGL color space (#1383)
- Bug fixes and build (#1304, #1316, #1317, #1318, #1330, #1335, #1398, #1409)
Yocto/GL 4.3.0
This release is mostly a big fix release and introduces a new file format for the scene that is easier than the previous. All previous files will still load.
What's Changed
- Added Python scene validator
- Moldeio does not use math
- Merge gui in yocto
- Deprecate Yocto/Parallel
- Remove less used external libs
- Remove Json implementations
- Simpler BVH implementation
- Shorter CLI implementation
Yocto/GL 4.2.0
This release is mostly a refactoring of the IO functionality, to make it simpler, and the introduction of a simpler Json format.
All changes should be backward compatible, beside the removal of exceptions from the APIs.
Yocto/GL 4.1.0
This release improves mostly upon utilities and IO functionality in preparation for a 5.0 release with more graphics features. The release should be mostly backward compliant besides one change listed below.
- Backward incompatible change: Rename metallic to reflective in material_type enum (#1266)
- Better code layout: IO functionality split into image io, shape io, and scene io (#1258)
- Microfacet bug fixes (#1264)
- Furnace test (#1259)
- Bug fixes (#1256, #1252, #1250, and smaller commits)
- Update docs (#1268)
- Update ImGui and STB dependencies. (#1267)
- Cleanup to possibly support better point and line intersection (#1257)
- UI keys consistent with Blender (#1255)
- Faster and simpler IO (#1253, #1251, #1246)
- File format 4.1, with full backward compatibility. (#1248, #1249)
- Simpler apps (#1247)
- Json representation (#1244, #1245, #1243, #1239, #1223)
- Tone mapping, batch rendering, and denoising in CLI scene rendering (#1242, #1230)
- Better names for scene elements: camera_data, texture_data, etc, with old names supported via typedefs. (#1240)
- Eyelight rendering with ambient occlusion (#1221)
Yocto/GL 4.0.0
This marks a major new release of Yocto/GL which is not backward compatible with the previous release. Major changes were introduced to reduce the amount of code, as well as simplify library usage. Please see the docs for an overview of the release.
Yocto/GL 3.3.0
This release marks the last release of the v3 line. It contains a few additions, mostly related to support libraries, as well as more example apps.
Starting from the next commit, incompatible changes will land in the main branch to begin working on the v4 line. The list of changes are:
- implemented command line apps with commands to reduce the number of demo apps (#1135, #1132, #1124, #1122, #1121)
- added a simple image viewer as a library component (#1134, #1133, #1123)
- added support for Json storage and IO in the new library Yocto/Json (#1131, #1130, #1129, #1128, #1127, #1126, #1116, #1112, #1111, #1110, #1109, #1108, #1107, #1105, #1102, #1098, #1102)
- mesh processing utilities (#1103, #1097, #1094, #1093, #1084, #1103, #1097)
- added STL and glTF IO (#1125, #1113, #1092, #1091)
- command-line parsing with JSON schemas (#1120, #1119, #1083)
- bug fixes (#1096, #1089)
- example sculpting app (#1087)
- city generation example (#1082)
Yocto/GL 3.2.0
This release is mostly a bug fix and cleanup release with some improvements made to the interactive renderers. This release marks the last release in the 3.X line. This is a list of the major changes.
- Image
- Path tracing
- SceneIO
- Cli
- General
- Gui
Yocto/GL 3.1.0
This release contains several bug fixes and also a change in the build to use std::filesystem. Summary if changes:
- Using
std::filesystem
instead ofghc::filesystem
(#1008, #1011)- This may require a later compiler than before, but brings stability especially on Windows
- Improvements to
yocto_gui
- Generate tests internally (#1004)
- More general command-line parser (#1000)
- Removed Git Submodules
- Applying cpplint (#999)
- Buig fixes (#1005, #1003, #1002, #998)
Yocto/GL 3.0.0
This release makes a few major changes in the Yocto/GL repository from feedback gained by others.
- Functionality is split into multiple libraries to make it easier to extend Yocto in the future and make code navigation easier
- Significantly better documentation that move from the header files to Markdown compiled with mkdocs
- A shared, and simplified scene, scene model for both IO and path tracing
- Bug fixes throughout most of the library
- Addition of new facilities in an experimental form
Yocto/GL 2.0.0
This is a major update for Yocto/GL that incorporates changes for both significant efficiency and usability of the APIs when including Yocto/GL libraries in external projects. Some of the main changes are listed here.
- added separate namespaces to all libraries
- remove Yocto/Bvh library that is now merged into Yocto/Shape
- split Yocto/ModelIO into separate Yocto/Ply, Yocto/Obj, Yocto/Pbrt for more modularity
- remove support for YAML parsing since it was hard to maintain
- use of pointers for references instead of indices for efficiency, pointer-stability and type safety of references
- changes to scene representation in Yocto/SceneIO
- explicit instancing for efficiency
- renamed instance to object
- use of pointers instead of indices to ensure pointer stability and for efficiency
- use of JSON as the main file format instead of YAML
- names are not explicit paths any longer, but just filenames without extensions
- changes to scene representation in Yocto/Trace
- explicit instancing for efficiency
- renamed instance to object
- move more common functionality from other libraries into Yocto/Math
- several new APIs across all libraries
- explicit scene element creation
- pointer-based references
- code cleanup in all libraries at least in the non-API code
- change build system and library location to make the code more modular