POV-Ray : Newsgroups : povray.general : Omni-directional Stereo Content Server Time
22 Dec 2024 10:50:00 EST (-0500)
  Omni-directional Stereo Content (Message 15 to 24 of 54)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Clodo
Subject: Re: Omni-directional Stereo Content
Date: 4 Mar 2016 21:05:00
Message: <web.56da3e6d976329954e8811590@news.povray.org>
I try to build two camera{spherical} image, left and right, simply by translate
on X axis the camera{location} by -0.065/2 and +0.065/2. And of course copy both
image in a single image.
On Oculus DK2 VR headset the 3D look nice, but only in front. Looking to left or
right have 3D effect wrong, looking bottom is messed up. I can't explain it
better. So, it's not so simple.

I done some research, and i discover this page:
http://paulbourke.net/stereographics/povcameras/ that include a specific
"Stereoscopic spherical projection".
Source code changes are for PovRay 3.6.1.
I download latest PovRay 3.7 from GitHub, upgrading and compiling with Visual
Studio 2015. All ok.
I started adapting the patch, parser & tokenizer seem easy, but the patch alter
a "render.cpp" file that now it's called "tracepixel.cpp", and unfortunately the
patch
use a lot of function that i don't have knowledge about adapt it (VLinComb3,
VAddScaled, Frame.Screen_Width etc.).

Sorry but i still not understand why your talking about a Mesh projection, i
simply don't have some background knowledge.

I'm asking myself if the render approach of Paul Bourke described in the above
link can produce a similar render or equal render of ODS.

I will try to download PovRay 3.6.1 and reapply the patch to test it.


Post a reply to this message

From: Clodo
Subject: Re: Omni-directional Stereo Content
Date: 4 Mar 2016 21:10:01
Message: <web.56da3f42976329954e8811590@news.povray.org>
Mike Horvath <mik### [at] gmailcom> wrote:
> Rendering 90 frames of anything in POV-Ray is going to take forever...

A lot more if i need to use the 3.6 ...


Post a reply to this message

From: clipka
Subject: Re: Omni-directional Stereo Content
Date: 5 Mar 2016 04:11:08
Message: <56daa2ac$1@news.povray.org>
Am 05.03.2016 um 03:03 schrieb Clodo:
> I try to build two camera{spherical} image, left and right, simply by translate
> on X axis the camera{location} by -0.065/2 and +0.065/2. And of course copy both
> image in a single image.

That doesn't cut it, as you've discovered yourself. The problem is that
the offset required is different for each pixel (or, more precisely,
each column of pixels).

> I done some research, and i discover this page:
> http://paulbourke.net/stereographics/povcameras/ that include a specific
> "Stereoscopic spherical projection".

I definitely need to bookmark this one.

> Sorry but i still not understand why your talking about a Mesh projection, i
> simply don't have some background knowledge.

POV-Ray 3.7 has introduced a new camera type "mesh_camera". It has
different modes, some of which serve quite different purposes, but they
all have in common that the camera geometry is defined by one or more
mesh or mesh2 objects.

In most modes, each mesh triangle defines the ray origin and direction
for an individual pixel of the result image, giving you full control
over the camera geometry on a per-pixel basis.


Post a reply to this message

From: clipka
Subject: Re: Omni-directional Stereo Content
Date: 5 Mar 2016 04:14:38
Message: <56daa37e$1@news.povray.org>
Am 05.03.2016 um 03:06 schrieb Clodo:
> Mike Horvath <mik### [at] gmailcom> wrote:
>> Rendering 90 frames of anything in POV-Ray is going to take forever...
> 
> A lot more if i need to use the 3.6 ...

Hmm... presuming your CPU has N cores... what is N*forever?


Post a reply to this message

From: Clodo
Subject: Re: Omni-directional Stereo Content
Date: 5 Mar 2016 07:45:00
Message: <web.56dad3d5976329954e8811590@news.povray.org>
> Hmm... presuming your CPU has N cores... what is N*forever?

A correct FPS target to avoid illness in VR is 120 FPS.
Oculus and HTC don't want to request high-specs GPU to customers, so it's stay
for the moment on 90 FPS,
but 120 FPS it's the future for next generation headset.
Sony already say that their headset (expected at end of 2016) will be 120 fps.

