All Projects → cdgiessen → VulkanRenderer

cdgiessen / VulkanRenderer

Licence: other
Personal repo for learning the vulkan graphics api

Programming Languages

C++
36643 projects - #6 most used programming language
GLSL
2045 projects
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to VulkanRenderer

makma
Makma is a deferred Vulkan renderer written in C++.
Stars: ✭ 77 (+83.33%)
Mutual labels:  vulkan, glsl, graphics-programming
MoravaEngine
2D/3D graphics engine written in C++ language. It currently supports the following graphics APIs: OpenGL 3.3+, Vulkan 1.2, DirectX 11. Its current purpose is to experiment with various CG concepts and techniques.
Stars: ✭ 129 (+207.14%)
Mutual labels:  vulkan, imgui, glsl
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+27752.38%)
Mutual labels:  vulkan, glsl, graphics-programming
SdfFontDesigner
Offline font tuning/bitmap generation via shaders
Stars: ✭ 56 (+33.33%)
Mutual labels:  procedural-generation, imgui, glsl
Procedural-Terrain-Generator-OpenGL
Procedural terrain generator with tessellation | C++ OpenGL 4.1
Stars: ✭ 98 (+133.33%)
Mutual labels:  procedural-generation, graphics-programming, procedural-terrain
CPP-Programming
Various C/C++ examples. DirectX, OpenGL, CUDA, Vulkan, OpenCL.
Stars: ✭ 30 (-28.57%)
Mutual labels:  vulkan, glsl
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+459.52%)
Mutual labels:  vulkan, glsl
FallingSandSurvival
2D survival game inspired by Noita and slightly Terraria
Stars: ✭ 66 (+57.14%)
Mutual labels:  procedural-generation, imgui
YALCT
Yet Another Live Coding Tool - Powered by Veldrid and elbow grease
Stars: ✭ 25 (-40.48%)
Mutual labels:  vulkan, glsl
Xacor
Experimental Game Engine
Stars: ✭ 24 (-42.86%)
Mutual labels:  vulkan, graphics-programming
Pumpkin-Engine
A powerful and capable 2d game engine in Kotlin
Stars: ✭ 1 (-97.62%)
Mutual labels:  imgui, game-engine-development
bgfx-python
Python 3.7+ wrapper for the BGFX library. 🐍
Stars: ✭ 99 (+135.71%)
Mutual labels:  vulkan, imgui
parametric surfaces
Parametric surfaces drawn using the Rust + WASM toolchain with WebGL, React, and TypeScript.
Stars: ✭ 43 (+2.38%)
Mutual labels:  glsl, graphics-programming
sph vulkan
SPH simulation in Vulkan compute shader.
Stars: ✭ 29 (-30.95%)
Mutual labels:  vulkan, glsl
awesome-glsl
🎇 Compilation of the best resources to learn programming OpenGL Shaders
Stars: ✭ 700 (+1566.67%)
Mutual labels:  glsl, graphics-programming
dw-sample-framework
A simple C++ framework for implementing graphics technique samples using OpenGL and Vulkan.
Stars: ✭ 76 (+80.95%)
Mutual labels:  vulkan, graphics-programming
glm
OpenGL Mathematics (GLM)
Stars: ✭ 6,667 (+15773.81%)
Mutual labels:  vulkan, glm
bigger
bigg (bgfx + imgui + glfw + glm) + utils
Stars: ✭ 101 (+140.48%)
Mutual labels:  imgui, glm
pilka
Another live-coding tool for creating shader demos, Vulkan+Wgpu powered.
Stars: ✭ 84 (+100%)
Mutual labels:  vulkan, glsl
nautilus
another graphics engine
Stars: ✭ 16 (-61.9%)
Mutual labels:  vulkan, graphics-programming

VulkanRenderer

C++17 Game Engine built on top of the Vulkan Graphics API

Used as a testing ground for learning various software techniques and solutions for engineering problems.

Undergone heavy revision since July 2017 and is still under construction.

Major Features

  • Terrain Renderer, Heightmap based with automatic level of detail adjustment using a Quadtree and memory pool for quick allocation.
  • Procedural Noise Texture Generator, Visual node graph using the FastNoiseSIMD library. An easy to use tool for creating custom procedural terrain. Implements saving and loading with json files. Uses Dear-ImGUI
  • Windows and Linux Support, Cross platform.
  • Multitasking System, (WIP) Thread pool based tasking system that enables task based multithreading of various jobs.
  • Frame Graph, (WIP) Takes all rendering operations and resources and abstracts into a single graph, enabling simpler code and reasoning about how a frame is rendered.

Build Process

Requirements: C++17 Compiler, CMake 3.11, Vulkan 1.1 SDK

git clone https://github.com/cdgiessen/VulkanRenderer
mkdir build
cd build
cmake ../VulkanRenderer

Screenshots

General view from a landscape

Visual Node Graph Example

Terrain Renderer in wireframe mode to show LOD

Plans

I plan to include the aforementioned Multitasking system and Frame Graph as well as the following:

  • Depth Prepass
  • Forward+ lighting
  • Shader creator - allowing easy shader creation
  • glTF model loading
  • Terrain scatter/futher terrain details
  • Procedural Sky Shader
  • Integrate Bullet Physics
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].