Topaz 5.0
Topaz Game Engine
|
Abstract rendering API for low-level, high-performance 3D desktop graphics.
This library provides a API to interact with a single desktop GPU, agnostic of whichever graphics API runs under-the-hood (e.g Vulkan/OpenGL/D3D12). When you use this library, the implementation will use one of these graphics APIs (which one is used depends on your platform and is configurable at compile-time) automatically with minimal overhead.
If you intend to do 3D graphics in Topaz, you should first consult the Rendering Library incase a high-level implementation of what you want to achieve already exists. It is unlikely that the Rendering Library contains all the rendering components you need for a modern game, especially if your game has some more bespoke graphical features or its own unique style. In which case, you should use this library to build your feature from the ground-up.
The GPU Library works as follows:
An example graph could be comprised of:
The timeline of GPU execution of this graph could look as follows:
Topics | |
Graphs | |
Documentation for render graphs - describes the execution of Passes. | |
Hardware | |
Documentation specialised for iterating over rendering hardware and selecting one to be used for rendering. | |
Passes | |
Documentation for render/compute passes - each a single node within Graphs. | |
Resources | |
Create/edit/destroy resources (images and buffers). | |
Settings | |
Global settings that affect all passes and graphs. The kind of stuff you'd expect to see in a game's video options. | |
Shaders | |
Create shaders to carry out programmable GPU work. | |
Typedefs | |
using | tz::gpu::index_t = std::uint32_t |
Represents a single index. Indices are always 32-bit unsigned integers. | |
Classes | |
struct | tz::gpu::draw_t |
Represents a single unindexed draw-call. More... | |
struct | tz::gpu::draw_indexed_t |
Represents a single indexed draw-call. More... | |
using tz::gpu::index_t = std::uint32_t |
Represents a single index. Indices are always 32-bit unsigned integers.