can people be Bryce-incompatible?

If yes, then I’m definitely one of them.

See, I managed to crash the Sky Lab numerous times by doing rather innocent things (or so I thought). It’s… frustrating.

Yes, you can get an HDRI out of the Sky Lab in a fraction of time it takes to render a scene to HDRI, either in Bryce or in Vue. But there are so many hidden variables at play that it feels worse than going straight down into a Daggerfall dungeon without a recall spell.

For those less dinosaur-CRPG-oriented, I just grabbed a screenshot in Daggerfall Modelling showing (part of) the structure of a random dungeon. If you’re thinking “the hell is that”, well, you’re right. Exactly that.


So I guess it just wasn’t meant to be, in my case. But anyone else is free to try. It is even possible to get a decent EV range in your HDRI from the get-go by fiddling with the parameters.

I’d stick to Vue from now on, though. Yes it’s way slower (a 4096×2048 map takes around an hour to render on my machine, using just the Global Ambience model). But it’s way easier to generate realistic pretty clouds in Vue, if anything. So that’s definitely a winner.

What I can’t seem to squeeze out of my venerable Vue 9 Esprit is any sort of workable dynamic range. So Partha’s GIMP builds to the rescue… If you save the HDR that Vue spits out as an EXR file, you can open it in any of his GIMP 2.9 versions (I prefer the “colour corrected” one). We only want to increase the brightness of our sun, so we toggle the “quick mask” and paint the selection in the form of a single round brush stroke where the sun is. // you need to select the “quick mask” in the “Channels” tab and use white as your foreground colour // Then we disable the “quick mask”, go back to our layer and mess with the “Exposure” slider. It only goes up to 10, but you can launch it as many times as you need (and you can change the selection via the “quick mask” to get a glow around the sun, for example).

So, according to Picturenaut, in the case of this particular map, we go from a measly 3 in dynamic range up to 19. Check out the difference in how this map lights the scene. And also notice fireflies.

Most really good HDR maps will give you fireflies, unless you use a crazy number of pixel samples. If you’re one of those who like rendering overnight, then fine. I’m not like that.

So I finally introduced specular intensity clamping to my shaders. Here, the torus on the left has no clamping; the torus on the right, the ground and the cone all clamp.


Wowie once reasoned that 16 would be a good enough value that kills most fireflies but keeps most of the dynamic range for rendering to HDR. So this is what I used.

I’d say it doesn’t look half bad for a first attempt.

The takeaway:
Obviously you can use the GIMP trick to enhance just about any other HDR map you find too dim, not just the ones you render yourself. And while there are loads of real footage HDR maps out there these days, with Mec4D’s ones featuring very pretty locations and all Greg Zaal’s ones being free now, sometimes you do need a map that no-one else ever made.


today I learnt…

…that HDR maps exported directly out of the Sky Lab in Bryce 7 as EXR are kinda different.

The torus on the left uses the Cook-Torrance model built into 3Delight’s trace() shadeop. The torus on the right uses the Ashikhmin-Shirley one. Look closer, and you’ll see that the A-S model somehow thinks the skymap is grayscale, while C-T does not.

It’s not the best example, really, but it’s a fact. I’ll post a more noticeable one later.


My old skymaps I rendered to HDR “normally” are seen by both models as coloured.

I need to see if saving to actual Radiance HDR will change anything about the way Sky Lab exports maps (it’s significantly faster than having the whole scene render!!). Failing that – I’ll have to figure out what all those parameters mean and if they affect the export somehow.

I don’t even know the mechanism that may cause this to happen. Damn, I honestly don’t feel like reading through the whole OpenEXR specification.

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??