All Projects → christoskaramou → PhasmaEngine

christoskaramou / PhasmaEngine

Licence: MIT license
3D Graphics Engine

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
HLSL
714 projects
CMake
9771 projects
Batchfile
5799 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to PhasmaEngine

pygfx
Like ThreeJS but for Python and based on wgpu
Stars: ✭ 72 (+84.62%)
Mutual labels:  vulkan, 3d-graphics
Vkquake2
id Software's Quake 2 v3.21 with mission packs and Vulkan support (Windows, Linux, MacOS, FreeBSD, Raspberry Pi 4)
Stars: ✭ 543 (+1292.31%)
Mutual labels:  vulkan, 3d-graphics
osre
An open source render engine
Stars: ✭ 95 (+143.59%)
Mutual labels:  vulkan, 3d-graphics
Berserk
[WIP] High performance 3D graphics game engine
Stars: ✭ 31 (-20.51%)
Mutual labels:  vulkan, 3d-graphics
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 (+29894.87%)
Mutual labels:  vulkan, 3d-graphics
rend3
Easy to use, customizable, efficient 3D renderer library built on wgpu.
Stars: ✭ 546 (+1300%)
Mutual labels:  vulkan, 3d-graphics
panic-panda
A 3D rendering demo powered by Python and Vulkan
Stars: ✭ 67 (+71.79%)
Mutual labels:  vulkan, 3d-graphics
nautilus
another graphics engine
Stars: ✭ 16 (-58.97%)
Mutual labels:  vulkan, 3d-graphics
Vktk
Vulkan Toolkit
Stars: ✭ 32 (-17.95%)
Mutual labels:  vulkan, 3d-graphics
Vkquake
Vulkan Quake port based on QuakeSpasm
Stars: ✭ 955 (+2348.72%)
Mutual labels:  vulkan, 3d-graphics
SourceRenderer
A tiny 3D engine that loads and renders Source engine maps - Also known as dreieck.exe
Stars: ✭ 32 (-17.95%)
Mutual labels:  vulkan, 3d-graphics
Filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Stars: ✭ 13,215 (+33784.62%)
Mutual labels:  vulkan, 3d-graphics
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 (+230.77%)
Mutual labels:  vulkan, 3d-graphics
Vkdoom3
Vulkan DOOM 3 port based on DOOM 3 BFG Edition
Stars: ✭ 566 (+1351.28%)
Mutual labels:  vulkan, 3d-graphics
Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (+100%)
Mutual labels:  vulkan, 3d-graphics
Yave
Yet Another Vulkan Engine
Stars: ✭ 211 (+441.03%)
Mutual labels:  vulkan, 3d-graphics
wluma
Automatic brightness adjustment based on screen contents and ALS
Stars: ✭ 290 (+643.59%)
Mutual labels:  vulkan
obs-vkcapture
OBS Linux Vulkan/OpenGL game capture
Stars: ✭ 332 (+751.28%)
Mutual labels:  vulkan
Vpp
Modern C++ vulkan utility library.
Stars: ✭ 245 (+528.21%)
Mutual labels:  vulkan
nub
A rendering and interaction Processing library
Stars: ✭ 28 (-28.21%)
Mutual labels:  3d-graphics

PhasmaEngine

PhasmaEngine is intended as a project for learning 3D graphics and techniques, using Vulkan API (and soon DirectX12). Until now these are the most important features PhasmaEngine has:

  • Deffered Rendering
  • Physical Based Rendering
  • Screen Space Reflections
  • Screen Space Ambient Occlusion
  • Tone Mapping - HDR
  • Image Based Lighting
  • Volumetric Lighting
  • Depth of Field
  • Upscale (FRS2)
  • FXAA
  • Bloom
  • Motion Blur
  • Cascaded Shadows
  • Functional and Interactive GUI (ImGui)
  • Scripts with C# (Mono) (Turned off for now)
  • Event System
  • Frutum Culling
  • Animation
  • Cube Map Reflections
  • CPU/GPU Metrics

Here is a demo video with some of these features.

Screenshot Screenshot Screenshot Screenshot

Building and Compiling

Phasma is using CMake to configure and generate the project files.
The CMakeLists.txt file is in the root folder.

CMake

Download CMake and install it.
See CMake documentation for more information on how to use it.

CMake tools

Alternatively you can use CMake tools. Different IDEs can provide these tools as a plugin or an extension, which can make the building proccess automated. For example with Visual Studio you can open a folder (instead of a .sln project). If this folder contains a CMakeLists.txt in it, it will auto detect it and it will start CMake configuration and generarion.

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].