an invisible glow

Hi

Does anyone have any suggestions for the following:

Under the current definition for glow

        mod glow id
        0
        0
        4 red green blue maxrad

if maxrad is a negative value, then the glow is visible on a surface but
does not participate in scene illumination.

I would like to generate a surface with a glow that does the opposite - from
the viewpoint invisible or assigned to another texture but as a glow it
still contributes to the indirect illuminance (in the same way that an illum
does with the direct calculation).

Is there a way to do this in general (with mixfunc?) so that a surface
appears from the viewpoint as one material, but as far as the lighting
calculation is concerned is another? Or more to the point how can i test if
the ray being traced is a view ray or not?

To explain an example situation - suppose there is a complicated existing
building that is simplest to represent with an image mapped onto its facade
(and that only appears correct when viewed from the viewpoint), but in terms
of its lighting contribution on the site in general is more accurately
described in some other way.

Any help is greatly appreciated.

Many thanks too to Peter, Greg, and the other regulars for their efforts in
revitalising the Radiance group.

cheers
alex

···

*******************************************************
A. J. Summerfield [email protected]
Faculty of Architecture, University of Sydney
*******************************************************
Outside of a dog, a book is man's best friend.
Inside a dog, it's too dark to read. Groucho Marx
*******************************************************

Hi Alex !

To some extent, there is the possibility of having invisible glows. In
my workshop contribution (available from the workshop page on
radiance-online) there are patches to the standard Radiance version
providing some further features. One of them is the possibility to
assign a so called "secondary ambient material" (currently only to
plastic, metal and trans). This was originally implemented to save
calculation time in case of complicated mathematical textures applied to
the object, but it can be used for other purposes, too.

So, if for example you provide a blue plastic box and give a yellow glow
material for the secondary ambient mat., you will see the blue box and
the yellow shining on surfaces nearby stemming from the glow. (rather
freaky, though, but - why not??) This of course affects only the
indirect calculation, so the fourth glow parameter has to be zero, and
self-evidently there will be no direct contribution from this glow.

A real invisible glow comparable to the illum which works with the
direct calculation, too, should be not too difficult to implement as a
new primitive ("glow-illum"), at least I think so ...

-Carsten

Carsten Bauer wrote:

A real invisible glow comparable to the illum which works with the
direct calculation, too, should be not too difficult to implement as a
new primitive ("glow-illum"), at least I think so ...

The relevant difference between glow and illum in this context is
that *glow* is ignored for the *direct* calculation if it exceeds
the distance specified, not the other way round. Illum is only
ignored/replaced for direct view rays, but participates normally
in both the direct and indirect calculation for all other rays.

If I understand the original question correctly, then illum is
the solution.

-schorsch

···

--
Georg Mischler -- simulations developer -- schorsch at schorsch.com
+schorsch.com+ -- lighting design tools -- http://www.schorsch.com/

Hi Schorsch and Alex !

Independent of what Alex really wants large area sources are a
problematic case for the direct calculation in the region near to the
source, as then the simplification of the inverse square law is not
valid anymore. Of course, they can be subdivided with -ds/dj, but if you
have objects very close to the source, especially transparent stuff
covering the source, you see the subdivision effect. So it can make
sense to treat a large area source with the indirect calculation only,
and so there might be the need of an invisible indirect source material
just as there's an invisible direct source material (illum). It's a
rather exceptional case though. And it all sounds pretty much of
cheating and faking, but for image generation, this is allowed :).

I have to admit, however, that the secondary ambient hack which I have
mentioned doesn't seem to work correctly for this purpose, you see the
effect of the glow but not with the correct illumination levels. But as
this hack wasn't meant to be used in this way (I just tried to 'abuse'
it for fun after reading Alex's mail) I don't have to feel guilty about
it...

:-).

-Carsten

Yeah !

somehow this is funny, I just had to look again at the matter ...

In the current secondary ambient material hack, you stick within the
plastic/material/trans range, but it was just a case of adding two lines
to the code to really hand over glows (at least those with fourth param
= 0) as secondary ambient material. So you can have invisible glows with
correct illumination calculation, too. (except for the glow object
itself of course). If anyone needs this freaky stuff, just call me ...

Probably no one will ... :slight_smile:

-Carsten

A propos, is there any way to convert calculated illums to other types of sources (light, glow)? The original source could then be precomputed only once. I have sometimes missed this option, for example when having dozens of small identical window openings in a room.

Markku

···

At 2002-10-24 / 14:07, you wrote:

If I understand the original question correctly, then illum is
the solution.

-schorsch

Thanks Carsten

To some extent, there is the possibility of having invisible glows. In
my workshop contribution (available from the workshop page on
radiance-online) there are patches to the standard Radiance version
providing some further features. One of them is the possibility to
assign a so called "secondary ambient material" (currently only to
plastic, metal and trans). This was originally implemented to save
calculation time in case of complicated mathematical textures applied to
the object, but it can be used for other purposes, too.

I was disappointed to be unable to attend that workshop. I'll check it out
on the web! And will be in touch regarding some of the other extensions you
mention.

