Golias Engine
A C++ 20 'game engine' built with SDL3 with wide platform support.
Classes | Enumerations
Configuration

Classes

struct  Viewport
 Viewport configuration settings. More...
 
struct  Environment
 Environment settings such as clear color. More...
 
struct  Application
 Application metadata and window settings. More...
 
struct  Performance
 Performance-related settings. More...
 
struct  RendererDevice
 Renderer device settings. More...
 
struct  Window
 Window configuration settings. More...
 
struct  EngineConfig
 Engine configuration loaded from project.xml. More...
 

Enumerations

enum class  Backend {
  GL_COMPATIBILITY , VK_FORWARD , DIRECTX12 , METAL ,
  AUTO
}
 Supported rendering backends for the engine. More...
 
enum class  Orientation { LANDSCAPE_LEFT , LANDSCAPE_RIGHT , PORTRAIT , PORTRAIT_UPSIDE_DOWN }
 Device orientation options. More...
 
enum class  AspectRatio { NONE , KEEP , EXPAND }
 How the viewport handles aspect ratio. More...
 
enum class  ViewportMode { VIEWPORT , CANVAS }
 Viewport rendering mode. More...
 

Detailed Description

Enumeration Type Documentation

◆ AspectRatio

enum AspectRatio
strong

How the viewport handles aspect ratio.

Enumerator
NONE 
KEEP 

No aspect ratio handling.

EXPAND 

Maintain aspect ratio, adding black bars if necessary.

◆ Backend

enum Backend
strong

Supported rendering backends for the engine.

Note
Not all backends were implemented.
Enumerator
GL_COMPATIBILITY 

OpenGL-based compatibility profile.

Desktop: OpenGL Core (3.3+) Mobile: OpenGL ES (3.0+) Web: WebGL 2/3

VK_FORWARD 

Vulkan-based high-performance profile.

Desktop and Android (if supported).

DIRECTX12 

DirectX 12 backend (Windows + Xbox).

METAL 

Metal backend (macOS + iOS).

AUTO 

Automatically choose the best backend for the platform.

◆ Orientation

enum Orientation
strong

Device orientation options.

Enumerator
LANDSCAPE_LEFT 
LANDSCAPE_RIGHT 

Landscape mode with home button on the right.

PORTRAIT 

Landscape mode with home button on the left.

PORTRAIT_UPSIDE_DOWN 

Portrait mode with home button at the bottom.

Portrait mode with home button at the top.

◆ ViewportMode

enum ViewportMode
strong

Viewport rendering mode.

  • VIEWPORT: Renders to a fixed-size viewport, maintaining aspect ratio.
  • CANVAS : Renders to fill the entire window, stretching as needed.
Enumerator
VIEWPORT 
CANVAS