CG Sketchbook , notes and tutorials

  • dehoorn2
  • gavr-ship-render1
  • wlv5
  • bconf2013-shading-21
  • final-difcol
  • tuning18
  • tuning10
  • tuning6fog
  • detailing10
  • texturing18


Cape Horn Ships

eendracht1 Ahoy!, I’ve worked on 2 more ships for Rob Tuytel and the Golden Age project.

This time  i got to do them from scratch : including lowpoly model from histrorical references, baking hi to low poly and texturing, all in Blender and Gimp.

The workflow was conceptually the same as previous ship , but this time i didn’t use DDO, just Blender !  i used the same kind of operations and filters based on processing the NM, AO and cavity maps , but all was done in blender nodes.

First step is making a cavity from normal (with compositor nodes) , step 2 is making generic base “dirtmaps” : one similar to ddo’s “acid” effect (for generic discoloration effects) , a classic one for crevices and areas that gather dust or rust , and  similar one but for exposed thin edges (last 2 could be 1 but it’s easier and more accurate this way). I bake this equal for all the model , later use them differently based on the material of the individual piece.

Step 3 is assembling a material in cycles nodes : there i do the remaining blending and mixing to recreate dirt effects (i.e. i take the crevices map , blend it with a tileable rust texture, or add the acid effect mask just picking the right color and opacity for it )   to define different materials for pieces of the same model , i use a color id map (just like ddo workflow) that i baked previously during the hi to low bake (so materials are assigned to hipoly indipendently from lowpoly topology)

Baking was done as usual, relying mostly on splitting the model into many (30-40) pieces to avoid interferences with normals baking  rather than using complex cages.

To manage the process and the many pairs of lo/hi objects i used an addon called “meltdown”  great script ! maybe a bit over-scripted lots of features but very easy to break (if you have multiple scenes it really necessary to make a copy of everything to bake? ) i had just started writing the same on my own when i found it done already ,  and with plenty of features , i’ll need to read the python and investigate.

It’s a great thing about Blender that with such features/addons you have good chances of being able to contact directly the author and discuss it .. too bad i almost never get around to do that ! (on my list besides meltdown and texture atlas , fbx export and normal edits )


Last piece is the island , this is still wip (half day sculpting on a simple basemesh , with another half it could hold up for close ups).

I got the base mesh from Nasa SRTM project ( they have the whole earth as elevation maps for free, with a resolution of about 30m/pixel )  imported into blender (.HGT is a bitmap with georeferencing and height infos) , refined the coastline using open street maps contours, then sculpted the rest from photo.

Another useful tool for this was Meshlab : the quadric edge collapse decimation filter is  better than blender’s (including planar decimation) and comparable to Zbrush decimation master. It got the 3 million tris sculpt down to 60k tris keeping uvs (in screenshot, with normal map)

So the ingame island is a static mesh, not using terrain  system because it’s used for a flyover and background.

This was more efficient and detailed, i guess the rule is: terrain systems are for when you really need to walk on it , in any point with same detail , otherwise it’s easier to manually put detail where needed , in this case about 10x tris density in the front cliff compared to the back of the island)

Note this screenshot and the ones with all boats and the sea are from Unity 5 , the rest are rendered in Marmoset toolbag.

Unity 5 uses PBR too, so it’s about the same .. but i find Marmoset still a bit better, temporal AA is a lifesaver if you have thin stuff like rigging ropes!

In particular, low glossiness materials (like wood) seem to work a bit better in Marmoset .. i get the feeling they still show nice and correct highlights even when gloss and spec values are very low. While in Unity .. they look just diffuse, so you bump the values up a bit but then they risk looking metallic in light setups with strong highlights.


“The Golden Age” ship texturing


Ship texturing for The Golden Age VR :

  • –hipoly sculpting , nm/ao bake to lowpoly in Blender.
  • –dirt baking in DDO legacy.
  • –Base texturing and final editing in Gimp.
  • –Render in Marmoset (diff+spec+nm , constant gloss, pbr shading)

This december, i worked on texturing this ship model for The Golden Age VR (

The project is a VR/museum/reconstruction of a Dutch city in all the splendor of the 17th century .

The lead env. artist for the project is Rob Tuytel (with whom i had the pleasure of working already on Project Mango).

It’s been a great chance to work on an interesting asset (Arrr : it’s a galleon ! how cool is least , until you get to having to  paint each piece of rigging and decor ! ), and technically fascinating too : while the project is -for now- developed in Unity 4, i’ve made spec maps and rendered this asset in Marmoset (and i’m currently digging into the general subject of PBR and next-gen shading)

This slideshow requires JavaScript.

W.I.P images and info (click on images to read descriptions) :

Kenshi : texturing game env assets


Long time without posting ! i know. At least, it’s because of  constant work, and that means i have stuff to show !

(often the delay before being able to show something is up to 1-2 years., too bad but that’s how it works)

Here are screenshots of game environment texturing work i did earlier this year for 3D-Masala (who did modelling and supervision and doing a great job at that : reviewing and pointing me to a cleaner, more polished look )  (makers of the game Kenshi )

W.i.p shot of the dirt and edge wear maps painted in Blender (hand-refined, based on processing a cavity map + grunge tileables)

bench-scratchmaskW.i.p shot of detailing hipoly sculpts : metal plates done in Blender sculpt , baked to normals (as the concrete edges chipping in this case, in others concrete nm was handpainted, processed in gimp and converted to nm)


Branched path tracing and complex node trees tests (BConf13 slides)

Just back from Blender Conf 2013 .. so nice , as usual :D

Below the slides i had prepared for the Tube project talk . Presentation was very short, so i only mentioned the tests i did on render performance of complex node trees in progressive path tracing vs. branched path tracing.

The 1st 10 slides are misc. w.i.p. images from Tube , the last ones show some comparisons between integrators , basically : branched being faster for easier cases (like absence of transmission and sss components and no dof or motion blur which require high AA ) and if setup correctly (trying to keep AA samples as low as possible)

Also the comparison is between complex node trees (= blending dirtmaps and tileables ‘live’ in the cycles material nodes) and ‘baked’ materials (= not lightbake, just ‘flattening’ the node tree to a single image per channel)

And the result is, baked shaders are much faster (circa. 150%) than complex nodetrees in progressive mode , while in branched the difference is only around 10%.

The test should be more extensive , with more data points ..but this seems to be the pattern. That’s relatively good news for shading artists wanting the flexibility and speed of setup of complex nodetrees but worried about their technical rendertime performance.

More to come on the subject, please post if you have any question.

This slideshow requires JavaScript.

EDIT : seems the slideshow gallery type doesn’t allow fullscreen , to see images fullsize (to read rendertimes!)  click below (“more..”) to see expanded gallery with links to fullsize slides.

Read the rest of this page »

Final! (..final1, at least)


This is the final image of my personal still project. after some feedback i got on forums :

it was mentioned adding a character, .. but characters are an issue : being an env artist, that’s what i focus on . When i tried to have chars in my last personal still .. they weren’t at the same level as the hard-surface parts, and i don’t want people to be distracted by a bad skin shader or similar..

So i thought , if not chars .. at least some storytelling element would help , i came up with the idea of the cordon.. (like a crime scene, or a contagion zone .. ) it’s just a minor element but adds some plot , as well as just phyisically filling some space in the road area , and ,as for composition , it mirrors the curve of the arch above.

The other update is i’ve added displacement to the foreground bricks … being those so close up, makes a nice difference to have the detailed silhouette and better shading… (and it wasn’t much work , i just added some subd, a displace modifier an used weight paint to tweak intensity in different areas)

Latest feedback i got -just after publishing as final on BA, argh! :) – was a mock-up for better composition and perspective. A great suggestion .. especially considering i’m still bothered that my last big personal project was precisely too simmetrical in composition .  I think i’ll keep it this way and wrap up, but , i’ll remember that , check the mockup at CGS forums, quite interesting :

