Login | Register 
FEATURES
APPLICATIONS
DOWNLOADS
EDUCATION
BLOG
WIKI
FORUM
STORE

Oculus Rift Support?

Send us your requests for enhancements (RFEs)

Re: Oculus Rift Support?

Postby rodberry » Tue Aug 13, 2013 7:16 am

There's an Oculus unit at our local hackerspace and I've just installed 77FTE on the machine there ready to have a mess with it. not sure how much help I can be though, apart from testing. I am a bit clueless with GLSL etc. and struggling along with Python (although I know Touch well in general so might be helpful after all)
rod.
User avatar
rodberry
 
Posts: 1080
Joined: Wed Nov 14, 2007 2:51 pm
Location: Hobart, Tasmania, Australia

Re: Oculus Rift Support?

Postby Ennui » Tue Aug 13, 2013 10:03 am

rodberry wrote:There's an Oculus unit at our local hackerspace and I've just installed 77FTE on the machine there ready to have a mess with it. not sure how much help I can be though, apart from testing. I am a bit clueless with GLSL etc. and struggling along with Python (although I know Touch well in general so might be helpful after all)
rod.


I want a local hackerspace :P
Richard Burns
User avatar
Ennui
 
Posts: 421
Joined: Sat Oct 03, 2009 2:23 pm

Re: Oculus Rift Support?

Postby momothemonster » Fri Aug 16, 2013 3:39 pm

rift-touchdesigner.jpg
rift-touchdesigner.jpg (79.23 KiB) Viewed 2997 times

I've created a GitHub repository in the interest of fixing / improving my attempt at Oculus Rift Support in Touch Designer.

https://github.com/momo-the-monster/MMMRiftChop

The repository includes:
  • A Visual Studio 2012 project for modifying/compiling the DLL
  • A TD 088 Composition with my attempt at implementing proper rendering
  • A compiled DLL if you want to get straight to the action (it's in the TD folder with the Comp)

It's so close - the head tracking is fine, the 3D effect is there, but something's not right. I think it has to do with the offset for each eye (ie the ViewAdjust matrix to be applied after the projection matrix and barrel distortion). I've tried the values that make sense that are coming out of the Rift Sensor: 0.0395 offset for each eye, in my case - but I still see some sort of de-convergence in my periphery. I don't see it in the pre-compiled demos or when I render a scene in Cinder, so it must be a step I'm missing, or some parameters I'm not applying right.

The basic flow I'm using is:
  • Extract a 4x4 Projection Matrix from the Sensor for the Left Eye
  • Flip coordinate at M[2][0] to make Matrix for the Right Eye
  • Create one camera for each eye, use custom matrices generated above
  • Use Render TOP to render each eye separately at 640x800
  • Feed output of Render TOPs into GLSL Shaders created from example code
  • Shaders are fed incoming Uniform parameters from Rift sensor
  • Feed output of each shader into a Crop TOP, extending the left eye to the right and the right eye to the left
  • Composite the Crop TOPs using Additive Blending
  • Send final output to Window set to 2nd monitor, fullscreen

I've tried adding a Transform Top after the Crops in order to change the eye separation but none of the values from the sensor fix the problem I see.

We're so close! Looking forward to some input on this, hope someone else has a Rift they can test with!
MMM Labs - Concert Visuals and Interactive Awesomeness
User avatar
momothemonster
 
Posts: 64
Joined: Fri Jun 01, 2012 1:30 pm

Re: Oculus Rift Support?

Postby manoeuvre » Fri Aug 16, 2013 11:54 pm

Excellent news! I'm expecting my rift to arrive in a couple weeks so I will test then.

Rob, delivery times have improved, I ordered mine on the 30th of July it went through processing for shipment this week, so I might see it before the end of the month. I hit it lucky with ordering though, slipped in on a Non-EU/US country shipment, my order is about 2000 units ahead of the current US orders.
User avatar
manoeuvre
 
Posts: 27
Joined: Sun Jan 22, 2012 10:19 am
Location: Australia

Re: Oculus Rift Support?

Postby mlantin » Sat Aug 17, 2013 4:20 am

I might know what's wrong. I have a Rift and will look at your example tomorrow. Totally stoked. Thanks for doing this work. I have stereo camera component for TD and it works well. From what you describe you might be missing the horizontal shift necessary for an asymmetrical viewing volume.
mlantin
 
Posts: 54
Joined: Tue Apr 14, 2009 12:10 pm

Re: Oculus Rift Support?

Postby mlantin » Sat Aug 17, 2013 10:32 pm

hmmm. I was wrong. In reading the SDK documentation, it seems the rift does not need anasymmetrical frustum. I'll keep testing.
mlantin
 
Posts: 54
Joined: Tue Apr 14, 2009 12:10 pm

Re: Oculus Rift Support?

Postby mlantin » Sun Aug 18, 2013 1:01 am

The only thing I found is that the cameras weren't being translated. So I changed the camera parameters to use the Interpupillary_distance in the riftData (+-ipd/2) and that I think made things more comfortable. Not sure if solves everything. I have to test with some different geometry.
mlantin
 
Posts: 54
Joined: Tue Apr 14, 2009 12:10 pm

Re: Oculus Rift Support?

Postby mlantin » Sun Aug 18, 2013 4:07 am

Looks like there's something not quite right with the shader. I'll take another look tomorrow after I digest the documentation for the SDK.
mlantin
 
Posts: 54
Joined: Tue Apr 14, 2009 12:10 pm

Re: Oculus Rift Support?

Postby mlantin » Sun Aug 18, 2013 11:20 pm

I modified the shader and changed the parameter values. Seems to work now. But still hangs TD every time I tried to exit. Next thing to fix :)

Also no chromatic aberration fix in the shader.

I'm attaching the modified .toe
Attachments
MMMRiftChopTest.12.toe
(10.77 KiB) Downloaded 124 times
mlantin
 
Posts: 54
Joined: Tue Apr 14, 2009 12:10 pm

Re: Oculus Rift Support?

Postby mlantin » Mon Aug 19, 2013 12:17 am

I put the System::Destroy() call after the delete instance call and now I can exit TD without a hang.
mlantin
 
Posts: 54
Joined: Tue Apr 14, 2009 12:10 pm

PreviousNext

Return to Wishlist and RFEs

Who is online

Users browsing this forum: No registered users and 2 guests