Skip to content
/ Lemao Public

Game engine written in Rust, without any dependencies except the most necessary ones (WinAPI, OpenGL, OpenAL, and bindgen to generate bindings).

License

Notifications You must be signed in to change notification settings

Tearth/Lemao

Repository files navigation

Lemao

Simple game engine written in Rust, without any dependencies except the most necessary ones (WinAPI, OpenGL, OpenAL, and bindgen to generate bindings).

Supported asset formats:

  • textures: BMP (8/24/32 bits per pixel)
  • fonts: BFF (8/24/32 bits per pixel)
  • audio: WAV (mono and stereo)

This project is done entirely for fun and challenge, so it doesn't have a lot of components present in other modern engines - nevertheless, the goal is to make it fully functional at some point.

Lemao components:

  • lemao-bindgen - bindgen fork with a custom change allowing to generate function pointers without Option wrapper
  • lemao-core - the main subsystem containing the renderer and coordinating the work of other components
  • lemao-framework - entity-component-system framework with a set of other utilities
  • lemao-math - a set of math helpers (vectors, matrices, colors) with support for SIMD
  • lemao-openal - binding for OpenAL
  • lemao-opengl - binding for OpenGL
  • lemao-physics - basic physics engine with a support for boxes, circles, rotational responses and friction
  • lemao-platforms
    • lemao-common-platforms - common interface implemented by all window subsystems
    • lemao-linux-x11 - window subsystem for Linux and X11
    • lemao-windows-winapi - window subsystem for Windows and WinAPI
  • lemao-ui - a set of UI components

UI UI UI

About

Game engine written in Rust, without any dependencies except the most necessary ones (WinAPI, OpenGL, OpenAL, and bindgen to generate bindings).

Resources

License

Stars

Watchers

Forks