Skip to main content

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

AreaPublic modules / APIs
BackendOpenGLBackend
Resource managersOpenGLShaderCompileManager, OpenGLMeshUploadManager
UniformsOpenGLUniformLocationCacheStrategy, OpenGLUniformWriter
Componentshelios.opengl.components
Typeshelios.opengl.types, OpenGLEnumMapper

Usage

C++ module

 import helios.opengl;

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:

 cmake -S . -B build -DHELIOS_OPENGL_ENABLE_PACKAGE=ON -DCMAKE_INSTALL_PREFIX="$PWD/install"
 cmake --build build
 cmake --install build

Consume from another project:

 find_package(helios-engine CONFIG REQUIRED)
 find_package(helios-opengl CONFIG REQUIRED)
 target_link_libraries(your_target PRIVATE helios::opengl)

Configure a consumer against an installed prefix:

 cmake -S . -B build -DCMAKE_PREFIX_PATH="/path/to/helios-prefix"
 cmake --build build

Development

Run the regular CMake build from the repository root:

 cmake -S . -B build
 cmake --build build

Related repositories


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.