Shader mixer, applied crash course pt.1

AoA Subsurface is a popular shader for DS+3Delight. It has a problem, though: it’s a shader mixer network, and shader mixer is hardwired to output completely unwanted visibility attributes when there is an “image” brick attached to surface opacity anywhere up the line, even when there is no image there, only colour.

Those attributes tell 3Delight to run the whole shader when calculating raytraced shadows and diffuse light transport like ambient occlusion or indirect lighting – yes, even when your object is completely solid!!

This can slow your renders down. Exact amount varies, but still, why put up with those extra calculations?

We can fix it by tinkering with the spaghetti in the shader mixer.

IMPORTANT: unfortunately this is not a one-off fix that will automatically carry over to all the AoA presets you have – because every shader mixer preset actually has the whole network saved in it and not just parameter values. So you will need to remember to fix every preset you may use. Fortunately, it’s fairly easy once you get the gist of it.

Here is how to do it.

Continue reading Shader mixer, applied crash course pt.1

close but no cigar

Here is a post I made on the DAZ forums where I try to match my 3Delight mats in Iray.

I don’t check my GPU temperature when I game. Maybe I should log it, or something. These multiple 1.5+ hour Iray sessions raised the GPU temperature to as high as 80C. And I refrained from rendering on hotter days! Oh my. If only I could have air conditioning at home.

And even though I rebuilt my Iray settings from the ground up, making them much closer to my 3Delight materials in structure, there’s still a difference.

I know some people will prefer the Iray look, but hey, these are my materials, so what matters most is my opinion. =P

Either way, I’m glad I undertook this because I learnt more about this “Iray Uber base” DS material. Gotta be useful one day.

Greg, Michele, I remember I sent you my older “magic” presets once; would you be interested in an updated version?


first steps


I could never learn the proper methods of exporting terrains made in Bryce or even Vue so that they’d look good. This one is a test of what can be done with L3DT – which is specifically designed to create terrains for export and not internal rendering. I did end up putting a generic noise tile in the bump map channel, though; other than that, it’s a fairly lo-res one, but you see it’s not that bad. The normal map drives vector displacement, the effects of which are quite subtle here.

The mist is from that amalgamation of basic depth/height cue type of “fog” shaders that I was putting together a while ago. Still haven’t put any noise in.

The water is the cheapest hack: another noise map for the “waves”, just motion-blurred. You can see it doesn’t really look right. But at least my “glass” shader does the “fake absorption” thing more or less convincingly.

Next time I’m back at landscaping, I’ll try flooding the lakes in the Blender water sim.

vector displacement in DS

Normal maps as-is are just glorified bump maps: they don’t change actual shape of the mesh. But if you have a contemporary renderer like 3Delight that supports vector displacement, you can get intricate shapes from basic primitives – if you have the right maps, that is.

The cylinder has a basic normal map made in MapZone applied, but if you zoom in, you’ll see it displaces the outline correctly.

And the ear is just a primitive plane. The ear map is available on the 3Delight wiki.

I think I should also try adding the new vertex displacement mode; it doesn’t give the same detailing, but there are situations where it can be useful because it should be faster.

As of right now, I only added vector displacement to RadiumFabric; I guess RadiumSolid should also have it, but I’m not sure if it’s worth the effort adding it to the Glass shader.

With the amount of writing that has to be done for my real life job currently, I honestly don’t feel like doing any more writing for my hobbies at the moment (and likely in the next few following months)… so I’m coding in new features instead of polishing the documentation. Bad, bad Fox.

if only those Poser figures had better geometry

This is a 3Delight test of Sydney found in the content that comes with Poser 10. The figure predates the Poser weight-mapping, so in theory there should be no problem using her in DS… but theory and practice are different.

I really like this character’s face (and eyes! they are modeled perfect for the new RT SSS, unlike the DAZ Gen4 onwards eyes), and many of those Poser figures have awesome expression morphs far surpassing default expression controls of DAZ figures, but sadly the Poser folks always have flaws: either particularly horrible bends or weird geometry issues, like here. Maybe it’s due to the “Face Room” system in Poser, but you can see that there is a “crack” on her neck. And there are also fitting issues with her sandals (you can fit them by zeroing both the figure and their pose before, but when you reload the scene, they get totally mangled). Shame, they are very nice (I had to make bump maps for most of the materials, but that’s okay). There are logical mat zones on the shoes and clothing, so I could easily use proper metal materials in the right places – save for the zipper teeth, but that could be fixed by making a “metallicity” map out of the bump.

I’m wondering if it’s possible to fix the geometry without re-doing all the morphs. The shoes thing could be overcome by splitting the CR2 into OBJ props and parenting them to the feet individually (not much room for bending there).

The hair is also one of Sydney’s two dedicated styles, but the diffuse, spec and bump textures are new, from one of the merchant resources I have. The top of the head isn’t perfect anyway (the least “realistic” looking), but very few transmapped hair models look good enough there. Maybe I could try adding a cap.

this is me

Silver Fox ’85, the official toon version. The fur and hair textures aren’t exactly designed for closeups, but I’m including one just for the sake of vanity.

I’m obviously keeping the character to myself, but I will tell you what went into the making of it =) The base figure is Krystal, and everything else apart from the hair, the skirt and the belt is a freebie, like Krystal herself. Well, the lace on the shirt comes from Transmap-O-Matic which I got from Michele’s old storefront at Rendo, and I cannot recall if Michele did ever put it up for free or not… Either way, most of the textures can be found here at Michele’s blog.

And here is Krystal and a load of her clothing, while this ShareCG page hosts the texture resources I used for the base to make the fur (Blacksmith3D is very handy for fixing the seams, but the rest of overlays I painted in the good ole trusty Paint.NET). The tail is the Bushy Tail also found on the LittleDragon pages. The bracelets were also part of a freebie pack, but I cannot recall what it was called ATM.

The paid-for clothing items are fairly old, so I don’t know if they’re available anymore. Regardless… The skirt is from here with a texture from this pack, and here’s where the belt is from. Then… The hair is this one. It’s still available, and inexpensive.

Eyelashes are made in LAMH, and claws are simple deformed spheres parented to the fingers.

Now, whenever I have more free time, I should dig out my classic “patriotic scene” with the carnations in the colours of the Russian flag, and have the virtual me pose with them for a new forum/Rendo/dA userpic.




how do I…

…tell the shader where the shading point lies on a RiCurve, relative to beginning/end of the curve?? I want to implement a root-to-tip gradient. Or is it among those things that can’t be done arbitrarily in a shader and you need the curve generator to export some extra params??

the magic of RiAttributes

Excluding a transmapped or refractive surface from GI is a surefire way to lower render time – often, spectacularly – but sometimes the look isn’t exactly what you want (especially if the HDRI is the only source of light in the scene – then it is the same as disabling shadows on that surface).

But – what no premade DS shaders have ever offered – if you limit diffuse bounces to 1 for that surface, the render time increase is minimal, but the shadowing is there.