Also, unlike a normal LCD monitor, VR headset have screen-door effect
( https://en.wikipedia.org/wiki/Screen-door_effect )
caused by lens distortion.
Current headset (Oculus, HTC Vive) use a 2160 x 1200 panel, but it's expected to
reach a 4K for each eyes in a few years.

So, the future (2017/2018) target for VR will be 12K stereo (to obtain around 4K
in FOV) at 120 FPS.
A lot of pixel, around pow(forever,forever) :P




Currently i'm trying to create a simple scene,
a checked plane (for check projection),
mirrors in circle with some sphere at ground and floating (for check 3D effect).
Short in time, but can be looped, an evolution of this:
https://www.clodo.it/blog/mirrors/
Quick to render even in high resolution (at least with multithreading POV-Ray
3.7).

I now it's plain, newbie, weird... but my current objective is to create some
sample/reference video
at different resolution and FPS for testing in VR headset,
and testing if current videoplayers can reproduce it smoothly.

Maybe a correct approach if i render that with a custom/patched POV-Ray, sharing
it with VR community,
and when feedback are positive, integrate in POV-Ray main code (if you are
interested).

> I definitely need to bookmark this one.

I write a mail to the author of the article to inform him about this discussion.


Post a reply to this message

From: William F Pokorny
Subject: Re: Omni-directional Stereo Content
Date: 6 Mar 2016 08:04:25
Message: <56dc2ad9@news.povray.org>
On 03/03/2016 09:35 AM, Clodo wrote:
 >> To state clearly what you probably know - for non-stereo images -
>> POV-Ray has the spherical built in camera
>
> Sorry Bill P, this was my fault.
> I tested spherical camera some days ago, but caused by an error in my code i
> wrong suppose it is a POV-Ray problem. Sorry again.

No worries. We all stumble when trying something new - and I stumble 
more than most! :-)

>
> I confirm that camera{spherical} without any other parameter (like angle) works
> perfectly with every video player i tested in VR headset. Non-stereo of course.
>
> I still think will be a great improvement if POV-Ray can support side-by-side
> and up-down stereo format out-of-the-box, considering it's now a de-facto
> standard and this kind of render will become common with VR headset upcoming
> market.
>
I agree.

In the meantime I did find some time and attempted a mesh camera 
solution. See the attached POV-Ray file. Please read the header in the 
file as there are some quirks with how scenes must be set up and the 
resultant image used.

I would normally post such an example in povray.text.scene-files, but I 
have no VR headset with which to test. Would you please render, view and 
let us know if the result OK or not?

Bill P.


Post a reply to this message


Attachments:
Download 'utf-8' (6 KB)

From: clipka
Subject: Re: Omni-directional Stereo Content
Date: 6 Mar 2016 09:49:45
Message: <56dc4389$1@news.povray.org>
Am 29.02.2016 um 00:19 schrieb Clodo:
> There are a lot of VR Headset now in the market.
> Oculus Rift, GearVR, HTC Vive, Google cardboard etc.
> Also YouTube support 360 panoramic.
> 
> I understand there are a lot of options about rendering with other raytracing
> software, but i don't find any information about Povray.
> 
> The projection model it's called ODS and is full explained in this Google doc:
> https://developers.google.com/cardboard/jump/rendering-ods-content.pdf
> 
> I'm trying to render an ODS, 360 3D shot with Povray.
> There are a function inside the above doc that return the viewing ray for a
> given pixel in raytracing,
> but i don't understand how to use it in Povray.
> 
> Any advice? Thanks.

Y'all might want to try the latest and greatest POV-Ray development release:

https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8509766%2Bav119

It adds a new function-based user-defined camera:

    camera {
      user_defined
      location {
        FUNCTION, // x-coordinate of ray origin
        FUNCTION, // y-coordinate of ray origin
        FUNCTION  // z-coordinate of ray origin
      }
      direction {
        FUNCTION, // x-coordinate of ray direction
        FUNCTION, // y-coordinate of ray direction
        FUNCTION  // z-coordinate of ray direction
      }
      CAMERA_MODIFIERS
    }

where each FUNCTION takes the screen coordinates as parameters, ranging
from -0.5 (left/bottom) to 0.5 (right/top).


Post a reply to this message

From: dick balaska
Subject: Re: Omni-directional Stereo Content
Date: 6 Mar 2016 09:58:31
Message: <56dc4597$1@news.povray.org>
On 3/6/2016 9:49 AM, clipka wrote:

> It adds a new function-based user-defined camera:

What an oddly specific feature to add that just happens to solve this 
problem.  Coincidence?

I'm a little sad that I'm married to my 1.78 wide screen 
3-feet-off-the-ground camera, like, forever.  Maybe my kid will drop 
some acid...
-- 
dik


Post a reply to this message

From: clipka
Subject: Re: Omni-directional Stereo Content
Date: 6 Mar 2016 10:33:04
Message: <56dc4db0$1@news.povray.org>
Am 06.03.2016 um 15:58 schrieb dick balaska:
> On 3/6/2016 9:49 AM, clipka wrote:
> 
>> It adds a new function-based user-defined camera:
> 
> What an oddly specific feature to add that just happens to solve this
> problem.  Coincidence?

Absolutely -- there is no correlation there whatsoever ;)


Post a reply to this message

From: ThH
Subject: Re: Omni-directional Stereo Content
Date: 6 Mar 2016 11:46:28
Message: <56dc5ee4$1@news.povray.org>
Am 06.03.2016 um 15:49 schrieb clipka:

> Y'all might want to try the latest and greatest POV-Ray development release:
>
> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8509766%2Bav119

Alive and kickin' here :)

Thanks for all those involved. Congrats :))


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.