• Welcome to the Community Forums at HiveWire 3D! Please note that the user name you choose for our forum will be displayed to the public. Our store was closed as January 4, 2021. You can find HiveWire 3D and Lisa's Botanicals products, as well as many of our Contributing Artists, at Renderosity. This thread lists where many are now selling their products. Renderosity is generously putting products which were purchased at HiveWire 3D and are now sold at their store into customer accounts by gifting them. This is not an overnight process so please be patient, if you have already emailed them about this. If you have NOT emailed them, please see the 2nd post in this thread for instructions on what you need to do

Upping the ante with the Poser atmosphere's Depth Cue (I'm still using Poser 11 with Firefly)


Using the Poser atmosphere's Volume option really slows down my renders (usually by a factor of ten or so), whereas using the Depth Cue seems to have an almost negligible effect.

So I started wondering...

A quick reminder: The Depth Cue uses a simple linear interpolation between the Start Distance and End Distance to determine how much of the DepthCue_Colour to use. (I've never really understood why darker DepthCue_Colors don't work so well, nor why using black as the DepthCue_Color does what it does - which I can't recall exactly, but isn't what I expect)

bagginsbill created a shader way back that swaps the linear interpolation for a more realistic depth simulation somewhere in an 'underwater submarine' thread over at Renderosity (I don't have the link at hand, but I'll track it down and post later). But you need to put the x,y,z coordinates of the current camera into one of the shader nodes - you can either do this manually (rather a pain) or automate it with a callback function that he also provided.

But that's not what I want to talk about. I want to talk about this sort of thing...




1) The colours in the ColourRamp were chosen simply to help me see whether I'd got the maths correct.

2) The shader above is really intended for a camera positioned at the world origin looking directly along the positive or negative Z axis, but my camera was slightly offset

3) Using SQRT(X^2+Y^2)/Z as the Input to the ColorRamp is an attempt to ensure that the depth cue colours of foreground and background objects at the same point on the 2D render would have the same colour. That's the reason for note (2) above.

4) The main reason for posting this here is so that I don't forget !

I plan to go through things in a bit more detail in the next few posts, but not today.


Here's the link to helgard's Underwater Submarine thread over at Renderosity, mentioned in the OP. I first came across that thread when I was trying to create a more realistic atmosphere using the Poser depth cue and posted my own query towards the end of it here

In one of my subsequent posts on that thread I mentioned a (now-defunct) thread at RDNA, but luckily I started a similar one at CGBytes (N.B. before you click this link be warned that CGBytes sometimes has some 'mature content') - Distance From Camera To Point Being Rendered ? - The Node Knows! - CGBytes - CGbytes - CGbytes.com the online community for 3d digital art. It was there that bagginsbill helped me answer my own question.

But as I said earlier that's not what I want to talk about. And here's something else I didn't specifically want to talk about, but which is definitely worth mentioning as there are lots of useful links (and bagginsbill posted there too) - it's another one of my threads at Renderosity, How Do You Use The Poser Atmosphere ? (renderosity.com).


The first bit I do want to talk about is how to create a basic height-dependent depth cue.
I'm not talking about the Easy Shader For Creating A Height Map Render Of Your Scene | HiveWire 3D Community I posted here back in 2016, although that is related.

To start with I'll assume that DepthCue_StartDist is set to zero, and DepthCue_EndDist is any value we want. For the purposes of this topic I've set my display units to feet, and I'm doing my calculations in feet.

Basics first: With DepthCue_Color set to white and DepthCue_EndDist = 250 that means that anything whose Z-depth is >=250 feet will appear totally white, anything whose Z-depth = 0 will be totally unaffected by the DepthCue_Color, and anything where 0 < Z-depth < 250 will use a linear interpolation to determine the percentage of DepthCue_Color. E.g. Z-depth = 125 is 50% white, Z-depth = 25 is 10% white, etc

The first thing I want to achieve is to make DepthCue_EndDist height dependent. After many hgalf-hearted attempts over several years, this one seems to work quite nicely, so here's an annotated screenshot of my basic height fog shader:
Basic Height Fog.png

and here's a render

I've also attached a zipped MT5 created in Poser 11 for Firefly


  • Basic Height Fog 250,0,50.zip
    1,007 bytes · Views: 145


The nice thing about that simple Basic Height Fog shader is that it the zero visibility height can be lower than the max visibility height (as in the previous post) or higher than the max visibility height (see below)



More to come I hpoe, but I need to get all my experiments, along with shader networks, MT5s and sample renders, into some sort of logical order before presenting them here, otherwise I'll just confuse everybody - myself included !

But here are a couple of thoughts to be going on with about possible next steps from the basic height-dependent depth cue in post #5:

1) It should be fairly straightforward to replace the linear 0.0 to 1.0 between MaxVisHeight_Feet and ZeroVisHeight_Feet with bagginsbill's more realistic half-distance based method. I never ended up using the callback function, I always manually entered the camera coordinates into the relevant nodes. And I haven't tried to use bagginsbill's half-distance stuff in this yet, which is why I say "should be".

2) The reason I started playing with this depth cue thingy again was because it's something I needed for this particular picture. But in addition to the height dependent fog I also wanted the fog colour to change from left to right across the picture. That's where the ColorRamp in the OP shader came in, just as a test. But the actual shader in the OP was a few steps further along that track - the depth cue color changes radially , assuming that the camera is exactly on the Z axis and looking directly along the (+ve or -ve) Z axis. The ultimate goal (which I doubt I'll ever get to because I'll undoubtedly get bored and side-tracked) is to get that to work for any camera position and orientation.

3) After writing points 1 and 2 it struck me that what I'm actually trying to do is that looking directly at the sun on a foggy day in a forest sort of thing - If you don't know what I'm talking about google images of "photo misty forest sun" and ignore the ones with 'godrays*'. But now as well as colour changing radially, so does visibility..

*why, when I hear that word, do I always picture The Dude** in his sunglasses suddenly appearing from behind two clouds (think God appearing to the k-nig-hts in Monty Python and the Holy Grail)

**Jeff Bridges in The Big Lebowski, a film I've never seen.


Dances with Bees
Contributing Artist
Oh wow! I've played and played with atmosphere but can almost never get it to look right. Cool stuff!


Lost Mad Soul
Contributing Artist
great stuff. Wish I could get back to working and experimenting in Poser - so much about the materials room I wanted to figure out still.