cfnptr / uran

Multi-platform game engine written in C
Apache License 2.0
5 stars 2 forks source link
2d 3d application c cmake cpp editor engine framework game graphics library linux macos opengl rendering vulkan windows

Successor ----> Garden

Uran CI

Rendering Demo

Work in Progress!

Supported operating systems

Build requirements

macOS: select System global installation during Vulkan SDK setup.

X11 installation

OpenSSL installation

CMake options

Name Description Default value
URAN_BUILD_SHARED Build Uran shared library ON
URAN_BUILD_EXECUTABLE Build Uran executable program OFF

CMake variables

Name Description
URAN_PROGRAM_NAME Custom program executable name
URAN_PROGRAM_SOURCES Custom program source files
URAN_PROGRAM_INCLUDES Custom program include directories
URAN_PROGRAM_LIBRARIES Custom program link libraries
URAN_MACOS_INFO_PLIST Custom macOS bundle Info.plist
URAN_MACOS_RESOURCES Custom macOS bundle resources

Cloning

git clone --recursive https://github.com/cfnptr/uran

Pack creation

Using a runtime-optimized Pack library, you can store all game resources in compressed archives. It produces a resources.pack file with locally zipped and sorted game resources. (shaders, images, models, etc.) You can easily pack all resources using the resources/pack-XXXX.sh script.

Third-party