All Projects → iftodebogdan → GITechDemo

iftodebogdan / GITechDemo

Licence: GPL-3.0 license
Global illumination technical demo - a continuation of the Synesthesia3D (ex-LibRenderer) graphics engine used in https://github.com/iftodebogdan/ShaderEditor

Programming Languages

C++
36643 projects - #6 most used programming language
HLSL
714 projects
python
139335 projects - #7 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to GITechDemo

Adria-DX12
Graphics engine written in C++/DirectX12
Stars: ✭ 18 (-60%)
Mutual labels:  graphics-engine, motion-blur, deferred-rendering, shadow-mapping, physically-based-rendering, screen-space-reflections, volumetric-lighting
Adria-DX11
Graphics engine written in C++ using DirectX11
Stars: ✭ 87 (+93.33%)
Mutual labels:  graphics-engine, global-illumination, bokeh, deferred-rendering, shadow-mapping, physically-based-rendering, volumetric-lighting
Rasterizer
CPU forward/deferred rasterizer with depth-buffering, texture mapping, normal mapping and blinn-phong shading implemented in C++
Stars: ✭ 77 (+71.11%)
Mutual labels:  deferred-rendering, shadow-mapping, blinn-phong
Overload
3D Game engine with editor
Stars: ✭ 335 (+644.44%)
Mutual labels:  graphics-engine, physically-based-rendering
ElkEngine
Simple graphics engine used as submodule in many of my projects
Stars: ✭ 54 (+20%)
Mutual labels:  graphics-engine, physically-based-rendering
Arcane Engine
3D C/C++ Game Engine - Created By Brady Jessup
Stars: ✭ 242 (+437.78%)
Mutual labels:  graphics-engine, physically-based-rendering
limitless-engine
OpenGL C++ Graphics Engine
Stars: ✭ 95 (+111.11%)
Mutual labels:  bloom, graphics-engine
Exploring-SceneKit
👾 An app created to explorer the features of SceneKit iOS framework. Assets load (Model I/O), interaction, animation, classical rendering (Blinn-Phong), physically based rendering.
Stars: ✭ 52 (+15.56%)
Mutual labels:  physically-based-rendering, blinn-phong
mcrt
Monte Carlo Raytracer from Scratch in C++11/14
Stars: ✭ 22 (-51.11%)
Mutual labels:  global-illumination
cadise
A developing physically-based hobby renderer written in C++.
Stars: ✭ 30 (-33.33%)
Mutual labels:  physically-based-rendering
bloom
Go package implementing Bloom filters
Stars: ✭ 1,752 (+3793.33%)
Mutual labels:  bloom
dft-wiener-deconvolution-with-psf
Python2 (OpenCV, NumPy) application to refocus blurred images using Wiener deconvolution.
Stars: ✭ 45 (+0%)
Mutual labels:  motion-blur
Image-Processing-Library
Library for processing and manipulating images.
Stars: ✭ 36 (-20%)
Mutual labels:  motion-blur
BeatSaber Tweaks55
A collection of various tweaks which by themselves are too simple for their own designated mods
Stars: ✭ 26 (-42.22%)
Mutual labels:  bloom
variance shadow mapping vk
Variance shadow mapping for omni lights with Vulkan
Stars: ✭ 27 (-40%)
Mutual labels:  shadow-mapping
testing-pbr
Various tests of Physically-Based Rendering via Three.js
Stars: ✭ 38 (-15.56%)
Mutual labels:  physically-based-rendering
RavEngine
A fast, easy to use C++20 3D game library for modern computers
Stars: ✭ 122 (+171.11%)
Mutual labels:  graphics-engine
svbrdf-estimation
SVBRDF Estimation using a Physically-based Differentiable Renderer
Stars: ✭ 16 (-64.44%)
Mutual labels:  brdf
systole
Systole: A python package for cardiac signal synchrony and analysis
Stars: ✭ 51 (+13.33%)
Mutual labels:  bokeh
kinieta
A Fast Animation Engine with an Intuitive API
Stars: ✭ 44 (-2.22%)
Mutual labels:  graphics-engine

GITechDemo Build status

Global illumination technical demo

GITechDemo v1.6.1 screenshot

GITechDemo is a global illumination technical demo application developed using a proprietary rendering engine and incorporates the following rendering techniques:

  • Physically based rendering pipeline implementation
  • High-dynamic-range rendering
  • Deferred shading
  • Cook-Torrance, Blinn-Phong, Ashikhmin-Shirley and Ward BRDFs
  • Cascaded shadow maps
  • Percentage-closer filtering for soft shadows
  • Ray marched volumetric lighting
  • Reflective shadow maps for indirect illumination
  • Screen space ambient occlusion
  • Screen space reflections
  • Depth of field with bokeh
  • Camera motion blur
  • Bloom
  • Anamorphic lens flares
  • Filmic tone-mapping
  • Fast approximate anti-aliasing (FXAA)
  • Film grain

Its purpose is to provide a testbed for accelerating the research, development and assessment of various rendering techniques for educational purposes or as proof of concept. It also serves as a showcase for the underlying proprietary graphics engine, Synesthesia3D, and aids in its continued development by exposing missing features or various bugs.

Getting started

Hardware requirements

You will need a PC running the Windows operating system (tested on 7 and 10, both x64, but any flavour since XP and x86 should work) and equipped with a DirectX 9.0c compliant video card (i.e. with support for Shader Model 3.0), with the latest drivers installed.

Software requirements

You will need Visual Studio 2019 in order to compile the code. You can grab the free Community Edition from their official website. Older versions of Visual Studio, with older platform toolsets (i.e. pre-v141), should also work with minimal modifications, since GITechDemo was, until recently, compiled using the Visual Studio 2010 toolset (v100). If you do end up using another version of Visual Studio, make sure that all projects that link against Synesthesia3D are built with the same platform toolset as the latter, because of the presence of some STL objects on the DLL boundary (will be resolved at a later time). Also make sure you have installed the DirectX Software Development Kit

Compiling from source code guide

Open the solution file found at "GITechDemo/Code/Solutions/GITechDemo.sln", open the Solution Explorer and right-click on the project titled 'GITechDemo'. From the context menu, choose the option 'Set as StartUp Project'. Right-click it again, but this time choose the option 'Properties'. A new window will appear, titled 'GITechDemo Property Pages'. From the drop-down list named 'Configuration' choose the option 'All Configurations' and from the one named 'Platform' choose 'All Platforms'. Next, select 'Configuration Properties' > 'Debugging', from the list box on the left-hand side, and set the working directory to '..\..\Data'. Press F5 and click on 'Yes' when asked if you want to build the projects.

Congratulations! You've successfully built and ran GITechDemo! If you've encountered any problems along the way, be sure to create an issue.

Release builds

As an alternative to creating your own binaries from the latest code base, you could also check out some of the already existing release builds which include x86 and x64 executables in both Release and Profile configurations, with the latter having profile markers inserted at key points in the rendering pipeline. These will aid profiling tools, such as PIX for Windows or Intel GPA, in organizing captured draw calls. Make sure you have installed the Microsoft Visual C++ Redistributable for Visual Studio 2019 for x86 and/or x64 systems and the DirectX End-User Runtimes (June 2010) before attempting to launch the application. Always use the .bat files to run the application, never the executable directly, since it requires the working directory to be set to the data folder.

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