Skip to content

redthing1/rengfx

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 

rengfx

RE ENGINE FX

DUB Package

lightweight, expressive, extensible game engine

blocks demo gif

table demo gif

features

  • only library dependency is raylib
  • engine features
    • combined, mixable 2d and 3d graphics support
    • cross platform, system-independent graphics
    • composable, modular game components and rendering
    • virtual input for transparent rebinding and cross platform input
    • vector/matrix math hidden behind nice abstractions
  • modular, data-driven Scene-Entity-Component architecture
    • full headless execution support, making unit tests simple
    • emphasis on simplicity and readability, avoidance of unnecessary abstraction
    • multi scene layering and compositing
    • highly extensible with custom components and logic
    • everything can be overrided or extended
  • fluent debugging
    • real time runtime debug console and inspector
  • simple and powerful glsl shaders
    • bulit-in shaders for stylized lighting and postprocessing
    • streamlined shaders api for custom glsl shaders
  • wip
    • wip: physics support and integration
    • wip: tilemaps with tiled

documentation

hacking

requirements:

  • make and a C compiler (gcc, clang)
  • dub and a D compiler (dmd, gdc, ldc)

rengfx depends on raylib (via dray bindings). by default, dray will run a pre-generate script that automatically builds raylib.

build engine:

dub test # run tests
dub build # build library

open docs locally:

dub run -b ddox

run demo:

cd demo/<name>
dub run # run demo

license

copyright © 2020-2022, redthing1.

available to use under the LGPL v3.0.

libraries: