Adding to Cart…

Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.
Comments
That (lagoon?) is a really good example wowie. Really shows that depth diffusion/opacity volume reflect quite well.
Color of Crater lake is quite impressive, tho the sky dose influence it quite a bit. There are other fresh water lakes like that as well.
So, quite a few good examples to look at for reference then. It's just a matter of figuring out just how much reflection/glossiness, how much opacity, etc.
Attached photos are for reference only.
I don't know if it's possible to get 100% convincing water with pre-existing DS shaders or even shader mixer networks (of manageable size, at least). I wasn't successful with those tools.
Ideally, water should be volumetric.
The absorption part I wrote for my glass (for the recent alpha update) looks to be a close enough fake of the true volumetric effect. Here's a blog post with a test render and some thoughts:
https://mustakettu85.wordpress.com/2015/09/20/gettin-there/
Kettu, That looks incredible. right down to the reflection amount vs viewing angle, perfect.
You mention something about slow render times, And that has me curious. Are you talking total render times for a finished render, or is it also a slow "Pre compute delay" (Face-plant time)? For final quality renders it doesn't matter that much, I guess. For setting up a scene, face-plant time can be uncomfortable waiting for spot renders to show where shadows are (or if a shirt is tucked in yet or not, foot on ground with displacement-surface, etc).
Is there ways to go for a lower quality with that shader until you have all the pool toys in there places with the figures posed, and then kick that surface to high-quality for a final render?
A little fun with liquids, lol.
This is just a regular shader. I don't think it uses the more advanced things discussed regarding incident-angles and volumetric effects for large surfaces. Still it was fun. I had done the final render at 5 max-ray-trace-depth. Spot renders also didn't have any noticeable faceplant time, making setting up the test scene quite enjoyable.
http://www.sharecg.com/v/82337/gallery/7/Material-and-Shader/Fistys-Liquids-DS-Shaders-Poser-MT5s
Zarcon, thank you.
No, there is no inherent pre-computation (unless you want a photon map for caustics, but that, as you describe, can be added in time for the final render). GGX is 'slow' in the 'a few extra minutes over less advanced shading models' way (or even extra seconds, depending on your machine and the particular scene) - most noticeable for animators I guess, but acceptable for stills.
I remembered Tofusan making a shader mixer network for glass with absorption - I got confused by all the 'spaghetti' and so never got around to using it, but it may be possible to get something pretty out of it (without looking under the hood). Those who just like to tweak, you could check it out here:
www.sharecg.com/v/70879/gallery/21/DAZ-Studio/Realistic-Glass-Shader-with-Absorption
That's generally what i thought too. But that also means the object used in the scene will have to be properly modelled. Unfortunately, most are not. In that scene I used, the pool water is basically a cube, so it collides with the pool steps on one end.
Just because you don't understand something, dose not imply that it will cease to function or exist.
My understanding of 'volumetric' is that light interactions are calculated for every point inside the volume. While it would be theoretically feasible to get an exact replica of the appearance of translucent liquids using 'Volumetrics', it would require a monumental cluster of epic computers.
I still think that calculating distances from a surface to the next, and adjusting opacity/reflection (strength and color) vs incident-angle, would give a far more efficient shader. I have already seen results posted that are very convincing, even if they do not force 3delight to do Volumetrics, lol.
Equally, I also will note the tendency to use an exaggerated amount of some affects, simply because there 'new'. Just how much is missing in the shaders vs what really is lost in the background noise of the waves on the surface of the water (or wrinkles on skin, etc), lol. Take for example, the velvet and gloss on the skirt and shirt in this render (how much color should I have used, vs what looks cool).
So it's a skirt instead of water. The 'velvet' incident-angle is there somewhere, and with UE2 so is that distance thing with ray-traces.
(My coffee cup's is "broken", brb. The coffee keeps leaking out of the hole in the top of the cup, lol.).
In that instance, it matters not where the other side of the cube is. It is a function of the distance between the top surface of the water plane, and any object in the pool of liquid (pool bottom, diver, submarine, dolphin, or even your pool steps). That gives you the upper limit of how transparent the water is at that point on the surface of the water. Then from there, an increase of inclination (angle off from 90 degrees off the surface), gives you the opacity, reflection amount, ect. The only time to worry about the other side of the 'cube' of water, is if it is in mid air, like a drop of water... And at that point it's the same exact maths for Internal reflection.
While I can kind of understand the method in my head, Programing it into shader-mixer or whatever is about as easy for me to do, as understanding how "Spooky action at a distance" works.
Perhaps this is one to bounce off the brains at DNA research. Not the "Spooky action at a distance", lol, the water shader idea.
(EDIT) excellent TIR example diagram, from "the Physics Classroom" showing some angles vs "Total Internal Reflection". Tho I was noticing a similar effect from outside the water looking across a pool or ocean (reflection of the sky vs viewing angle of the water surface).
http://www.physicsclassroom.com/class/refrn/Lesson-3/Total-Internal-Reflection
Not entirely...that's where an advantage of a biased renderer shows. With things like raymarching you are limiting the calculations to a subset of a near infinite number of calculations to just enough to 'look' right.
:)
Remember that shaders operate on surfaces and whole objects. So they do not know if the surface/object it is applied to intersects another.
At least in Studio...there are a bunch of math tricks that can be used to write complex shaders that will determine intersections...but they are NOT 'mainstream' nor are they easy to do...and you need the ability to use co-shaders, AOVs, passes and all the other fun stuff that's practically impossible to pull off in Studio.
But for something like a pool or lakebed it doesn't really matter. The slope/steps will be at X depth and the water will be at Y 'cloudiness'...it's the steps themselves that are setting the lower 'limit'. They'll look 'right' because they aren't as deep.
Zarcon, the DNA folks have long implemented Fresnel equations - that's the reflection/refraction relationship to viewing angle from your diagram. It's essential for every dielectric, not just water.
There are lots of ways for efficient volume rendering. Some are realtime even. Volumes are staples of VFX, and if AAA games aren't already using volumetrics (I simply don't know, I prefer indie and oldschool titles), then they surely will soon.
-----
Wowie, you mean proper modeling of a volume should be important for efficiency? Because for a proper volumetric algorithm, internal objects are okay, they just shadow the volume below. It's like those interior/atmosphere volume shaders we're used to with DS, the ones we use for godrays and glows. Water would simply absorb much more and scatter in a less noticeable fashion (I think; but I have never been underwater so I don't know; in murky water there may be godrays visible due to the same light scatter on particles that gives us godrays in air...)
-----
Mjc, trace() returns distance between ray hits (no speed penalty). Then it's up to you what you do with it. Feeding it to Beer's law, for instance. Gives acceptable results IMO, glossy refraction included (from the built-in GGX distribution).
I think it adds little touches that makes a rendering looks more believable. With proper models , for example the already posted water in a glass or volume for windows scenarios, we can be reasonably sure when something doesn't look right or correct, it's something with the shader, shader settings or render options.
Btw, Ashikmin and Premoze's paper
http://www.cs.utah.edu/~michael/water/waterPGColor.pdf
I think what is also implied, is the edge of the pool/pond where the basin of the pool/lake meets the edge of the water. In honesty, if your rendering a scene from inside the ground that would be an issue, lol. As for stuff visible from the air (or from in the water above the ground), each point on the surface would react no deferent from tight fitting cloths on G3F (It's either above the other surface and visible, or it's not).
As Kettu and wowie keep pointing out, there is allot of stuff in 3delight, that Daz/AoA/Omni shaders don't even tap into, that can be extremely useful. The parts are there to do it, especially for a lake viewed from above the water. It's just a matter of cobbling them together in a way that a PC can actually use it within our lifetimes, lol. (hinting at the inefficiency of Shader mixer and Scripts, vs compiled shaders in raw machine code).
I've also been thinking about, just what is needed for such a water shader, without going off the deep-end of bloatware. Dose water need 'velvet' if we have "Reflection strength" vs "viewing angle"? What dose SSS do for water, and can we do without it? etc.
God-rays, as pointed out, there already is ways to do the rays in the water effects, it's just a mater to match up god-ray direction and locations to the light source above, and the ripples of the surface of the water. Honestly I only recall seeing them from above the water surface, in really bad lakes choked full of green algae (murky swamps). It was only visible looking over the side of the boat at the wake of the boat, looking almost straight down into the water/muck, lol.
Normally the only visible effect, is the concentration of light on the bottom, from the ripples of the surface.
Attached Photos are for example only.
Here is a curious one, as I was just looking for an RGB value to put on a candle light (color) setting.
http://planetpixelemporium.com/tutorialpages/light.html
you input a Kelvin temperature that you want to be "white" and the temperature to convert into an RGB value. Visually, however, the results were disappointing. They were scientifically correct, but failed to take into account the adaptability of the human visual sense. - James Hastings.
Hmmm, Good point. There is the true color spectrum of the light, and then there is how we perceive the light in an environment.
I had simply guessed this past December for a scene/set, that I'm now expanding on a tad.
Gamma correction needs to be enabled, with proper albedo values. Lights should have falloffs too. If you look at the examples, they don't have falloffs. In real life, there's no way a single candle can light up the same area as a 100 watts Tungsten lamp.
A candle is about 15 Lm, a Tungsten light 1200 Lm, Neon lights 2600 Lm.
http://photography.tutsplus.com/articles/rules-for-perfect-lighting-understanding-the-inverse-square-law--photo-3483
Found this bit of info from here: http://www.intl-lighttech.com/support/light-measurement-glossary
POWER:
1 watt (W):
= 0.27 lm @ 400 nm
= 25.9 lm @ 450 nm
= 220.0 lm @ 500 nm
= 679.0 lm @ 550 nm
= 683.0 lm @ 555 nm
= 430.0 lm @ 600 nm
= 73.0 lm @ 650 nm
= 2.78 lm @ 700 nm
l lumen (lm)
= 1.465 x 10-3 W @ 555 nm
= 7.958 x 10-2 candela (4p sr)
1 joule (J)
= 1 watt*second
= 1 x 107 erg
= 0.2388 gram*calories
1 lm*second
= 1 talbot (T)
= 1.464 x 10-3 joules @ 555 nm
IRRADIANCE:
1 W/cm²
= 1 x 104 W/m²
= 6.83 x 106 lux @ 555 nm
=14.33 g*cal/cm²/min
1 lm/m²
= 1 lux
= 1 x 10-4 lm/cm²
=1 x 10-4 phot (ph)
= 9.290 x 10-2 lm/ft²
= 9.290 x 10-2 foot-candles (fc)
INTENSITY:
1 watt/steradian (W/sr)
= 12.566 watts (isotropic)
= 683 candela @ 555 nm
1 lumen/steradian (lm/sr)
= 1 candela (cd)
=12.566 lumens (isotropic)
= 1.464 x 10-3 W/sr @ 555 nm
RADIANCE:
1 W/cm²/sr
= 6.83 x 106 lm/m²/sr @ 555 nm
= 683 cd/cm²@ 555 nm
1 lm/m2/sr
= 1 candela/m² (cd/m²)
= 1 nit
= 1 x 10-4 lm/cm²/sr
= 1 x 10-4 cd/cm²
= 1 x 10-4 stilb (sb)
= 9.290 x 10-2 cd/ft²
= 9.290 x 10-2 lm/ft²/sr
= 3.142 apostilbs (asb)
= 3.142 x 10-4 lamberts (L)
= 2.919 x 10-1 foot-lamberts (fL)
Great find, wowie...that chart should be required material.
I had just seen a vid, with a good disclaimer to all that wowie. Precision: The Measure of All Things. Heat Light and Electricity. Specifically the Light bit.
Back in the day, to make sure the fuel for lamps was sold consistent to the quality of the fuel, a measure was established based on the amount of light given off. It still wasn't all that accrete at the time for the 'Inspectors' to use the new candles with visual comparison methods.
Professor Marcus du Sautoy, further explained using a table full of candles, that when he extinguished half of them and the camera showed the dimming of the light in the room, he did not perceive the room to be any dimmer. Because the Iris in his eyes had adjusted to the different light level, and the camera did not.
I was just initially looking for a color for the light, to make it not look like a modern electric light, lol. As for the rest, yes light falloff can be very critical to how realistic a render looks for a scene, even if the light level is far lower then an actual Camera could capture compared to an adjusted eye (some one that has been in the room for a bit of time).
That's why the most relevant unit is lux, simply because with a lux meter, we can objectively measure how much something is lit, at various distances with a light with a physical falloff.
You don't even have to buy a light meter if you don't mind slightly inaccurate measurements. There's a lot of free apps for smartphones that provides the function.
Short of studio style photoshoots or movie sets, those apps are accurate enough for everyday use...and from the ones I've seen they seem to be at least as accurate as the older, low to midrange light meters that were popular among the amatuer/hobbyest photographer crowd.
Wowie, I see. You mean surface tension effects, ripples etc accounted for in the water mesh. Yup I agree that's important. Fluid sim is the best way for this (and caustics). I've been trying out the Blender sim, and it's very nice.
------
Zarcon, thanks for the murky water confirmation. The light patterns on the bottom are caustics.Clear water needs three things: reflection (including what we call specular), refraction and absorption. With reflection/refraction being driven by Fresnel equations (viewing angle dependent). SSS is overkill for "transparent" materials; "velvet" is a cheat for fuzzy surfaces - using it instead of physically correct reflection attenuation (Fresnel) is a last resort practice only more or less acceptable for rough materials (velvet's not really reflective).
-----PS I hate how this forum works on Firefox Android!
And BTW, last night I discovered that motion blur works perfectly well with "scripted rendering ". You set it up in the 'normal' 3DL options, and then it's automagically sent to the renderer when you go back to the scripts.
Been having issues with car models, so no real renders yet.
Interesting.
http://renderman.pixar.com/university/zip/RIS_RenderMan_Article.pdf
http://www.creativebloq.com/3d/create-photoreal-3d-model-renderman-31514531?page=1
Cavity & Roughness maps for speculars and ray length map (scale in DS 3delight terms) to control SSS.
A fully indoor lighting test. As usual, UE2 plus some linear point lights with US2 on everything. Instanced a lot of the props, manually placing them around the room. The brick walls probably could've used some displacement, but I forgot to enable it.
I think the brick looks a little too glossy...but otherwise looking good.
Separate scatter/transmission mapping could be even more precise - for those who are really up to the task of painting those maps. You may've seen the options in my shader.
What I wouldn't want to do is write shaders for the PRMan RIS platform =D They're apparently straight out C code, not a shading language. This is where the DNA devs have created a distinct advantage for the user, in that moving to full raytracing does not require a completely new set of coding skills.
And the Halloween room looks very neat - and spooky =) Those bone-and-blood coloured balloons are rather sinister...
That's intended actually. I applied a preset for rough wall on the ceiling and painted/glazed wall on the bricks. So they're a bit glossy and reflective. Didn't want to use the default textures, since I think it looks too bland. Most of the texutres are from Stonemason's set, which explains the tiling issues here and there. The only thing I still don't quite like is that chrome thing in the fireplace. The one with negative opacity a while back. Couldn't find any reference images with that same style, so it's hard to judge how it's supposed to look like in real life.
Yeah, I've seen the options. But I'm way too lazy (right now) in painting my own textures. I like how the approach breaks the uniform look of skin though, for both SSS and specular. Way too much of that going on with the iray renders. Skin isn't uniform and that's caused by a lot of factors (thickness, hemoglobin and pigmentation). To think the guy doing that is only 19 years old.
What's eerie is how those books stand up straight without any support.
I though about instancing more books to make it look more real, but I like that surreal look. Did some tuning to the light a bit so there's some dark areas in the fireplace and more shadows underneath the sofa etc.
I should probably take a look at making my own linear point lights with gobo support. Might be able to approximate some IES profiles that way.
And that is one reason I've given up playing with it...
He's an intern at Pixar if I get it right, so he's probably learning from the right people. Lucky dude =)
Hey, I can do the same IRL =D If a book is sturdy enough, it can support itself well when you open it a bit... XD
Should be very doable with spotlights, but may involve a bit more math with a point light. You could first test the idea by using a primitive sphere around the point light and an opacity colour map applied to that sphere.