xx3000 / mTec

Efficient rendering with distance fields

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mTec - Efficient Rendering with Distance Fields

Master Thesis by Michael Mroz

In modern real-time rendering, there is a large focus on producing photorealistic qualities in images. Most techniques used to produce these effects were developed with older, less powerful hardware in mind and sacrifice visual fidelity for fast computation. Now that more and more powerful hardware has been developed, research into alternatives for these well-established techniques has gained traction in the field of computer graphics. Distance fields are one of these contemporary alternatives, and they offer more intuitive approaches to well-established techniques such as ambient occlusion and object shadows.
This thesis gives an in-depth look into the most common distance field effects and presents a variety of acceleration techniques to show the viability of distance fields for modern game development.

Please refer to the slides from my talk at the University of Pennsylvania for an introduction into the topic of distance fields or my thesis for more in-depth information.

Implementation

The entire code of the mTec renderer can be downloaded from this repo. Please note that Visual Studio and FreeGLUT/GLEW are required to compile an executable.

Keyboard Controls:

q - quit
Arrow Keys - Move
v/space - Up/Down
Mouse Left + Mouse Move - Camera Look
w - recompile shaders
e - toggle rotation
r - toggle rotation speed
a - toggle animation
d - count average frametime
s - toggle TAA

If the compilation of the project fails because of an GPP.exe error, please recompile a new General PreProcessor exe and add it to the project.

About

Efficient rendering with distance fields

License:MIT License


Languages

Language:C++ 95.4%Language:C 2.4%Language:GLSL 1.7%Language:SourcePawn 0.4%Language:Component Pascal 0.1%Language:CMake 0.0%