**Brick Room VR** **Brick Room VR** is the result of a four-hour VR game jam by [Morgan McGuire](https://twitter.com/CasualEffects) and [Michael Mara](https://twitter.com/mikemx7f). We used our [G3D Innovation Engine](http://g3d.cs.williams.edu) to build an OpenGL and C++ virtual reality program for the [Vive](https://www.htcvive.com/us/) head mounted display. We also configured our research lab to exactly match the layout of the virtual room. This means that the player is in a 4m x 4m x 2.5m virtual room where the tables, windows, walls, and bookcase can actually be touched in the real world. You can lean on the physical window sill while looking through the virtual window, or put the controllers down on the virtual table without them falling to the real floor. ![](https://www.youtube.com/watch?v=II-hECDUGmQ) To quickly generate the 3D model for this scenario, we used [LeoCad](http://www.leocad.org/trac) to create a giant scene from children's building toys. We also used the NVIDIA [PhysX SDK](https://developer.nvidia.com/physx-sdk) to simulate dynamics for the piles of free blocks. G3D provides built-in VR rendering support via the [OpenVR SDK](https://github.com/ValveSoftware/openvr). At the time of the jam and in the recorded video, we ran the program on a single GeForce 980, which should be sufficient if you wish to run it yourself. We've since upgraded the demo machine to use a GeForce TitanX for rendering and the GeForce 980 for PhysX to allow much more complex scenes at the same 90 fps, 1080p x 2 quality with low latency. You can [download](brickroomvr.zip) the full source for our project as a reference example of integrating G3D, VR, and PhysX. This program requires several free tools to compile: - Microsoft [Visual Studio](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) 2015 - The SVN top of tree for [G3D](http://g3d.cs.williams.edu) revision from 31-Mar-2016 - The Valve [Steam](http://store.steampowered.com/about/) Windows client It also requires a Vive, Vive Pre, or Vive beta. You can run the code against Oculus DK2 or any OpenVR-supported HMD, however only Vive's motion controllers will work. You must configure your room to match ours if you want the full experience.