API documentation

ModuleDescription
dagon.collision.contact Contact information between two collision shapes.
dagon.collision.geometry Convex geometry.
dagon.collision.gjk Gilbert-Johnson-Keerthi algorithm.
dagon.collision.jss Johnson Simplex Solver.
dagon.collision.mpr Minkowski Portal Refinement algorithm.
dagon.collision.shape Convex collision shape.
dagon.compute.resample GPU-based texture resizing through compute shader.
dagon.compute.shader Compute shader support.
dagon.core.application Generic applicaton class and corresponding utility functions
dagon.core.arena General-purpose region-based memory allocator. This module simply imports dlib.memory.arena for backward compatibility.
dagon.core.bindings Helper module that publicly imports OpenGL, SDL, Freetype and Wintab bindings. Also provides a number of additional enums for OpenGL extensions.
dagon.core.config Provides configuration management for Dagon applications.
dagon.core.dialogs Provides cross-platform open and save dialogs.
dagon.core.dxgiformat Defines DirectX Graphics Infrastructure image format enumerations. This module is for compatibility with DirectX-specific data structures.
dagon.core.event Primitives and tools for event-driven programming.
dagon.core.graphicstablet Graphics tablet frontend.
dagon.core.i18n Internationalization system for Dagon applications.
dagon.core.input Provides an input manager.
dagon.core.keycodes Defines key codes and button codes for keyboard, mouse, and game controllers.
dagon.core.locale Provides a function for detecting and querying the system locale.
dagon.core.logger Provides logging facilities for Dagon applications.
dagon.core.mappedlist A list with string-mapped indices. This module simply imports dlib.container.mappedlist for backward compatibility.
dagon.core.messaging Messaging module.
dagon.core.persistent Provides persistent key-value data storage.
dagon.core.props Provides a dynamic type system for object properties.
dagon.core.shaderloader Utilities for compiling and linking OpenGL shaders.
dagon.core.sysinfo Provides information about hardware and operating system.
dagon.core.time Provides time management utilities.
dagon.core.vfs Provides a virtual file system abstraction.
dagon.core.vkformat Defines Vulkan image format enumerations.
dagon.core.wintab BindBC binding to Wintab (Wacom Tablet) API. Based on Derelict-Wintab by Vadim Lopatin, BindBC port by Timur Gafarov.
dagon.game.basegame Core game logic for Dagon-based applications.
dagon.game.game Core game logic for Dagon-based applications.
dagon.game.loadingscreen A simple loading screen implementation.
dagon.graphics.billboard Provides a billboard class.
dagon.graphics.camera Defines the camera class.
dagon.graphics.components Provides reusable components for Entity.
dagon.graphics.csm Provides boilerplate for cascaded shadow mapping (CSM).
dagon.graphics.dpsm Provides boilerplate for dual-paraboloid shadow mapping (DPSM).
dagon.graphics.drawable Provides the core interface and grouping utilities for renderable objects.
dagon.graphics.entity Provides the scene graph node and component system.
dagon.graphics.environment Defines the environment class.
dagon.graphics.font FreeType font.
dagon.graphics.heightmap Provides interfaces and implementations for height data sources.
dagon.graphics.light Defines the core lighting system of the engine.
dagon.graphics.lod Provides level-of-detail (LOD) functionality.
dagon.graphics.material Defines the material system.
dagon.graphics.mesh Defines mesh data structure and utilities.
dagon.graphics.opensimplex An implementation of OpenSimplex noise.
dagon.graphics.particles A particle system.
dagon.graphics.pose An abstract interface for skeletal animation poses.
dagon.graphics.psm Provides boilerplate for perspective shadow mapping (PSM) that is used for spot lights.
dagon.graphics.screensurface A screen-aligned quad mesh for post-processing and fullscreen effects.
dagon.graphics.shader Provides classes and utilities for OpenGL shader management.
dagon.graphics.shadowmap Provides the base class for shadow mapping.
dagon.graphics.shapes Basic geometric shape classes.
dagon.graphics.state Graphics pipeline state.
dagon.graphics.terrain Provides classes and utilities for terrain rendering.
dagon.graphics.texproc Provides utilities for GPU-accelerated texture processing.
dagon.graphics.texture Provides a texture class and corresponding utilities.
dagon.graphics.tween Animation for entity properties.
dagon.graphics.updateable Provides the core interface for updateable objects.
dagon.graphics.world Provides the World class and related entity group classes for managing collections of entities in a scene.
dagon.render.framebuffer Framebuffer abstraction for Dagon's rendering system.
dagon.render.pass Base class for a render pass in Dagon's rendering pipeline.
dagon.render.pipeline The render pipeline abstraction for Dagon's rendering system.
dagon.render.renderer A high-level renderer abstraction for Dagon's rendering system.
dagon.render.view Provides the RenderView abstraction for Dagon's rendering system.
dagon.resource.gltf.accessor GLTF 2.0 accessor representation.
dagon.resource.gltf.animation GLTF 2.0 animation.
dagon.resource.gltf.buffer GLTF buffers.
dagon.resource.gltf.bufferview GLTF buffer view.
dagon.resource.gltf.decoder GLTF 2.0 decoder.
dagon.resource.gltf.mesh GLTF mesh.
dagon.resource.gltf.meshprimitive GLTF mesh primitive.
dagon.resource.gltf.node GLTF node.
dagon.resource.gltf.skin GLTF skin.
dagon.resource.asset Asset management tools.
dagon.resource.binary Provides support for loading and managing generic binary assets in Dagon.
dagon.resource.boxfs A virtual read-only file system for accessing files packed in Box archives.
dagon.resource.dds DirectDraw Surface (DDS) loader.
dagon.resource.entity Provides an entity asset class.
dagon.resource.gltf The main entry point for GLTF 2.0 support in Dagon.
dagon.resource.image Provides a SuperImage interface implementation for texture buffers in Dagon.
dagon.resource.material Material asset.
dagon.resource.obj OBJ mesh loader.
dagon.resource.scene Scene class.
dagon.resource.sdlimage Image decoder that uses SDL2_Image.
dagon.resource.text Plain text asset.
dagon.resource.texture Texture asset.
dagon.ui.firstpersonview A first-person camera control component.
dagon.ui.freeview Orbit/pan/zoom camera control component.
dagon.ui.textline A simple drawable text line for Dagon's UI system.
dagon.compute The main entry point for Dagon's GPU compute system.
dagon.core Provides the core modules and foundational utilities for Dagon applications.
dagon.extra Extra shaders and effects.
dagon.game The main entry point for Dagon's base functionality for building a game.
dagon.graphics The main entry point for Dagon's 3D graphics system.
dagon.render The main entry point for Dagon's rendering system.
dagon.resource Main entry point for Dagon's asset management system.
dagon.ui The main entry point for Dagon's user interface components.
dagon Dagon is a 3D game engine for D language based on OpenGL 4.0 and SDL2. It features deferred HDR renderer, PBR materials, an event manager, scene manager, asset manager, and entity-component model.