helios::opengl API Reference
OpenGL backend integration for the helios engine modules.
Overview
helios::opengl connects engine-level rendering resources to OpenGL objects and state changes. It provides backend execution, shader compilation, mesh upload, uniform-location caching, and typed uniform writes.
Features
- OpenGL render backend for render-target and viewport execution
- Shader compilation/linking manager for engine shader resources
- Mesh upload manager for VAO/VBO/EBO creation
- Uniform-location caching strategy
- Typed uniform writer for view, projection, model, and material uniforms
- OpenGL-specific ECS components for shader, mesh, uniform, and render-target data
Module surface
| Area | Public modules / APIs |
|---|---|
| Backend | OpenGLBackend |
| Resource managers | OpenGLShaderCompileManager, OpenGLMeshUploadManager |
| Uniforms | OpenGLUniformLocationCacheStrategy, OpenGLUniformWriter |
| Components | helios.opengl.components |
| Types | helios.opengl.types, OpenGLEnumMapper |
Usage
C++ module
Backend architecture
OpenGLBackend translates engine render data into OpenGL state changes and draw calls. It resolves viewport, camera, render-target, material, mesh, and shader components from engine worlds.
OpenGLShaderCompileManager<THandle, TUniformCacheStrategy> consumes shader compile commands and attaches OpenGLShaderComponent data to shader entities.
OpenGLMeshUploadManager<THandle> consumes mesh upload commands and creates the OpenGL VAO/VBO/EBO state stored in OpenGLMeshComponent.
CMake
Build and install:
Consume from another project:
Configure a consumer against an installed prefix:
Development
Run the regular CMake build from the repository root:
Related repositories
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.