Topaz is a 3D graphics engine.
- C++23 (no modules)
- Very low-level declarative graphics API.
- Supports Windows/Linux and Clang/GCC/MSVC (See requirements section below for required versions)
Topaz 4.2.0 is the most recent release of the Topaz Engine. The next version is Topaz 5.0, currently in early development on the master branch.
The Topaz project has been ongoing since it began as a school project in 2015.
- Low-level GPU rendering API.
Each major version is a total rewrite and thus completely different from the previous. Each minor version typically consists of API-breaking feature changes. Patch versions are not formally shipped unless they contain emergency bugfixes for a flawed release.
Topaz Version | Release Date | Branch | Documentation |
---|---|---|---|
5.0 | TBD | master | harrand.github.io |
4.2.0 | Apr 23, 2024 | Topaz4.2 | Branch: gh-pages-tz4.2 |
4.1.0 | Dec 1, 2023 | Topaz4.1 | Branch: gh-pages-tz4.1 |
4.0.0 | July 9, 2023 | Topaz4.0 | Branch: gh-pages-tz4.0 |
3.6.1 | Dec 10, 2022 | Topaz3.6 | Branch: gh-pages-tz3.6 |
3.6.0 | Dec 8, 2022 | Topaz3.6 | Branch: gh-pages-tz3.6 |
3.5.0 | Sep 22, 2022 | Topaz3.5 | Branch: gh-pages-tz3.5 |
3.4.0 | Aug 3, 2022 | Topaz3.4 | Branch: gh-pages-tz3.4 |
3.3.0 | Jun 12, 2022 | Topaz3.3 | Branch: gh-pages-tz3.3 |
3.2.0 | Apr 23, 2022 | Topaz3.2 | Branch: gh-pages-tz3.2 |
3.1.0 | Feb 13, 2022 | Topaz3.1 | Branch: gh-pages-tz3.1 |
3.0.0 | Sep 17, 2021 | Topaz3.0 | Branch: gh-pages-tz3 |
2.0.0 | May 9, 2021 | Topaz2.0 | Branch: gh-pages-tz2 |
1.0.0 | Sep 25, 2020 | Topaz1.0 | Branch: gh-pages-tz1 |
More Releases
Topaz Version | Release Date | Release |
---|---|---|
0.7.0 | Apr 10, 2019 | Raycasts, Octrees & Improved Utility |
0.6.0 | Jul 18, 2018 | Shadow Mapping & Physics |
0.5.1 | Dec 12, 2017 | Refactoring 1 |
0.5.0 | Oct 8, 2017 | Physics & Collision |
0.4.0 | Sep 25, 2017 | Displacement Maps & Skyboxes |
0.3.0 | Sep 21, 2017 | GUI & Flexible |
0.2.0 | Jun 5, 2017 | Prettier, faster and more features |
0.1.6 | Apr 16, 2017 | Skybox & Audio |
0.1.5 | Apr 11, 2017 | Dynamic Lighting |
0.1.4 | Apr 9, 2017 | Audio |
0.1.3 | Mar 29, 2017 | World Construction |
0.1.2 | Mar 25, 2017 | Hightail House Construction |
0.1.1 | Mar 24, 2017 | Parallax Displacement Mapping |
0.1.0 | Mar 21, 2017 | Dev Test |
-
Checkout the repository resursively.
-
Configure CMake. It is recommended you use a preset.
Example:
cmake --preset host_vulkan_debug
-
Build the
topaz
target to build the engine. Run thetztest
target to build and run all unit-tests.
The table below shows all the engine's dependencies.
Dependency | Render API | Build Config | Dependency Type |
---|---|---|---|
Vulkan SDK | Vulkan | All | Needs pre-installation |
The following requirements apply for all possible build configurations:
- A C++23-compliant compiler. GCC, MSVC and Clang are all tested so you can be confident using these. If you're not using any of these compilers, your mileage may vary.
- CMake 3.21 or later is required to build.
-
Windows or Linux.
- macOS may be theoretically possible down-the-line via MoltenVK, but no work at all has been done or planned to provide support for it.
-
Vulkan SDK 1.3 or later must be installed.
-
Your graphics card must support Vulkan 1.3. Check your graphics card here.
- It must also support the following vulkan extension(s):
- VK_KHR_swapchain
- VK_KHR_shader_non_semantic_info (debug builds only)
- It must also support the following vulkan extension(s):