![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Alvarez <nic### [at] gmail is the best com> wrote:
> > Warp <war### [at] tag povray org> wrote:
> >> nemesis <nam### [at] gmail com> wrote:
> >>>> Surfaces (and media) can have non-black coloring even without any
> >>>> light_source definitions.
> >>> ok, and how do you explain the reflections?
> >> Well, if a surface has a non-black coloring even without light sources,
> >> it's obviously going to reflect from reflective surfaces.
> >
> > come on, warp, you know that's not the answer I want.
> >
> > How is povray rendering those reflections?
> >
>
> If an object has a non-zero ambient, it doesn't need a lightsource to be
> visible.
that's all fine and dandy. What I'm asking for is how povray renders
reflections in the absence of traceable light rays.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis napsal(a):
> Nicolas Alvarez <nic### [at] gmail is the best com> wrote:
>>> Warp <war### [at] tag povray org> wrote:
>>>> nemesis <nam### [at] gmail com> wrote:
>>>>>> Surfaces (and media) can have non-black coloring even without any
>>>>>> light_source definitions.
>>>>> ok, and how do you explain the reflections?
>>>> Well, if a surface has a non-black coloring even without light sources,
>>>> it's obviously going to reflect from reflective surfaces.
>>> come on, warp, you know that's not the answer I want.
>>>
>>> How is povray rendering those reflections?
>>>
>> If an object has a non-zero ambient, it doesn't need a lightsource to be
>> visible.
>
> that's all fine and dandy. What I'm asking for is how povray renders
> reflections in the absence of traceable light rays.
>
>
>
raytracers raytrace from the eye and when they hit a surface they split
or stop (or just turn around). This doesn't need any light_sources to work.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis <nam### [at] gmail com> wrote:
> that's all fine and dandy. What I'm asking for is how povray renders
> reflections in the absence of traceable light rays.
You should perhaps acquaint yourself with the basics of raytracing.
There's an intro for example here: http://en.wikipedia.org/wiki/Ray_tracing
Backwards raytracing works by sending rays from the camera towards the
scene. When a ray hits a surface, its color is calculated (from various
parameters, such as the pigment, light sources, etc). If the surface is
reflective, a new ray is spawned from that point, which can hit other
surfaces.
A surface doesn't need a light source in order to contribute color to
the ray.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Nicolas Alvarez <nic### [at] gmail is the best com> wrote:
>>> How is povray rendering those reflections?
>>>
>> If an object has a non-zero ambient, it doesn't need a lightsource to be
>> visible.
>
> that's all fine and dandy. What I'm asking for is how povray renders
> reflections in the absence of traceable light rays.
>
POV-Ray traces rays from the camera to the objects. Then from the
intersection point on the object to the lightsources (if any!), to see
if there is any object on the way (for shadows), and with some
calculation based on the light angle, you get the basic object color. If
the object has ambient, it would have a non-black color even without lights.
If the object is reflective, more rays are traced from the intersection
point on the object to the other objects. That's why if one of those
rays hits an object that has ambient, it would show on the reflection
even without any light.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Alvarez <nic### [at] gmail is the best com> wrote:
> POV-Ray traces rays from the camera to the objects.
I should get some sleep... :P
I know raytracing works backwards, I don't know what I was thinking... sorry!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: "Jérôme M. Berger"
Subject: Re: radiosity vs. double_illuminate
Date: 12 Nov 2007 13:38:29
Message: <47389da5@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
nemesis wrote:
> =?ISO-8859-1?Q?=22J=E9r=F4me_M=2E_Berger=22?= <jeb### [at] free fr> wrote:
>> I'd be really interested to see such a scene if you could make one,
>> but you can't (unless you use the "no_reflection" keyword of
>> course).
>
> ...
> I can't see a thing. Reflections or otherwise.
>
You've just proved my point (if you go back to what I said but you
didn't quote). If you have neither light sources nor ambient then
you don't get an image, only pure black. This has nothing to do with
reflections. The bare minimum to get an image is to have some
ambient light, and then you will get reflections too.
Jerome
- --
+------------------------- Jerome M. BERGER ---------------------+
| mailto:jeb### [at] free fr | ICQ: 238062172 |
| http://jeberger.free.fr/ | Jabber: jeb### [at] jabber fr |
+---------------------------------+------------------------------+
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
iD8DBQFHOJ2kd0kWM4JG3k8RAr2wAKC3UqHt8dOjab/T5mHmqpdJ4lAuWwCfYll/
XhuG2xbTs4afqKWHZMVxDiM=
=J/Mb
-----END PGP SIGNATURE-----
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis nous apporta ses lumieres en ce 2007/11/11 16:25:
> =?ISO-8859-1?Q?=22J=E9r=F4me_M=2E_Berger=22?= <jeb### [at] free fr> wrote:
>> I'd be really interested to see such a scene if you could make one,
>> but you can't (unless you use the "no_reflection" keyword of
>> course).
>
> global_settings {
>
> ambient_light 0
> radiosity { brightness 1.2 }
>
> }
>
>
>
> union {
>
> plane { y, -1 pigment { rgb 1 } finish { ambient 6 } }
>
> sphere { -x, 1 pigment { rgb x } }
>
> sphere { x, 1 pigment { rgb y } finish { reflection 1 }}
>
>
>
> translate z*5
>
> }
>
>
> I can't see a thing. Reflections or otherwise.
>
>> I have made some test scenes with pure ambient lighting
>> (neither light sources nor radiosity) and reflective materials and
>> the reflections showed just fine.
>
> yes, but you know ambient light is by itself faking a constant ambient lighting,
> don't you? That's the hidden light by which povray is tracing the scene. No
> lights, no reflection, nor image. nothing...
>
> Let there be light! :)
>
>
>
It's obvious why you don't see anything: you set "ambient_light 0" in your
global_settings, whitch effectively negate your high ambient object.
The ambient_light should ONLY be used if you want to alter the coloration of the
ambient components for the whole scene.
ambient_light is multiplied with the ambient part of every finish. Anything
multiplied by zero equals zero.
Realy, in any radiosity scene lighted by ambient object, you MUST NEVER set
ambient_light to 0.
Rerun your sample scene as follow:
#default{finish{ambient 0 diffuse 1}}
global_settings{radiosity{}}
union {
plane { y, -1 pigment { rgb 1 } finish { ambient 1 } }
sphere { -x, 1 pigment { rgb x } }
sphere { x, 1 pigment { rgb y } finish { reflection 1 }}
translate z*5
}
Now, you can see everything. I've reduced your ambient 6 to 1 to prevent
oversaturation.
--
Alain
-------------------------------------------------
Real Time, adj.:
Here and now, as opposed to fake time, which only occurs there
and then.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Jan Dvorak nous apporta ses lumieres en ce 2007/11/11 05:48:
> Hello,
> When I use double_illuminate in a radiosity scene it does nothing (it
> does get double_illuminated by light_sources).
> Here's a scene to illustrate:
>
> default{finish{ambient 0}}
> camera{location <3,4,5> look_at 0}
> polygon{5,x,y,-x,-y,x pigment{rgb 1}double_illuminate translate z}
> polygon{5,x,y,-x,-y,x pigment{rgb 1}double_illuminate translate -z}
> background{rgb z}
> global_settings{radiosity{}}
> sphere{-y/2,0.5 texture{pigment{rgb y}finish{ambient 10 diffuse 0}}}
> light_source{y/2,rgb x}
>
> Is it a bug or it is intentional?
Working as expected.
The polygons are double_illuminate be the light_source (red), whitch contribute
on both faces.
They are lighted in blue from the background, giving that magenta tint.
The faces near the high ambient grees sphere are illuminated in green. They are
also affected by the other polygon, lighted in red, and, weekly, the blue
background.
--
Alain
-------------------------------------------------
You know you've been raytracing too long when you have ever brought your
computer to its knees by mistakenly launching 64 simultaneous frames to be
traced, while trying to maximizing the benefits of parallelizing them.
Carsten Whimster
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Alain <ele### [at] netscape net> wrote:
> It's obvious why you don't see anything: you set "ambient_light 0" in your
> global_settings
and you realize it was intentional, don't you? The point was to prove that
without any ray sources at all, there's no *raytraced* images.
Anyways, I forgot raytracing works backwards, by shooting rays into the scene
and then, possibly, to light sources. Indeed, it can still work without light
rays, by just tracing rays to objects with high ambient values.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
=?ISO-8859-1?Q?=22J=E9r=F4me_M=2E_Berger=22?= <jeb### [at] free fr> wrote:
> If you have neither light sources nor ambient then
> you don't get an image, only pure black. This has nothing to do with
> reflections. The bare minimum to get an image is to have some
> ambient light, and then you will get reflections too.
I forgot raytracing works backwards and was assuming the rays needed to trace
the reflections were rays coming from light sources. From there on, I assumed
when ambient lighting was present, povray automatically created a no_shadow
light_source to trace the scene. silly me...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |