|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Would there be much interest in adding a flag to the fog object that
uses the scene background colour (eg from sky_sphere or background) as
fog_color rather than a constant? This would be useful to make objects
in the scene automatically fade into the background colour.
I think trace.cpp could be be modified to achieve this (I haven't tested
it yet). In TraceRay fog would not be applied if no object is
intersected - ie just the colour from ComputeSky is used. If an object
is found then the result from ComputeSky is passed to ComputeFog and
that colour is used as the fog colour (rather than the colour from the
fog object).
Do you think this is a good idea, or any issues with the above way of
patching POV?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
scott <sco### [at] scottcom> wrote:
> Would there be much interest in adding a flag to the fog object that
> uses the scene background colour (eg from sky_sphere or background) as
> fog_color rather than a constant?
A while back I wrote an SDL version of something similar to what you're talking
about, sans background support (which wouldn't have made much sense). Using it
is... not very easy. Every object taking part in the fog has to have its texture
wrapped in a special macro. The camera position needs to be tracked. Creating
and/or converting sky pigments requires special macros. It could easily become a
nightmare when trying to combine it with other scene-management-intensive
activities like texture baking.
So yeah, I'd be interested :)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>> Would there be much interest in adding a flag to the fog object that
>> uses the scene background colour (eg from sky_sphere or background) as
>> fog_color rather than a constant?
>
> A while back I wrote an SDL version of something similar to what you're talking
> about, sans background support (which wouldn't have made much sense). Using it
> is... not very easy. Every object taking part in the fog has to have its texture
> wrapped in a special macro. The camera position needs to be tracked. Creating
> and/or converting sky pigments requires special macros. It could easily become a
> nightmare when trying to combine it with other scene-management-intensive
> activities like texture baking.
I first tried to implement a similar effect using media, but you have to
manually "translate" whatever pigment you've used on the sky_sphere into
a density map, and getting it to match up (so that objects towards
infinity appear the same colour as the sky_sphere) is not trivial. Also
rendering time takes a much bigger hit than with a simple fog.
> So yeah, I'd be interested :)
Thinking about it a bit more it would probably be more flexible if you
could just use a pigment object for the fog color, then if you want you
can just use the same one for sky_sphere, or something different (eg if
you have a cloud layer that you don't want to fade to). That sounds a
bit more work to implement though.
I'll see if I can have a go at implementation of the first idea, but
last time I tried to compile the source with Visual Studio Express I
remember getting atlbase.h errors (I'm pretty sure I got it to work in
the past with VSexpress so I'll spend some more time with it over the
weekend).
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> I'll see if I can have a go at implementation of the first idea, but
> last time I tried to compile the source with Visual Studio Express I
> remember getting atlbase.h errors (I'm pretty sure I got it to work in
> the past with VSexpress so I'll spend some more time with it over the
> weekend).
I only got half an hour or so over the weekend but I did find out it
wasn't going to be trivial to compiler under the latest VSexpress. The
main error is that shared_ptr is used *a lot* and VS doesn't know if it
means boost::shared_ptr or std::shared_ptr. I think I just need to go
through and prefix all the shared_ptr occurances with "boost::". There
are also apparently some missing files (toFloat.h, b44ExpLogTable.h,
initializer_list) - need to investigate those further...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 03/06/2013 10:55, scott wrote:
>> I'll see if I can have a go at implementation of the first idea, but
>> last time I tried to compile the source with Visual Studio Express I
>> remember getting atlbase.h errors (I'm pretty sure I got it to work in
>> the past with VSexpress so I'll spend some more time with it over the
>> weekend).
>
> I only got half an hour or so over the weekend but I did find out it
> wasn't going to be trivial to compiler under the latest VSexpress.
Got it working :-) I'll write a few lines to help anyone else wanting to
compile with VSexpress and post it here in a separate thread. Once I get
a decent test scene I'll post some images to p.b.i.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>> Would there be much interest in adding a flag to the fog object that
>> uses the scene background colour (eg from sky_sphere or background) as
>> fog_color rather than a constant?
>
> A while back I wrote an SDL version of something similar to what you're talking
> about, sans background support (which wouldn't have made much sense). Using it
> is... not very easy. Every object taking part in the fog has to have its texture
> wrapped in a special macro. The camera position needs to be tracked. Creating
> and/or converting sky pigments requires special macros. It could easily become a
> nightmare when trying to combine it with other scene-management-intensive
> activities like texture baking.
>
> So yeah, I'd be interested :)
Sample images are in p.b.i
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |