GithubHelp home page GithubHelp logo

mengdada / mtec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xx3000/mtec

0.0 0.0 0.0 107.16 MB

Efficient rendering with distance fields

License: MIT License

C++ 95.39% Component Pascal 0.06% GLSL 1.66% SourcePawn 0.42% C 2.41% CMake 0.05%

mtec's Introduction

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.

mtec's People

Contributors

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