There are few things as dispiriting as finding a blog on a topic you're really keen on and then seeing that it withered and died several years before you found it.
Dear future reader, I'm totally sorry if this happened to you on my account. However, you needn't worry about it yet; I have lots more to write. In fact, today I will vouchsafe to my readers (both of them) a large swath of code, representing a minimal application for the Rift, in a single file C++ source file. Aside from the main source file, there are six shader files representing the vertex and fragment shaders for three programs.
The program uses four libraries, all of which are embedded as git submodules in the project, so there's no need to download and install anything else. All you need is your preferred development environment, and CMake to generate your project files.
I've attempted to make minimal use of preprocessor directives, but some small platform differences make it unavoidable.
Articles related to virtual reality with a focus on software development, by the authors of Oculus Rift in Action.
Monday, September 30, 2013
Wednesday, September 11, 2013
Lessons learned from the PAX 2013 costume
Monday, September 2, 2013
Wearing the Oculus Rift at PAX Prime 2013
This entry is very much about the Oculus Rift, but it will take a slight detour to get there.
When I make 'cool plans', I try not to talk too much about them, because based on past experience I feel that the more I talk about a cool idea, the less likely I am to actually follow through on doing it. To that end I haven't written much up to now on my costume plans for PAX 2013.
When I make 'cool plans', I try not to talk too much about them, because based on past experience I feel that the more I talk about a cool idea, the less likely I am to actually follow through on doing it. To that end I haven't written much up to now on my costume plans for PAX 2013.
Labels:
AR,
arm,
augmented reality,
c++,
cosplay,
dr horrible,
fragment shader,
nph,
oculus,
oculus rift,
OpenGL,
PAX,
penny arcade,
raspberry pi,
rift,
tron,
virtual reality,
VR,
wearable computing
Sunday, August 18, 2013
Troubleshooting the SDK: Accessing the Head Tracker Data
For myself, people on the Oculus Developer forums who report issues and request help boil down into two main categories: people with display issues, people with tracker issues. Display issue people are having problems with display splitters, monitor cloning, or getting the output to the correct window, or even getting the rift display to show any output at all. Tracker issue people are having issues getting the tracker to properly represent the orientation of the Rift and convey that information to the application. Today we're going to focus on tracker issues.
Thursday, August 15, 2013
Improving on the Distortion Shader
In our last article we examined the distortion required by the Oculus Rift and created a shader similar to the one used in the example code in the Oculus VR SDK. Similar, but not identical. One big difference was that I broke out the code that did coordinate transformation into separate functions for clarity. In addition, I used viewport coordinates instead of screen coordinates, again for reasons of clarity.
However, there is more that could be done to reduce the complexity of the shader and improve it's performance.
However, there is more that could be done to reduce the complexity of the shader and improve it's performance.
Labels:
c++,
fragment shader,
GLSL,
oculus,
oculus rift,
OpenGL,
rift,
VR
Friday, August 9, 2013
Understanding the Oculus Rift Distortion Shader
As much as any other single thing, the distortion shader is the heart of what makes the Oculus Rift possible. It's enabled by incredible advances in computer rendering technology that have been driven by both the computer gaming industry and the movie and television entertainment industry. Only in the past few years has the rendering power to apply fairly complex calculations to every single output pixel of a rendered frame has become ubiquitous enough that a product like the Rift could become possible.
Part of finding new applications for the Rift will come from a detailed understanding of how the whole system works. For many, it's enough to be told that it's done with lenses and software the corrects for the lens distortion.
A more detailed understanding can be useful though, especially when you're trying to make something render properly and having trouble with the distortion shader and it's settings.
Part of finding new applications for the Rift will come from a detailed understanding of how the whole system works. For many, it's enough to be told that it's done with lenses and software the corrects for the lens distortion.
A more detailed understanding can be useful though, especially when you're trying to make something render properly and having trouble with the distortion shader and it's settings.
Labels:
c++,
fragment shader,
GLSL,
oculus,
oculus rift,
OpenGL,
optics,
rift,
VR
Monday, August 5, 2013
Digging Into the Oculus SDK - Part 2: Device Enumeration
In the previous post we examined the SDK in order to determine how better to trace into the code in order to learn what's going on when we issue commands using the public API. Today we're going to go more into detail on how actual hardware is detected inside the SDK.
Subscribe to:
Posts (Atom)