All Projects → dtrajko → MoravaEngine

dtrajko / MoravaEngine

Licence: Apache-2.0 License
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.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
GLSL
2045 projects
C#
18002 projects
CMake
9771 projects
haskell
3896 projects
HLSL
714 projects

Projects that are alternatives of or similar to MoravaEngine

Yave
Yet Another Vulkan Engine
Stars: ✭ 211 (+63.57%)
Mutual labels:  shaders, rendering, vulkan, pbr, 3d-graphics
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+82.17%)
Mutual labels:  rendering, vulkan, glsl, pbr
Glchaos.p
3D GPUs Strange Attractors and Hypercomplex Fractals explorer - up to 256 Million particles in RealTime
Stars: ✭ 590 (+357.36%)
Mutual labels:  rendering, imgui, glsl, particles
Perlin-Noise-3D-Voxel-Generator
Voxel generator based on perlin 3d noise | Python OpenGL
Stars: ✭ 22 (-82.95%)
Mutual labels:  shaders, voxel, glsl, voxel-engine
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+1560.47%)
Mutual labels:  rendering, vulkan, directx, pbr
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 (+8968.22%)
Mutual labels:  shaders, vulkan, glsl, 3d-graphics
Renderer
A shader-based software renderer written from scratch in C89
Stars: ✭ 1,366 (+958.91%)
Mutual labels:  shaders, rendering, pbr, 3d-graphics
YALCT
Yet Another Live Coding Tool - Powered by Veldrid and elbow grease
Stars: ✭ 25 (-80.62%)
Mutual labels:  shaders, vulkan, glsl
delphi3d-engine
A 3D-graphic and game engine for Delphi and Windows.
Stars: ✭ 52 (-59.69%)
Mutual labels:  rendering, directx, 3d-graphics
Messier87
A realtime raytracing blackhole renderer
Stars: ✭ 53 (-58.91%)
Mutual labels:  shaders, rendering, glsl
harfang3d
HARFANG 3D source code public repository
Stars: ✭ 173 (+34.11%)
Mutual labels:  vulkan, directx, pbr
Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (+52.71%)
Mutual labels:  shaders, directx, 3d-graphics
surface splatting
OpenGL demo of a point rendering and texture filtering technique called Surface Splatting.
Stars: ✭ 125 (-3.1%)
Mutual labels:  shaders, rendering, imgui
isosurface
Isosurface extraction using Marching Cubes and pure WebGL.
Stars: ✭ 66 (-48.84%)
Mutual labels:  shaders, marching-cubes, phong-lighting
Simplerenderengine
Small C++14 render engine
Stars: ✭ 253 (+96.12%)
Mutual labels:  shaders, rendering, imgui
RavEngine
A fast, easy to use C++20 3D game library for modern computers
Stars: ✭ 122 (-5.43%)
Mutual labels:  shaders, vulkan, directx
pilka
Another live-coding tool for creating shader demos, Vulkan+Wgpu powered.
Stars: ✭ 84 (-34.88%)
Mutual labels:  shaders, vulkan, glsl
limitless-engine
OpenGL C++ Graphics Engine
Stars: ✭ 95 (-26.36%)
Mutual labels:  glsl, pbr, 3d-graphics
VoxelTerrain
This project's main goal is to generate and visualize terrain built using voxels. It was achieved using different approaches and computing technologies just for the sake of performance and implementation comparison.
Stars: ✭ 37 (-71.32%)
Mutual labels:  voxel, directx, marching-cubes
SdfFontDesigner
Offline font tuning/bitmap generation via shaders
Stars: ✭ 56 (-56.59%)
Mutual labels:  shaders, imgui, glsl

MoravaEngine

About

2D/3D graphics engine written in C++ language.

It currently supports the following graphics APIs:

  • OpenGL 4.5+
  • Vulkan 1.2
  • DirectX 11

Its current purpose is to experiment with various CG concepts and techniques:

  • Phong lighting model
  • Shadows (directional light, omni-directional shadows)
  • Physically based rendering (PBR)
  • Image based lighting (IBL)
  • Screen-space ambient occlusion (SSAO)
  • Particle systems
  • Instanced rendering
  • Surface reflection and refraction
  • Framebuffers
  • Post-processing
  • Level of detail
  • Scene editor
  • Perlin noise generator
  • Procedural landmass generation
  • Voxel based volumes
  • Marching cubes algorithm
  • Physics simulations
  • Skeletal animation

Credits

Installation

Build automation based on CMake (in progress)

Project setup:

$ git clone --recursive https://github.com/dtrajko/MoravaEngine.git
$ cd MoravaEngine
  • Build the MoravaEngine with CMake
$ mkdir ./MoravaEngine/build
$ cd ./MoravaEngine/build
$ cmake ..
  • Open the solution ./MoravaEngine/build/MoravaEngine.sln

  • Change Runtime Library from Multi-threaded DLL to Multi-threaded for the project glfw3
    Go to Properties > Configuration Properties > C/C++ > Code Generation > Runtime Library
    Change Runtime Library to either
    "Multi-threaded Debug (/MTd)" (Debug) or
    "Multi-threaded (/MT)" (Release)
    (All projects in MoravaEngine solution should have the Runtime Library option set to either /MTd (Debug) or /MT (Release))

  • Build projects DirectXTex and glfw3

  • Build the project MoravaEngine

Keyboard and Mouse shortcuts

  • Add Mesh or Model: Left CTRL + Left Mouse Button
  • Camera Rotation: Right Mouse Button
  • Camera Movement: W) forward, A) left, S) back, D) right, Q) down, E) up
  • Fast Movement: Left SHIFT + W|A|S|D|Q|E
  • Enable Gizmo: TAB + Left Mouse Button
  • Toggle Gizmo Modes: 1) Translate, 2) Scale, 3) Rotate, 4) Disable
  • Scene Save: Left CTRL + S
  • Scene Reset: Left CTRL + R
  • Scene Load: Left CTRL + L
  • Toggle Wireframe Mode: R
  • Copy scene object: Left CTRL + C

Images

image

image

image

image

image

image

image

image

image

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