GithubHelp home page GithubHelp logo

gameconstructer / moravaengine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dtrajko/moravaengine

0.0 0.0 0.0 713.05 MB

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.

License: Apache License 2.0

GLSL 7.40% C++ 81.72% C 7.99% CMake 0.73% C# 1.26% Haskell 0.67% HLSL 0.22%

moravaengine's Introduction

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

moravaengine's People

Contributors

dtrajko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.