![](/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) |
I agree.
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) |
In article <39180526$1@news.povray.org>, "Nathan Kopp"
<Nat### [at] Kopp com> wrote:
> However, the concept sounds very interesting to me. Keeping this at
> 'glow' seems a bit limiting, but if this were to be extended to
> contain some form of general object information that would be used by
> the post-processing filters, that might make it worthwhile. Of
> course, adding a 6th component to the color vector would cause a loss
> of performance (decreased speed and increased memory usage). Anyway,
> it is a creative idea that is at least worth considering.
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...
--
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) |
In article <39176851.C44A0F73@student.kuleuven.ac.be>, Zeger Knaepen
<ZEG### [at] student kuleuven ac be> wrote:
> The 6th color-element (glow) would have nothing to do with the actual
> render-process. The post-processor would use it to check if it should
> add the glow or not. I think this way is the most flexibel way to
> implement the glowing. Per-object glowing wouldn't be interesting, I
> think. Say I have a spaceship with windows. The windows would be a
> texture, but I would still want them to glow.
Then don't use per-object glowing, use brightness-threshold glowing. The
windows are probably brighter than the surrounding hull, otherwise they
wouldn't be glowing, so set the filter to make things at or above the
"window brightness" glow.(I already have a sort-of-working version of
this kind of effect, though it will be a while before I have anything
useful.)
Or maybe additional information could be patterned and passed to the
post_process stage with some kind of "effect_map". Certainly a better
alternative than adding more stuff to color, where it doesn't really
belong(for one thing, you could have a glow map independant of the
pigment map).
--
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) |
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) |