Giter Site home page Giter Site logo

indirectocclusionculling's Introduction

Indirect Occlusion Culling

Since VR and the trend in big virtual open worlds continues to grow, occlusion culling stays a hot topic of research. This project is an implementation of the occlusion culling technique created by Evgeny Makarov from NVIDIA described in the NVIDIA Advanced Scene Graph Rendering Pipeline presented in 2013 at GPU Technology Conference slides. http://on-demand.gputechconf.com/gtc/2013/presentations/S3032-Advanced-Scenegraph-Rendering-Pipeline.pdf

The demo loads and renders 16 sponza scenes and lets the user toggle full GPU driven occlusion culling to see the performance difference. Even on an intel iris 5100 it should run in realtime using execute indirect occlusion culling.

The CFC engine is an experimental framework that provides aquick and easy render pipeline prototyping possibilities. Currently only DX12 is supported.

Build:

run Buildscripts/generate_vs2015_win64.bat open Build/windows-64/CFC.sln compile and run the project in either debug or release A huge thanks to the makers of the following libs, content and tools:

premake4 (genie fork) microprofile imgui libcollision stb utf8dec crytek sponza (I downsized the textures for ease of download)

indirectocclusionculling's People

Contributors

jjoosten avatar

Stargazers

 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

Forkers

happydpc

indirectocclusionculling's Issues

Crashes on load due to invalid buffer formats

App crashes due to device being removed after loading the models

If I enable the debug layer I get this output after the model has been loaded:

D3D12 ERROR: ID3D12Device::CreateShaderResourceView: For the resource format D24_UNORM_S8_UINT, when making a D3D view, the format name for the view can't be R24_UNORM_X8_TYPELESS. See documentation for the set of valid view format names for this resource format, determining which how the resource (or part of it) will appear to shader. [ STATE_CREATION ERROR #28: CREATESHADERRESOURCEVIEW_INVALIDFORMAT]
D3D12: Removing Device.

This fires on line 460 of scene.cpp.

I'm not quite sure why this fails, but I don't know D3D12 well enough. I would have thought those two formats should be compatible :-/

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.