POV-Ray : Newsgroups : povray.general : Povray script to OpenGL? Server Time
4 Aug 2024 20:13:56 EDT (-0400)
  Povray script to OpenGL? (Message 11 to 20 of 23)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 3 Messages >>>
From: Vadim Sytnikov
Subject: Re: Povray script to OpenGL?
Date: 25 Mar 2003 10:51:56
Message: <3e807b1c@news.povray.org>
"James Taylor" <jim### [at] blueyondercouk> wrote:
>
> > http://www.kfunigraz.ac.at/imawww/thaller/wolfgang/vop-intro.html

If only this thing is at least half as smart as its name... :-)


Post a reply to this message

From: Warp
Subject: Re: Povray script to OpenGL?
Date: 25 Mar 2003 12:46:33
Message: <3e8095f9@news.povray.org>
Tom Melly <tom### [at] tomandlucouk> wrote:
> Whilst internally POV can "see" that the shapes are infinite, at the trace-level
> POV must give up at some distance, otherwise (afaics) any scene with an infinite
> object might take forever to trace.

  Uh? Calculating the intersection point of a ray and a surface which
is very very far away does not take any longer than with a surface
which is close. Why would you think it does?

  Anyways, what you are looking for in your question is not tracing *time*,
but tracing *accuracy*. Since floating point numbers have limited accuracy,
there's a certain limit how far the intersection point can be. There's a
maximum value which can be represented with a floating point number (and
values near this maximum value are not very accurate, as they make rather
big "jumps").

  Theoretically the upper limit of a distance is really large, as the
maximum value which can be represented with a (64-bit) 'double' type
is about 1.8*10^308 (that's "18" followed by 307 zeros). So theoretically
you could have an intersection point that far away from the origin in each
axis.
  However, as I said, the representation of numbers near that value become
really inaccurate and thus it's not very feasible to get close to it.
  There's an artificial limit in POV-Ray how far an intersection can be in
order for it to have effect. This is done so that they don't get close to
this upper limit, where inaccuracies are large. (However, I seem to recall
that this artificial limit is almost paranoidically low, even though it
could be a lot higher.)

  Anyways, even when there are limits imposed by finite accuracy, the
amount of triangles needed to approximate such surface would be enormous
nevertheless.

-- 
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}//  - Warp -


Post a reply to this message

From: Marc Jacquier
Subject: Re: Povray script to OpenGL?
Date: 25 Mar 2003 13:29:05
Message: <3e809ff1@news.povray.org>

3e805d9a$1@news.povray.org...
> "Warp" <war### [at] tagpovrayorg> wrote in message
news:3e80451f@news.povray.org...
>
> JOOC, how does pov handle infinities? Okay, the concept of an infinite
plane is
> easy enough, but at what distance does pov stop trying to find
intersections
> between the surface and the ray?
>
The wormhole towards other dimension of non-pov world is here if you
decomment the second line:
/******************************/
#declare Passage=9999999.0;
//#declare Passage=9999999.00002;


sphere { 0, Passage
 pigment{rgb<0,.5,1>}
        }

camera {
  location  <0, 0,-1>
  look_at   <0, 0,  0>
  right x*image_width/image_height
}
light_source{0,2}
/***********************************/
Thanks Martial

And found by Mael (mlPOV) in the frame.h file of the sources:

/*
 * These values determine the minumum and maximum distances
 * that qualify as ray-object intersections.
 */
#define Small_Tolerance 0.001
#define Max_Distance 1.0e7

Marc


Post a reply to this message

From: Tom & Lu Melly
Subject: Re: Povray script to OpenGL?
Date: 25 Mar 2003 14:54:31
Message: <3e80b3f7@news.povray.org>
"Warp" <war### [at] tagpovrayorg> wrote in message
news:3e8095f9@news.povray.org...

>   Uh? Calculating the intersection point of a ray and a surface which
> is very very far away does not take any longer than with a surface
> which is close. Why would you think it does?

Well, I was kind of thinking that an infinite plane would require an
infinite number of rays to trace since there would be an infinite number of
places that a ray could intersect (and that would be potentially in view).

However, on reflection, it occurs to me that:
a) the number of rays is limited by the resolution
and
b) that would just be silly.

Toodleoo.


Post a reply to this message

From: Tom & Lu Melly
Subject: Re: Povray script to OpenGL?
Date: 25 Mar 2003 14:55:25
Message: <3e80b42d$1@news.povray.org>
"Marc Jacquier" <jac### [at] wanadoofr> wrote in message
news:3e809ff1@news.povray.org...

> /*
>  * These values determine the minumum and maximum distances
>  * that qualify as ray-object intersections.
>  */

Many thanks.


Post a reply to this message

From: Warp
Subject: Re: Povray script to OpenGL?
Date: 25 Mar 2003 16:13:22
Message: <3e80c672@news.povray.org>
Tom & Lu Melly <all### [at] tomandlucouk> wrote:
> Well, I was kind of thinking that an infinite plane would require an
> infinite number of rays to trace since there would be an infinite number of
> places that a ray could intersect

  A ray can intersect a plane only in one place. There's no way for a ray
to intersect a plane in more than one place (unless it bends somehow). :)

-- 
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}//  - Warp -


Post a reply to this message

From: Warp
Subject: Re: Povray script to OpenGL?
Date: 25 Mar 2003 16:14:45
Message: <3e80c6c4@news.povray.org>
Marc Jacquier <jac### [at] wanadoofr> wrote:
> #define Small_Tolerance 0.001
> #define Max_Distance 1.0e7

  IMHO those values should be promptly changed...

-- 
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}//  - Warp -


Post a reply to this message

From: Marc Jacquier
Subject: Re: Povray script to OpenGL?
Date: 26 Mar 2003 02:09:47
Message: <3e81523b$1@news.povray.org>

3e80c6c4@news.povray.org...
> Marc Jacquier <jac### [at] wanadoofr> wrote:
> > #define Small_Tolerance 0.001
> > #define Max_Distance 1.0e7
>
>   IMHO those values should be promptly changed...

I agree they are limitating when you need close-small and remote-huge
objects in the same scene

Marc


Post a reply to this message

From: Christian Liesch
Subject: Re: Povray script to OpenGL?
Date: 26 Mar 2003 02:24:34
Message: <20030326082434.5b65fd59.liesch@gmx.ch>
Thanx, I think this will help me. 
Only - it is not GPL software and the source distributen is awful ;-)


Post a reply to this message

From: Tom Melly
Subject: Re: Povray script to OpenGL?
Date: 26 Mar 2003 04:29:30
Message: <3e8172fa$1@news.povray.org>
"Warp" <war### [at] tagpovrayorg> wrote in message news:3e80c672@news.povray.org...
>
>   A ray can intersect a plane only in one place. There's no way for a ray
> to intersect a plane in more than one place (unless it bends somehow). :)

Sorry, I'm not explaining my question/confusion well (which is now pretty much
resolved).

A plane stretching to infinity would, presumably, need an infinite bounding box
(otherwise it's not infinite). An infinite number of rays would be required to
trace it, since there would be an infinite number of intersection points. This
would take an infinite amount of time. This is obviously wrong, but I was
curious as to how it was wrong, which I think I now largely understand.


Post a reply to this message

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

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