Skip to content

DreamRealm is a 3D Renderer for showing off all of the possible graphic techniques that can be done by your graphics hardware, communicating via an API for your graphics hardware to do its magic

License

Notifications You must be signed in to change notification settings

harlexkhal/DreamRealm

Repository files navigation

DreamRealm

DreamRealm is a 3D Rendering Engine built with C++ and the Opengl graphics API with upcoming support for Vulkan

Details:

Features implemented so far are:

  • Cmake support
  • Environment Light (Point light, Directional light)
  • Scene Camera
  • Cloud simulation using perlin noise texture lookup on pixel shaders
  • Distant Fog effect using linearized depth buffer technique
  • CrunchMath support for graphics related calculations
  • Mesh loading with support for animations with the Open Asset Import Library (assimp)
  • Image/Texture loading with STB image library
  • GLFW support for windows creation, reading input, handling events

Features to be implemented:

  • Anti-aliasing (MSAA Technique)
  • Instancing
  • Deferred Shading Technique
  • Shadow Mapping
  • Bloom Effects
  • High Dynamic Range Rendering (HDRR)
  • Physical Based Rendering (PBR)
  • Rainbow light
  • Text Rendering
  • Level Editor
  • Vulkan Support
  • Voxel Rendering
  • Ray Tracing

More Detailed Roadmap of DreamRealm:

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

The basic requirements for building the executable are:

  • CMake 3.8+
  • C++ compiler

Cloning the project

git clone --recursive https://github.com/harlexkhal/DreamRealm <Your-Build-Directory>

Building project with Cmake and building binaries

This program has been tested on Windows 10 and binaries built with visual studio 2019. but should work under any system that fulfils the aforementioned requirements.

Building Project Solution Files

Make sure to set the environmental path variable of cmake. then on the parent directory of the project using cli. run

cmake .

On Visual studio. Build project, on the first build you would get an error of missing assimp static library. rebuild project and it would be fixed. After a successful build from parent source directory go to DreamRealm\Dependencies\Assimp\bin\Debug and copy assimp-vc142-mtd.dll paste it into DreamRealm\Debug from parent directory. Now navigate to Dependencies\GLFW\src\Debug also from parent directory and copy glfw3d.dll then paste it into DreamRealm\Debug from parent directory. now in your current directory which is DreamRealm\Debug you would see the binary DreamRealm.exe. Now navigate to DreamRealm by going one directory backwards and copy the src folder and paste into DreamRealm\Debug. and now you are done you can run DreamRealm.exe from there or alternatively run it from the compiler.

Some screenshots along the way of developing: env2.gif env4.gif env5.gif Scene2.gif

Built With

Author

About

DreamRealm is a 3D Renderer for showing off all of the possible graphic techniques that can be done by your graphics hardware, communicating via an API for your graphics hardware to do its magic

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published