classes
-
core the engine core, here all graphics resources and render operations are described.
-
data contains all data types that can be serialized to/from disk.
- buffer container class for GPU data.
-
framebuffer final container class that describes the data to create a set of rendertargets.
-
attachment final describes a single rendertarget in a framebuffer.
- description final describes how the rendertarget should be loaded, stored, it's sample count, and what transition layouts it should go through.
-
attachment final describes a single rendertarget in a framebuffer.
-
geometry describes a stream of data that will be uploaded to the GPU as geometry data.
- constants contains globally pre-defined keys for common streams that most engines have.
-
material final Describes a collection of resources that can be used to initialize a core::
gfx:: material. - blendstate describes the blend operation (source/destination) per color component in the render operation.
- sampler final describes the data to build a core::
gfx:: sampler instance - window contains the data to initialize a core::
os:: surface
- ecs Entity Component System.
-
gfx namespace that deals with the abstract render objects
-
buffer maps a memory region and interfaces with the driver for read/writes
- commit_instruction description of a memory commit instruction. Tries to offer some safer mechanisms.
- context encapsulated a graphics context.
-
framebuffer final describes a set of images to use as rendertargets
- attachment describes a single attachment in a framebuffer.
- binding describes a single binding point (can be many) in a framebuffer.
- geometry describes the driver visible concept of geometry.
- material final class that creates a bindable collection of resources that can be used in conjuction with a surface to render.
- pass a pass describes a start-to-finish sequence of commands to render into a set of rendertargets.
- pipeline encapsulated the concept of a graphics pipeline on the GPU
- pipeline_cache the pipeline cache allows sharing of pipelines between various materials.
- pipeline_key the pipeline key creates a hash of the important elements of a vk::Pipeline
- sampler final sampler object for texture filtering and lookups
-
shader creates a shader object from a SPIR-V module
- specialization contains the specialization info that might be used by the shader.
- swapchain describes a framebuffer that is specially handled and created by the driver
- texture a texture resource used for rendering, either as target, or as input resource.
-
buffer maps a memory region and interfaces with the driver for read/writes
- ivk deals with all objects that are directly mapped to vulkan objects (i.e. they have internal vulkan concepts in them)
-
meta contains all extensions to the ::meta namespace.
- shader final contains extensions for meta data when loading shader files.
- texture final Custom meta data that describes a texture. i.e. width, height, format, etc..
-
os specific OS wrappers and resources.
- surface primitive object that create a surface we can render on.
- resource deals with resource creation, tracking, and managing.
-
systems contains systems that are responsible for handling certain aspects (audio, input, physics, etc..).
-
input handles all inputs and sends out generic events that can be subscribed to.
- mouse_coordinate absolute mouse coordinates that also contain the surface width/height.
- mouse_delta contains the mouse delta coordinates in respect to the last message tick.
- scroll_delta delta information for the mouse scroll wheel.
-
input handles all inputs and sends out generic events that can be subscribed to.
- stream stream contains a type erased "stream" of memory with basic facilities to protect it from incorrect casts.
-
data contains all data types that can be serialized to/from disk.
- std STL namespace.