1
0
Fork 0
Galaxy down to atom voxel game
 
 
 
Go to file
May B. 6d2e75e5e8 Textures update 2021-01-29 18:00:46 +01:00
deps New year reboot 2021-01-20 17:13:15 +01:00
resource Textures update 2021-01-29 18:00:46 +01:00
src Textures update 2021-01-29 18:00:46 +01:00
.gitattributes Just a Vulkan triangle 2020-09-27 00:05:43 +02:00
.gitignore Textures update 2021-01-29 18:00:46 +01:00
.gitlab-ci.yml Link time optimization 2020-11-15 14:44:13 +01:00
CMakeLists.txt New year reboot 2021-01-20 17:13:15 +01:00
Doxyfile New year reboot 2021-01-20 17:13:15 +01:00
LICENSE Initial commit 2020-07-06 21:18:29 +02:00
README.md Textures update 2021-01-29 18:00:46 +01:00
TODO.md Optimizations 2021-01-26 16:18:30 +01:00

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