Diffcol pass and wireframe :

final-wire+AO final-difcol

Video ‘post mortem’ project analysis :


new still : time to wrap

Here’s the latest render of this env still .  It’s time to wrap this up ! but i still want some feedback so i’m posting some material to share on forums :


Slideshow of all test renders from blockout to final tweaks :

This slideshow requires JavaScript.

Below, a screengrab showing which materials are based on dirtmaps (the ones in greyscale ) dirtmaps were 1st baked with the batchbake script , then painted over. The coloured parts are materials based on photos (of a ‘complete’ architectural piece like a wall panel or door) , except the sidewalk tiles based on sculpts  done in Blender (and photos)


And Some passes from the latest render (AO and diff) :



Read the rest of this page »

New Still : few more bits and pieces


Can you spot the difference with previous update ? just kidding .. the tweaks are getting smaller , but still, at this point you want to patch up all the small imperfections or unfinished bits.

Some visible changes are to composition, mostly on color grading and exposure,  including changing  brightness of some material to get better overall colors (i.e. the background building bricks are brighter and of a cooler hue  now )

I’ve refined the fog , using the “shaded” mode instead of “shadowed” , it’s slower but more realistic , the godrays are barely visible  but more ‘physically’ plausible.

An interesting bit -even if not very visible- is that i’ve finally painted (photo-based) spec and bumpmaps for the green doors on the right and ‘diamond’ wall (on the left) :  those parts are heavily based on photos (meaning the model is traced over an actual photo of the full wall or door )

Basing the model heavily on a photo of a complete architectural element definitely helps realism .. However i was bothered by the shading which looked a bit more “plain” and flat : it had bump and spec , but derived from the photo in cycles nodes, i spent about 30mins each in gimp with brushes and filters and i think they now integrate better with the rest.

In general , using good , complex photo textures was one of the aims of this still … i always relied more on tileables and complex shaders than good photos,(in the end, here too they’re just a few pieces).

But they have their pros .. like the door in the background : i think i wouldn’t have came up myself with such an interesting pattern in weathering (instead i just found a gorgeous looking hallway door in the city center.. and snapped a photo)




New still : volumetrics



It took some experiments but i finally have fog, with light rays !

It was a long time i wanted to learn volumetrics properly, and get some proper ‘god rays’/ light halos and a ‘physically simulated’ fog  .. not uniform but showing swirls, movement and interaction with the env.

Making smoke simulations in blender is heaps of fun , but somehow also quite frustrating ,  it’s intuitive because it’s all based on physical params (emitters of smoke , wind forces , etc..) but it took quite a few iterations of change-the-sim-rebake-render-tweak and redo .. mostly in order to get an interesting distribution.


Above is a screenshot of the smoke sim scene , using a very simplified geometry loosely matching the scene as obstacle , some smoke emission from the ground , some from vertical planes on the side of the scene and 2 wind forces to push the smoke accross the scene.


Rendering the pass was the tricky part :


The screenshot above is the fog ‘pass’ : i copied the smoke sim result to another scene with the actual geometry , rendered , then partially colorized the smoke  based on depth (in comp) .

“God rays” were though to get .. the trickiest part was figuring out that “shaded” volume mode enables this effect , but only if light cache resolution is high enough (like 512 instead of default 50 )

But i ended up using “shadowed” : it does lightrays too ,  even if less refined (as if these volume shadows where perfectly sharp)  but is also generally faster to render.

Also the shading params aren’t as intuitive as for “solids” (“diffuse or glossy”) : In a Blender volume material  “reflection” is what will respond to external lights , so that must be high , a bit of scattering/trasmission and density  are necessary , but best kept low (quite low , even like 0.0X)  to reduce the  thickness of depth-fog vs. the intensity of the rays. And it’s necessary to have quite strong lights for them to show up as volume rays.

