GithubHelp home page GithubHelp logo

barracuda-neural-rendering-vr's Introduction

Real-time Barracuda Neural Rendering for VR

In this repository, we develop a general neural rendering pipeline for VR devices that can display in real-time. The pipeline is built on the Unity engine and Barracuda package. This demo contains two applications for neural rendering: scene style transfer and photorealistic human rendering. The Unity demo can be downloaded here.

Alt text

Pipeline

  • Given the real-time VR headset pose and scene mesh, we use the Unity multi-pass built-in renderer to obtain the raw rendered view from the current camera position and store it in the input texture.
  • In the neural rendering stage, we prepare a pre-trained neural rendering network in ONNX format and load it to the Barracuda. The input texture is firstly pre-processed with the cropping and down-sampling, then is passed to the neural network inference module for rendering.
  • Finally, the result is post-processed with the up-sampling and copied back to the output texture.

Alt text

Control

We have tested the demo on the Oculus Quest 2.

  • Left Thumbstick to control the position of the camera
  • Right Thumbstick to change the view direction of the camera
  • X to enable neural rendering
  • A to disable neural rendering
  • B to reset the camera to the original position

Alt text

Usage

  1. Use trigger to select a neural rendering model (NNModel) (human rendering or scene transfer) from the left menu.
  2. Use trigger to select a mesh for testing from the right menu.
  3. Click X to enable neural rendering.
  4. Use left/right Thumbstick to freely explore the scene!
  5. Click A to disable neural rendering and try other scenes.

More instructions can be found in this demo video.

barracuda-neural-rendering-vr's People

Contributors

chiaki530 avatar

Watchers

 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.