So, if for example you provide a blue plastic box and give a yellow glow
material for the secondary ambient mat., you will see the blue box and
the yellow shining on surfaces nearby stemming from the glow. (rather
freaky, though, but - why not??)

One possible practical use would be to communicate to students the role of
diffuse inter-reflection in a space due to a particular surface - without
radically altering the perception of the space as a whole - as might happen
if you had to change the surface colour, rather than just its indirect
contribution.

If I understand the original question correctly, then illum is
the solution.

Thanks Schorsch, continuing on from Carsten's comments regarding glow vs
illum, I can confirm that these contextual elements form very large area
secondary sources and hence thought that using glow would be the correct
approach (the situation similar to the standard use of sky and ground glow).

I'm also referring to views from outside the proposed building - interior
views are not a problem. The issue arises out of difference between the
viewer's immediate context and the building's lighting environment - and the
need to minimise any unnecessary modelling.

I have some slightly messy solutions - usually involving bits of outline
geometry like pieces of stage scenery near the viewer - and these work well
in terms of the final results. But just thought that an invisible glow would
definitely be a better and more integrated way to go.

As a general rule i think to make visualisations more defensible some
explanatory imagery should be provided - in this case without the viewers
context to explicitly indicate what is happening.

cheers
alex

···

*******************************************************
A. J. Summerfield [email protected]
Faculty of Architecture, University of Sydney
*******************************************************
Outside of a dog, a book is man's best friend.
Inside a dog, it's too dark to read. Groucho Marx
*******************************************************

Hi Alex,

I'm a bit afraid to even dip into this conversation, as there are so many tricks and hacks you can play with Radiance before even delving into the source code, but I thought I'd offer at least one modest suggestion...

If you just want to substitute a material in the case of eye rays, you can use a mixfunc and pass it the world coordinates of the viewpoint (-vp Vx Vy Vz) in the real arguments like so:

void mixfunc view_switch_mat
4 view_mat normal_mat
  if(and(FTINY-abs(A1-Px+T*Dx),and(FTINY-abs(A2-Py+T*Dy),FTINY-abs(A3-Pz+T*Dz))),1,0)
  .
3 {Vx} {Vy} {Vz}

where of course {Vx} {Vy} and {Vz} are replaced by the appropriate real values. The above works by testing to see if the ray that hit the surface originated at the viewpoint without being reflected or refracted along the way. The FTINY values (equal to 1e-7) are necessary to avoid floating point roundoff errors in the equality tests. I haven't tested this, but I believe it would work, and you wouldn't have to hack the source code.

-Greg

···

From: alex summerfield <[email protected]>

Is there a way to do this in general (with mixfunc?) so that a surface
appears from the viewpoint as one material, but as far as the lighting
calculation is concerned is another? Or more to the point how can i test if
the ray being traced is a view ray or not?

To explain an example situation - suppose there is a complicated existing
building that is simplest to represent with an image mapped onto its facade
(and that only appears correct when viewed from the viewpoint), but in terms
of its lighting contribution on the site in general is more accurately
described in some other way.

Many thanks Greg - very nice trick!

I had completely forgotten that distance travelled T is available. I guess
the moral of the story is always to check the beginning of rayinit.cal!

Looks like just what we needed.

cheers
alex

···

Hi Alex,

I'm a bit afraid to even dip into this conversation, as there are so
many tricks and hacks you can play with Radiance before even delving
into the source code, but I thought I'd offer at least one modest
suggestion...

If you just want to substitute a material in the case of eye rays, you
can use a mixfunc and pass it the world coordinates of the viewpoint
(-vp Vx Vy Vz) in the real arguments like so:

void mixfunc view_switch_mat
4 view_mat normal_mat
if(and(FTINY-abs(A1-Px+T*Dx),and(FTINY-abs(A2-Py+T*Dy),FTINY-abs(A3-
Pz+T*Dz))),1,0)
.
3 {Vx} {Vy} {Vz}

where of course {Vx} {Vy} and {Vz} are replaced by the appropriate real
values. The above works by testing to see if the ray that hit the
surface originated at the viewpoint without being reflected or
refracted along the way. The FTINY values (equal to 1e-7) are
necessary to avoid floating point roundoff errors in the equality
tests. I haven't tested this, but I believe it would work, and you
wouldn't have to hack the source code.

-Greg

From: alex summerfield <[email protected]>

Is there a way to do this in general (with mixfunc?) so that a surface
appears from the viewpoint as one material, but as far as the lighting
calculation is concerned is another? Or more to the point how can i
test if
the ray being traced is a view ray or not?

To explain an example situation - suppose there is a complicated
existing
building that is simplest to represent with an image mapped onto its
facade
(and that only appears correct when viewed from the viewpoint), but in
terms
of its lighting contribution on the site in general is more accurately
described in some other way.

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

*******************************************************
A. J. Summerfield [email protected]
Faculty of Architecture, University of Sydney
*******************************************************
Outside of a dog, a book is man's best friend.
Inside a dog, it's too dark to read. Groucho Marx
*******************************************************