Though i don’t know much of the technical workings of volumes .. it would make an interesting tutorial , i’ll try making something for my YT channel when i’m done with this still.








New still : almost there…

Almost done , still to do for sure is some volumetric light and fog , and a few more details (some props ? and floating leaves or litter …)

I kind of like the light and comp as it is now .. however , i’m never sure : modelling and textures ,for me,  either ‘work’ or ‘don’t’,  i can easily decide  if they’re done or not.

Refining light and comp ?  it’s a much less linear process .. at this point of making a still i always become paranoid of messing up the look ..or that a different comp could make everything look much better :D

One way to manage this is checking the previous wip renders (doing them often and always saving them) :  in this case i ‘confirmed’  improvements in contrast and exposure ..but i probably lost something in colors : too little saturation? …


In the screenshot below,  some  details about the render setup in Cycles :

It’s non-progressive -of course!  this mode is working fine now ( since january fixes i think, but i had not tried vast scenes so far )

I’m getting some decent rendertimes .. Well , sorta. This render is 3 hours on my 6 cores cpu .. but it’s not that bad .. the scene is not optimized for speed (as in being  hipoly and fancy materials ), the Gi uses 4 bounces, there’s  a hint of dof and motion blur on the leaves (still wip) and resolution is 150% of fullHD .

The noise is very uniform  from the 1st sample : that’s a good sign, means  not much rendertime is ‘wasted’ sampling some stuff more than necessary ( ‘stuff’ like  direct light or AA, which  require less samples than gi or ao)

And no fireflies !  well, it’s sunlight and not too much glossy , so not a very though case .. but check the left lamp (selected and with nodes shown in editor below ) the “light falloff” node can be super-helpful : it smooths the intensity  decay curve close to the lamp source .. so areas very close to the lamp won’t receive super strong light intensity , and won’t generate fireflies !

By contrast , the lamp under the balcony on the right is still missing that tweak , and you can see it does generate fireflies in the diff indir channel (bottom left of screenshot)

Edit : And by the way ,  in the diff indir pass, notice the light on the far building facade ? that’s bounce light from a white diffuse card (hidden on the right ) .. that adds some nice bounce light without adding  lamps.

That’s also something to remember .. when modelling buildings and streets , you don’t need the ones you won’t see , but if you’re using GI  you can often use some planes to bounce back sunlight  for realism and/or for a specific light effect..


New still: road and other facades


About everything is textured ! and most is working ok, with some tweaks to do (the dirt color in the green building, the puddles water shader) i’m also planning to add some more mesh details and props (especially to the background building) , and rework some models (like the garden entrance).

I’ve also worked a bit on the lighting ,  trying to get a balance between dusk sunlight and artificial light.

Also, i’d really like to  have some  volumetric light and fog ,  so i guess i can’t refine the comp much (in contrast .. staturation and key/fill light ratio ..) before setting that up.

But, In general, .. this render gives a good idea of where this is going .. And, as usual, with my renders it has a peculiar “matte” look to it … and , more than that, the lighting isn’t very contrasted .. if you blur the image you quickly get to a flat grey  .. But i also like that matte look !  you can read and see detail in shadow areas and it’s not too “cheap-cg-glossy”  (when i say matte or glossy here , i don’t mean ‘materials’  but the ‘film’ ..the general look/lighting style )

This question is also related to something that i started figuring out during Mango.. that’s the “conflict” between lighting and textures : strong, rich, contrasted textures can get in the way of lighting , almost “overriding” the lighting itself  …this image is a good test ground for this , at some point i’ll have to do the comp not starting from the final render but rebuilding it from passes , so i can try to balance influence of color passes and dir/indir light passes … let’s see..

Btw , thanks for the comments !  i’ve posted this only on the blog and social networks because so far i stuck to ‘my own plan’ and  had lots to test anyway, but at some point i should try to get more crits and additional ideas ..


Get every new post delivered to your Inbox.

Join 32 other followers

%d bloggers like this: