[PD] Oculus Rift shader in pd/Gem

Cyrille Henry ch at chnry.net
Thu Oct 31 17:21:25 CET 2013


hello,

i change the shader so one can use translateXYZ etc .
i also add a [ortho] object so that the shader is not distorded .
things need to be tuned, but it look like working.

c



Le 31/10/2013 16:31, Michael Mihocic a écrit :
> Hy Cyrille,
>
> based on your example I could implement the Rift shadering and I can render the left and right eye seperatly. Thank you once again!
>
> But the two shadered images (left and right) are behind each other and I cannot use "translateXYZ" (x-axis translation) to move them to their sides!? Do you have any idea?? The attached example (rift_example.pd) includes more comments and is probably a better explanation...
>
> Br, Michael
>
>
>
> -------- Original-Nachricht --------
> Betreff:     [GEM-dev] Fwd: Re: Oculus Rift distortion/support
> Datum:     Sun, 27 Oct 2013 18:51:33 +0100
> Von:     Michael Mihocic <michael.mihocic at oeaw.ac.at>
> An:     <gem-dev at iem.at>
>
>
> Hy Cyrille,
>
> thank you again for your quick reply!!
> Good idea, I also replied to the Gem list! (I'm not registered at the pd list...)
> (Sorry, if someone might be annoyed about my attachments...)
>
> Attached you can find my progress so far but I have to mention that my scripts are still "under construction" - and not only the parameters far from optimized.... ;-)
>
> My example consists of:
> - rift_list.pd        -> is the pd patch to be started, follow the instructions on top of the file
> - riftshader.pd is used for the distortion parameters, when using the shaders:
> - r4.frag/r4.vert are the shader files
> - test.jpg is just any test file which will be distorted
>
> I'm not using gemframebuffers in my patch. Currently I am simply loading 2 times the same image and processing the barrel distortions on each half of the image, left and right.
> But as I described below, our actual world does not consist of one image but of many objects (spheres, cubes, lines,...) within a big sphere, and the user can rotate his head inside the sphere. ((tracking will not be done with Oculus Rift tracker))
> -> theoretically, my perfect solution would be to apply the distortion to "the entire stereo gemwin" somehow!? ;-)
>
> Following the idea of your patch and introducing gemframebuffers, do you think I can realize it that way:
> - every object needs to be rendered twice instead of once, and in a framebuffer, sent to the abstraction "gemhead_rift"
> - the barrel distortion is applied in the abstraction "gemhead_rift", the parameters depending on left or right
> - instead of using "stereo", I create a wider window and add X-axis-translation
>
> Do you think it should work that way?
>
> Br, Michael
>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rift.zip
Type: application/zip
Size: 4068 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20131031/0e1a456f/attachment-0001.zip>


More information about the Pd-list mailing list