Galaxy down to atom voxel game
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Shu 6d2e75e5e8 Textures update 6 months ago
deps New year reboot 6 months ago
resource Textures update 6 months ago
src Textures update 6 months ago
.gitattributes Just a Vulkan triangle 10 months ago
.gitignore Textures update 6 months ago
.gitlab-ci.yml Link time optimization 9 months ago
CMakeLists.txt New year reboot 6 months ago
Doxyfile New year reboot 6 months ago
LICENSE Initial commit 1 year ago
README.md Textures update 6 months ago
TODO.md Optimizations 6 months ago

README.md

Univerxel

Work in progress galaxy down to atom (mostly centimeter) online voxel game

Table of Contents

About The Project

Experimental project using OpenGL and Vulkan.

Built With

  • C++
  • OpenGL
  • Vulkan
  • ImGui
  • PicoQUIC
  • FasNoise2
  • Love and insomnia

Run it

Get a release compatible with your system window library or build it

Prerequisites

  • OpenGL or Vulkan driver
  • OpenSSL 1.1+

Usage

./univerxel

Profit !

Build

To get a local copy up and running, follow these simple steps.

Prerequisites

  • C++17
  • CMake 3.11
  • System window headers (xorg-dev)
  • OpenGL, Vulkan and OpenSSL headers

Optionally

  • Python: utility scripts
  • Tracy v0.7: profiling
  • glslc: build vk shaders
  • Imagemagick: build textures (convert jpg to png)
  • Compressonator: build textures (compress dds)
  • Doxygen, graphviz: generate documentation

Installation

  1. Clone the project repo
git lfs clone --recursive https://framagit.org/univerxel/univerxel.git
  1. Create build folder and move
mkdir build && cd build
  1. Setup CMake
cmake <options> ..

CMake options: -DKEY=VAL

Key Usage Default
CMAKE_BUILD_TYPE Level of optimization Release
PROFILING Tracy profiling 0
LOG_DEBUG Debug logs 0
LOG_TRACE Trace logs 0
IPO Link time optimisation 1
LD_GOLD Use gold linker 1
CCACHE Use code cache 1
NATIVE Optimize for native CPU 0
RENDER_VK Include Vulkan renderer 1
  1. Compile
cmake --build . --parallel --target <target>
Target Description
univerxel All in one
univerxel-server Standalone server
univerxel-client Light client
docs Doxygen documentation

Additionally

  1. Recompile Vulkan shaders
cd resource/shaders-src
./compile.sh # Use glslc
GLSL="glslValidator -V" ./compile.sh # Other glslang compiler
  1. Rebuild textures
cd resource/textures-src
PACK=<name> ./compile.sh # Build texture pack dds

Windows

  1. Setup Visual Studio 2017+ with C++
  2. Clone picotls and picoquic in a separate directory
  3. Set %OPENSSL64DIR% and check WindowsPort.md and Readme.md note from respective library
  4. Compile then with MsBuild
  5. Copy picoquic.lib, picotls-openssl.lib and picotls-fusion.lib to build/libs
  6. Build univerxel with cmake -A x64 and MsBuild

RoadMap

See Features

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Shu - /me - me@wadza.fr

Public repository