![](/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) |
One thought:
If a surface has a glow component and this surface is reflected on a mirror,
what should happen?
a) Only the reflection of the surface glows, not the mirror itself.
b) The mirror itself starts glowing because of the reflection of the
glowing surface.
The difference between the two is subtle, but important: If only the
reflection glows, the glowing does not extend outside the mirror surface.
If the mirror surface glows, the glowing extends outside it.
AFAIK the option a) is the physically correct one. Of course the mirror
just reflects the glowing, it doesn't start to glow itself.
However, if the glowing is achieved as a 6th color component, what will
happen is the option b) because the mirror will get that 6th component as
well when it reflects the glowing surface. This is a bit unrealistic.
So I don't know if it would be a good idea.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- 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) |
Warp wrote:
>
> One thought:
>
> If a surface has a glow component and this surface is reflected on a mirror,
> what should happen?
> a) Only the reflection of the surface glows, not the mirror itself.
> b) The mirror itself starts glowing because of the reflection of the
> glowing surface.
>
> The difference between the two is subtle, but important: If only the
> reflection glows, the glowing does not extend outside the mirror surface.
> If the mirror surface glows, the glowing extends outside it.
>
> AFAIK the option a) is the physically correct one. Of course the mirror
> just reflects the glowing, it doesn't start to glow itself.
> However, if the glowing is achieved as a 6th color component, what will
> happen is the option b) because the mirror will get that 6th component as
> well when it reflects the glowing surface. This is a bit unrealistic.
> So I don't know if it would be a good idea.
But that 6th component would be 1 only if the reflected pigment has a
6th component of 1 there. So it would give option a)
It's not the entire object that should glow, only the parts with a 6th
component > 0.
ZK
http://www.povplace.be.tf
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
What exactly does this code do?
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) |
Chris Huff wrote:
>
>
> I don't think it belongs in the color vector though. Of course, I don't
> think filter and transmit belong there either...I think they should be
> separate colors.
> Maybe instead of adding things to the color vector, an "effect_map"
> object attribute would work...
Oh, yes!
That's a much better idea!
ZK
http://www.povplace.be.tf
> --
> Christopher James Huff - Personal e-mail: chr### [at] yahoo com
> TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
> Personal Web page: http://chrishuff.dhs.org/
> TAG Web page: http://tag.povray.org/
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) |
Zeger Knaepen <ZEG### [at] student kuleuven ac be> wrote:
: But that 6th component would be 1 only if the reflected pigment has a
: 6th component of 1 there. So it would give option a)
: It's not the entire object that should glow, only the parts with a 6th
: component > 0.
You didn't understand. The parts of the mirror which are reflecting the
glowing object will start to glow themselves as well, because they will
get tha 6th component.
Suppose that the reflection of the glowing object covers completely the
surface of the mirror. Now the mirror will glow, ie. the glowing will be seen
outside the mirror surface. The mirror itself is glowing, not only the
reflection.
This, of course, is because the glowing is calculated as a post-process.
The post-process have no way to know if the glowing part is a reflection
or not.
:> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
:> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
: What exactly does this code do?
Try compiling it.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- 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) |
Warp wrote:
>
> You didn't understand. The parts of the mirror which are reflecting the
> glowing object will start to glow themselves as well, because they will
> get tha 6th component.
Indeed...
> Suppose that the reflection of the glowing object covers completely the
> surface of the mirror. Now the mirror will glow, ie. the glowing will be seen
> outside the mirror surface. The mirror itself is glowing, not only the
> reflection.
I think this is realistic...
After all, the glow would not be like glowing air, but more like
lens-flare. If the mirror reflects an object that is that bright you
can see a glow, and the reflection covers the entire mirror, the
mirror should glow too, I think.
> This, of course, is because the glowing is calculated as a post-process.
> The post-process have no way to know if the glowing part is a reflection
> or not.
Yes, but I think post-process-glows would only be useful to create
lensflarish glows. Which, I think, is good.
> :> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> :> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
>
> : What exactly does this code do?
>
> Try compiling it.
I tried.
I don't know how to do that with Borland C++
I get lots of different windows...
When I start a new project, I get:
-+ proj0000.exe [.exe]
|
+ proj0000.cpp [.cpp]
|
+ proj0000.def [.def]
|
+ proj00000.rc [.rc]
Where should I put the code?
ZK
http://www.povplace.be.tf
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- 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) |
Zeger Knaepen <ZEG### [at] student kuleuven ac be> wrote:
: After all, the glow would not be like glowing air, but more like
: lens-flare.
I think that glowing is usually caused by atmospheric effects rather than
lens effects.
: I don't know how to do that with Borland C++
: I get lots of different windows...
You'll have to compile it as a dos-program (I don't know if BCB can do this)
since it's supposed to be run on the command line (where there's a standard
output stream).
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- 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) |
Warp wrote in message <391bc523@news.povray.org>...
>Zeger Knaepen <ZEG### [at] student kuleuven ac be> wrote:
>: After all, the glow would not be like glowing air, but more like
>: lens-flare.
>
> I think that glowing is usually caused by atmospheric effects rather than
>lens effects.
>
>: I don't know how to do that with Borland C++
>: I get lots of different windows...
>
> You'll have to compile it as a dos-program (I don't know if BCB can do
this)
>since it's supposed to be run on the command line (where there's a standard
>output stream).
Borland C++ Builder can do this. However, it is a complicated process.
1) Copy Warp's sig to Notepad. Save the file as "dummy.c" in the directory
you will be creating the project in.
2) Make sure that Windows didn't rename "dummy.c" to "dummy.c.txt". If it
did, fix it.
3) In C++ Builder, create a new project of type Console Wizard. Select all
the text in the "proj0000.cpp" file and delete it.
4) Type the following into the "proj0000.cpp" file:
#include <condefs.h>
USEUNIT("dummy.c");
#define main
5) Save your project.
6) Compile it.
7) Open a dos prompt and run the program from the dos prompt.
8) Don't blame me if this doesn't work. I got it to work on the computers
at the university, which are running an insane setup of Borland C++ Builder
4 on Windows NT 4.0 service pack 3, with C++ Builder being run from a
read-only network drive. (30 minutes to compile POV, anyone?).
Mark
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) |