Git Product home page Git Product logo

deferredengine's Introduction

Deferred Engine For Monogame

by https://twitter.com/kosmonautgames

Feedback -> http://community.monogame.net/t/deferred-engine-playground-download/8180
        -> https://kosmonautblog.wordpress.com/

Alt text

Features:

  • an easy to use viewer, with lots of GUI options
  • G-buffer creation with support for physically based materials ( albedo, normal, roughness, metallic, mask)
  • Cook-Torrance specular shading and Oren-Nayar diffuse shading for point lights
  • light and mesh frustum culling
  • deferred point lights, directional lights and environment mapping
  • soft shadows
  • dynamically updating point light shadows depending on scene changes
  • temporal anti-aliasing
  • HDR Bloom
  • screen space ambient occlusion (HBAO)
  • screen sapce reflections
  • linear HDR pipeline.
  • EXPERIMENTAL: screen space emissive materials (not updated to work right now)

Controls:

  • " ^ " / the key above TAB : debug console with suggestions (tab to autocomplete)
  • Space: Go into editor mode
    • R / T: Change transformation gizmos between translation and rotation
    • Del : Delete object
    • Insert : Copy object
  • WASD : move the camera
  • right mouse drag : rotate the camera
  • F1 : Cycle through render targets (albedo, normals, depth etc.)

How to manipulate the scene

  • See the Main / MainLogic.cs for details. Manipulate and add scene objects in Initialize() and Update();

Notes:

This solution provides a basic 3d deferred rendering engine implemented in Monogame. You will need to have Monogame (3.6.0187 or newer) installed and Visual Studio 2013+ to compile.

This is not intended to be an engine used for custom programs / games, but rather a playground which makes it easy to understand and implement custom shaders.

The sample scene contains the Sponza Atrium (from Crytek), the Stanford Dragon (http://www.cc.gatech.edu/projects/large_models/) and Daft Punk Helmets (by Anders Lejczak - http://www.colacola.se/expo_daft.htm)

deferredengine's People

Contributors

kosmonaut3d avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deferredengine's Issues

future plans?

This engine is awesome!
Are there any plans to separate the engine from the demo? Then this engine could be used to power general 3d games!

screen height discrepancies

I'm trying to fully understand the deferred engine to create another one similar but quite toned down for a game.

It seems there are some discrepancies between the height at GameSettings (720) which is used to create all render targets, and the height used in some shaders (i.e. SSAO, using 800). Is this intended (to create some kind of effect to blur the RT when blitting afterwards) or SSAO should be supposed to use the same resolution?

Thanks.

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.