Skip to content

Meliothep/CloudEngine

Repository files navigation

CloudRender: Server-Side 3D Engine

CloudEngine is a 3D rendering engine using Vulkan, designed to run on a server.
Its main goal is to minimise redundant server-side work during rendering and stream every client viewport, allowing multiple clients to view and interact with a common scene efficiently even with minimal material.


Project structure

CloudEngine/
├─ apps/
│ ├─ Client/ # Client application
│ │ ├─ CMakeLists.txt
│ │ └─ src/main.cpp
│ ├─ Server/ # Server application
│ │ ├─ CMakeLists.txt
│ │ └─ src/main.cpp
│ └─ RendererTest/ # Test utilities
│    ├─ CMakeLists.txt
│    └─ src/main.cpp
├─ libs/
│ └─ VulkanRenderer/ # Rendering library
│    ├─ CMakeLists.txt
│    ├─ include/VulkanRenderer/VulkanRenderer.hpp
│    └─ src/VulkanRenderer.cpp
├─ CMakeLists.txt
├─ CMakePresets.json
├─ .gitignore
├─ vcpkg.json
└─ vcpkg-configuration.json

Requirements

  • Vulkan SDK installed locally.
  • vcpkg for dependency management.
  • Visual Studio BuildTools (or full compiler setup).
  • CMake (≥ 3.21 recommended).
  • Ninja (for building).

Building

Install dependencies via vcpkg:

cmake --preset=vcpkg

Build:

cmake --build build --target Client
cmake --build build --target Server
cmake --build build --target VulkanRenderer
cmake --build build --target RendererTest

Each target corresponds to its respective module:

  • Client → client application
  • Server → server application
  • VulkanRenderer → rendering library
  • RendererTest → testing utilities

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors