Wiki

Clone wiki

gengine / Structure

Library structure

Rough overview of the files and components locations.

Library split on several interdependent modules, each compiled to the separate shared library (DLL). Each module defines a particular set of API and classes according to its own purpose.

KernelRuntime

Basic runtime components and functionality reused by all other modules. Data structures, file-system access, convenience patterns, multithreading and synchronization, program startup and error handling.

KernelCore

Application and dynamic plugins framework.

Defines an main application class, which manages startup, configuration management, command line arguments.

Provides plugin framework provides a means of the dynamic linking at runtime. Plugin is defined by the principal interface and classes which implement that interface. Those implementations can be compiled separately in shared library and linked through plugin XML configuration interface.

ImageCore

Imaging API to load, save and manipulate bitmap images. Pretty self-explanatory.

RenderCore

All the rendering related API.

RenderOpenGL

OpenGL render driver. Implements Display and related interfaces from the RenderCore.

ResourceManager

Handles dynamic loading of the external application resources, mostly related to graphics.

InputSystem

Provides a unified user input layer, including keyboard and mouse.

InputDirectX

Driver of the the InputSystem which uses DirectX for capturing user input exclusively.

Updated