GLSL C++ C CMake
Clone or download

README.md

RiftRay

github.com/jimbo00000/RiftRay

Oculus Rift CV-1 enabled viewer for the worlds of Shadertoy.

Instructions

Press the remote's center button or the Xbox Controller's start button to enter a shadertoy. Press again to return to the gallery. Use the Xbox Controller's d-pad to adjust render resolution and cinemascope for image clarity or comfort.

Features

  • Floating AntTweakbar pane for live shader parameter editing
  • Dynamic framebuffer scaling
  • Vertical FOV adjustment(per developer guide section 8.5.4)
  • Seamless VR/monitor transitions(thanks to CV1!)

Related work

Controls

Gamepad and Hydra are supported, but optional. To highlight a shader's thumbnail in the gallery, look at it or point the right Hydra controller at it.

Remote:

  • Center button - Enter shader/return to gallery
  • Back button - Toggle Tweakbar pane

Keyboard:

  • Space - Recenter view
  • Enter - Enter shader/return to gallery
  • Escape - Quit
  • WASD - Movement
  • QE13 - Movement(elevation), Yaw
  • Shift/Control - Slow/fast movement
  • PgUp/PgDn - Open/Close cinemascope(letterbox)
  • Tab - Toggle Tweakbar pane
  • Backspace - Toggle OVR Perf HUD
  • \(Backslash) - Click in pane
  • /(Slash) - Reposition pane
  • R - Reset world position

Mouse:

  • Wheel - adjust vertical - Cinemascope | Letterbox | vFOV
  • Middle click - Toggle Tweakbar pane
  • Hold Right click & Left Click - Enter shader/return to gallery
  • Hold Left click & Wheel - Adjust render target size manually

Xbox Controller:

  • Start - Enter shader/return to gallery
  • Back - Toggle Performance HUD
  • Left analog stick - Movement
  • Right analog stick - Yaw
  • A - Move up
  • B - Move down
  • Y - Toggle Tweakbar pane
  • X - Click in pane
  • Left Bumper - Recenter view
  • Right Bumper - Reset position
  • Left Trigger - Move quickly
  • Right Trigger - Move slowly
  • Dpad - Resolution, vFOV

Acknowledgments

All shader code under shaders/shadertoy/ was written by the top developers in the field and is covered by the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-nc-sa/3.0/us/ unless stated otherwise in the code.

Huge Thanks to: