Monday, 20 April 2026

Blender School: Rendering shots using layers

 Blender supports the use of View Layers, in which a shot is rendered in multiple passes, with only selective elements sent to the render engine. Each layer renders with the background set to transparent, so that each layer can be recombined in the compositor.

Why use Render Layers?

Very large scenes quickly exhaust your system's resources, causing render times to be longer, and if an element needs to be redone, you have to render everything again. Using view layers, you do a shot in a number of separate renders. If one of the elements contains an error, you only need to re-render that individual element.

Is it hard to do?

Apparently, not. Let's see!

1.  Organise!

Ensure that the elements that you want to render in separate layers are organised into collections, as this makes it easier to mark which elements are visible in each view layer.


Important: Enable the Indirect Only flag in Outliner. For layers that generate emission, such as True-Sky, you will need the lighting from these elements to be sent to the render engine without the background elements, such as sky and clouds.

2. Create your View Layers

Render

Important: For the default combined view Render Layer "ViewLayer", go to its Layer panel and turn off Use for Rendering. If you don't, it will result in a render layer that you won't be using in the compositor. It's worth keeping, as you can use this view layer to make scene changes without affecting the other view layers.


Use for Render - turned off for the ViewLayer 


For an example landscape scene, I've broken the layers down as follows:

Sky - Clouds and Sky
Background - Most distant terrain elements
Midground - terrain between the distant background elements and the foreground
Foreground - The terrain at the front of the scene

The ordering indicates how the layers will be stacked in the compositor. If you get it wrong, you'll get very odd results, as elements that should be occluded will be visible—like background mountains appearing over the foreground elements.

Note that Render layer ordering isn't critical; it's how these layers are ordered in the compositor that counts.

In each of your layers, ensure:
  • Only the collections you want to render are enabled.
  • Go to Film in the render settings and enable Transparent. This ensures that no scene background is rendered in each layer, so anything behind them remains visible in the compositor.
  • Ensure staging elements such as lighting, cameras, etc., are included in each layer. 
3. Set up the Compositor

a) Open the compositor and select View Nodes. This is automatic from Blender 5.0!
b) Create a Render Layer node for each of your render layers, select the layer name in the dropdown. This ensures that Blender includes each layer in the pipeline.
c) Create Alpha Over nodes to combine your layers, starting at the back (Sky layer, Background layer).
d) Create another Alpha Over node and combine the next set of two render layers.
e) Combine the outputs into another Alpha Over, get the ordering right so the back stuff goes into the background channel. Through this process, you should end up with an Alpha Over node that contains all scene layers; this will output to the Group Output and optionally, the Viewer.

All the layers together

When you render from the compositor, Blender renders each layer in order and builds the output according to your compositor node tree.

Viewed Separately:

Sky layer


Background Layer (White area is transparent space)


Midground


Foreground

All combined in the output



Sunday, 19 April 2026

Weekend deadline

 I need to catch up with the director. My progress has stopped, my enthusiasm sapped by not breaking through a crop of creative and technical challenges. I've suggested Monday, which gives me today and tomorrow to actually have something to show.

Let's break it down:

What do we need?

A large terrain, roughly 30km x 30km, showing the dry canyon/broken ground where the next scene of the episode takes place. Surrounding the broken ground are mountains, and in the distance, there is an island on a lake. There's a city on the island from which we can see smoke rising.

And why is that hard?

It's a huge terrain viewed from high altitude, so you see it more than a terrain viewed from on or near the ground.  Getting enough detail that looks right is really hard. I've used World Creator to sculpt elements and patch them together. That works great so long as the different elements are scaled consistently. I've found that some elements don't align with erosion and flow patterns. 

Once a terrain is created, getting ground patterns through a scatter system is not really feasible. Scattering systems use instancing, so they can apply thousands of grass clumps using only one 3D model, which is super memory-efficient. However, the number of instances you can apply to a terrain is not unlimited. At some point, your viewport will buckle and probably crash Blender. Even if it scatters off in the viewport and view them selectively, eventually, Blender will fall over trying to create the shopping list of elements to feed to the rendering engine. You can scatter distant forests in a big scene from the ground where trees that are more than 5 miles away are occluded by hills, but when you are at 20,000 feet, there's not much blocking your view of hundreds of square miles of trees. You need to fake it!

Things I could do:

1) Use Render Layers to break the scene up. The output needs to be reassembled in the compositor, but this approach lets you render the scene in pieces, using fewer resources each time and allowing you to fix things selectively. This may require the terrain to be broken into sections.

2) Use shader tricks instead of scatters. When you have millions of trees and bushes to apply to a vast landscape, it may be better to use trickery. 

Test terrain


Co-pilot output on efficient substitutes for scatters:

Below is practical, performance‑focused guidance for using Blender Geometry Nodes to create plants and vegetation that scale to very large terrains, while avoiding classic scatter‑system bottlenecks. I’ll clearly separate what is explicitly supported by documented behaviour from expert recommendations, as required.


1. Think “Hierarchical Instancing”, Not “Scatter Everything Flat”

What the docs explicitly confirm

Blender Geometry Nodes support nested instancing, where instances can themselves contain other instances, and only unique meshes are actually stored in memory. This dramatically improves performance for large scenes. [docs.blender.org]

However:

  • Blender currently supports only 8 levels of nested instancing for viewport and rendering; deeper trees must be realized. [docs.blender.org]

Recommended plant structure (expert guidance)

Build vegetation as multi-level instance trees:

Terrain

 └── Biome instance (forest / grassland)

      └── Species instance (pine, fern, grass type)

           └── Variation instance (size/shape seed)

                └── Mesh (leaf, blade, branch)


This ensures:

  • One mesh processed once, reused millions of times

  • GPU memory stays stable even at continental scale

  • Wind animation and transforms stay cheap

Avoid directly instancing final meshes at terrain level.


2. Never Realize Instances Unless You Absolutely Must

What the docs explicitly confirm

  • Realize Instances converts instanced geometry into unique geometry.

  • Once realized, every node downstream processes all geometry individually, increasing memory and CPU cost significantly. [docs.blender.org]

Best practice

  • Keep instances unrealized all the way to the final output

  • Only realize:

    • Meshes needing deformation (cloth, sculpting)

    • Export pipelines that cannot handle instances

Leaves, grass, small debris should never be realized.


3. Use Camera‑Relative Density (Not Global Density)

What community sources explicitly note

Large Geometry Nodes setups slow down mainly due to:

  • Huge point counts

  • Viewport evaluating everything at once

  • Memory spikes proportional to terrain size [blenderartists.org]

Recommended solution

Use distance-based falloff driven by camera position:

  • High density near camera

  • Medium density in mid‑range

  • Very low or zero density beyond

This keeps:

  • Viewport responsive

  • Render performance stable

This approach mirrors built‑in LOD systems used by procedural terrain tools that emphasize automatic level-of-detail control. [blenderkit.com]


4. Avoid Alpha Planes for Vegetation in Cycles

What’s explicitly stated

Community reports confirm that alpha‑textured planes (grass cards) can:

Recommended approach

  • Prefer low‑poly meshes over alpha cards

  • Use instances to compensate for higher vertex counts

  • Use opacity only where unavoidable (e.g., distant impostors)


5. Partition Terrains into Tiles, Not One Mega‑Mesh

What performance discussions show

Large single meshes combined with Geometry Nodes cause:

Proven scalable approach

  • Split terrain into tiles / chunks

  • Each tile has its own Geometry Nodes modifier

  • Use world coordinates to keep continuity

This allows:

  • Partial evaluation

  • Streaming‑like behavior

  • Easier debugging


6. Limit Geometry Node Evaluation in the Viewport

Explicitly documented workaround

Blender provides an Is Viewport field input that allows different values for viewport vs render evaluation, useful for density reduction. [blenderartists.org]

Practical setup

  • Viewport density: low

  • Render density: full

  • Switch node controlled by Is Viewport

This alone can turn an unusable scene into an interactive one.


7. Prefer Data‑Driven Variation Over Unique Meshes

What Geometry Nodes excels at

Recommendation

Instead of 20 different plant meshes:

  • 1 mesh

  • 1 geometry node graph

  • Variation via:

    • Scale randomness

    • Rotation noise

    • Color attributes

    • Curve‑driven deformation

This keeps instance counts high but memory low.


8. Know When Geometry Nodes Beat Scatter — and When They Don’t

Explicitly documented limitation

Developer discussions show Geometry Nodes instancing still has higher viewport overhead than legacy particle instancing in some cases. [developer....lender.org]

Practical takeaway

Use Geometry Nodes when you need:

  • Procedural logic

  • Biomes

  • Growth systems

  • Terrain awareness

If you only need:

  • Simple grass scattering

  • No rules, no variation Legacy systems or specialized tools may still be lighter.


Final Mental Model for Huge Worlds

Think of Geometry Nodes vegetation as:

“Procedural data graphs generating instance trees, not geometry.”

If:

  • You see millions of vertices → something is wrong

  • You see only a handful of meshes instanced millions of times → you’re doing it right


If you want, I can next:

  • Sketch a reference node graph layout for biome‑based vegetation

  • Show how to implement camera‑based density falloff

  • Compare Geometry Nodes vs Geo‑Scatter vs legacy particles for large worlds

Just tell me what you want to go deeper into.



Thursday, 16 April 2026

Still so meh!


Winge time

My head cold is now tracking at about 15%. It's not bad, but it's not gone. I have nasty lower-back pain, not enough to leave me immobile, but I fear that one false move might make me so. I feel like a bone from last night's fish is lodged in my throat. Clara suggests that I might be feeling just a scratch from it. I hope so! All in all, a bit shit, really.

Work will distract you!

Very possibly. I am still tweaking the material node tree that I created. After the cleaning shift, I realised that while the tree is great, my materials were subpar, and some of the tree isn't doing much. I might rebuild it this morning.


Realistic Touch

This addon (See its store page) has been gathering dust for a few years. It looked like a series of grunge maps, including both big-scale dirt and smaller fingerprint, dust and scratch mask images. In fact, it's a lot better than that because the masks are all built into very powerful nodes that offer every kind of image manipulation function: scaling, rotation, Min/Max/Contract, with selectable colour gradient and/or colour inputs.

Three realistic touch masks mixed together

Infinite grunge!

Honestly, the interactivity is broken. I make changes and either nothing seems to happen or what happens isn't very useful. I will rebuild! I'll make a generic three-texture tree with grudge, spec, ambient occlusion and whatever else.

Step one

The basics!


Just one mask to begin with - not even a material texture, yet. Grime and AO are applied and working, mostly because the UV map has been "improved".

It's a lot simpler; one of everything, but it all works.

Just needs a couple of scuffed decals.



Mix in a texture map. AO and grunge are mixed into a single texture map. The texture output is used to generate a bump map, while the dirt and AO feed the specularity—not realistic, but effective. I'll experiment a bit more with how I implement these supporting material channels.

Tuesday, 14 April 2026

Material Wealth

 I took a break from worrying about the lack of progress on the Halo terrain to practice with the material setup I learned from Nico Linde's video.

I tried this approach right after the tutorial, but I didn't explore its full capabilities. Today, I did. Wow!

3 textures blended with curves. Add grunge and a bit of ambient occlusion. Result!

This is so good because the setup gives you a lot of power to tweak and change using any three suitable texture file sources. Also, cooking things like specularity, roughness, and normal maps using nodes is cheaper in memory, although you could get results quite as good as a fully developed PBR material.


Quick terrain to order

Someone on the TrueVFX discord asked for advice on creating a terrain. I gave them my three pence worth. 

True Terrain's built-in tools

World Creator effort
I wasn't happy with World Creator's lifts. I need to figure out how to create cracked bedrock-style cliffs with lots of fragmented blocks.

Modular Construction

The material development was for these handy building blocks


Coming together nicely.

Later, I'll create decorative elements such as pipes and air-conditioning units.

Monday, 13 April 2026

Back to work #3 New Term

 It's Monday! It's day one of the final term, leading into the Summer. This morning I was struggling with the idea of returning to the grind, but then I remembered, I don't grind. I do three hours per day after having oodles of time to develop my passions. This is the life of Riley -- which was a saying, now probably an anachronism. Edit: I checked, yeah, it's a late 19th- to early 20th-century idiot with either song or soldiering roots. 

I got a haircut! It cost me some work-time, but it's nice to be trim for the start of the new term.


Blender


I need to jump back into the Halo: Raptor scene. I was making some progress. I was sculpting more elements that will be decimated and instanced for many mountains. I need a strong terrain plate for the lake (I may have this sorted), and a plate for the canyon area. I was making some progress with this, finding that you really need a lot of resolution to achieve a convincing result, which might call for instancing many copies rather than a single big terrain plate.

Expansive tracks

More broken with rocky cliffs


I shall set myself the deadline of Friday to complete the scene. This will mean maximum focus on the task.

Shiny things that have drawn my attention away:

Giant window


I saw an art photograph of a figure set against a huge, round window/opening. I had a play with the form, and it would make a cool scene if I dedicated myself to the details.


I saw a favela structure that I'd built about five years ago. I wanted to go back and explore modular concrete structures. These could become a product to sell on Superhive.

This first blast was okay. I then wanted to focus on the modular aspect with a steel frame and concrete slabs. Once the basic forms are built, I'd create the more specialised elements such as those that incorporate staircases, windows, and door openings.


Friday, 10 April 2026

Production Meeting

 The Halo: Raptor Project had the latest production meeting. It was good to catch up. The non-NDA-breaking gist: We need to up our work rates, we have a new and exciting commitment, and there's a drive to get together more to watch stuff, play games, and hang out. All good plans!

I really have fallen into a low-productivity slump — partly because the current task is very difficult to do well. I'm not yet ready for deep geonodes R&D, so I have been tackling the same technical challenges for months using the same toolset. I need to widen my technical skills and confidence with Blender's more advanced elements.

I need to be pushing my training more—if you, for some crazy reason, read these posts, you'll know I talk about getting training done far more than I actually do the training. Blame my ADHD! Writing this blog is 50% an attempt to hold myself to account for not meeting creative milestones or delivering on productivity commitments.

Random photo of my old school

My mind wandered as I searched for the shots I created (below) and just added a photo of Myers Grove School. This school was demolished to make way for a brand-new school, Forge Valley.

Oh, look, terrains!

Moah Nova

I was looking back at a post from about four years ago when I was using World Creator's ability to create seamless terrain tiles, so you could duplicate and match up. This is a capability that wasn't carried over to the latest version -- sadly. Moah Nova is a huge (16km terrain tile), baked out of True-Terrain, decimated to about 20 million polygons, then instanced and mirrored so that it can tile nicely.


Old old terrain that I had a quick look at. I need to audit the terrains I've created.

Today

Gather yesterday's sculpted mountains and arrange them in shot 002, along with the lake plate. Then work out how to incorporate canyons in the foreground. Do a low-res block-out version before worrying about any details.


Wednesday, 8 April 2026

Back to work - part 2

 Yesterday, I returned to my part-time job for one shift. It was actually a nice break, very quiet. I started at 8am and was heading home at 11:20. Clara's brother was visiting Sheffield with his friend, so we spent the rest of the day doing housework and preparing for an evening meet-up.

So, not much was done yesterday. Tonight there is a production meeting for Halo: Raptor at 11pm. Well past my usual bedtime, it has to be said.

View-aligned Voronoi Islands


Thomas Kole is a technical artist who dedicated his free time to building a near-perfect replica of Tenochitilan. Seriously good work -- driving the project forward through clever cheating. The takeaway from this presentation is that when the terrains get big, cheat with everything that you can. For example, you can't scatter over hundreds of square miles of terrain without a very complex fragmentary render-flow. Instead, Thomas developed shader-based solutions for handling the forests and much of the city.

http://www.chengfolio.com/google_map_customizer#satellitemap
I use this to capture bits of Google mapping terrain. You need to use it as a starting point rather than use it directly, or you will get Google watermarks in your terrains. If you capture an area using overlapping screen captures that you stitch together in your favourite image editor, you can get massively detailed real-world terrain from which you can clone and paint your own landscapes.

https://tangrams.github.io/heightmapper/
This handy wrapper captures Google Map height data and filters it to generate heightmaps. This would be indispensable if only it could export high-bit-depth EXRs. Still worth using!

https://cloud.maptiler.com/maps/
This commercial service offers a free but limited account. It does both the texture and height-map generation really well. Useful for capturing a real-world geographic location in 3D.

Monday, 6 April 2026

Back to work - part 1

 It's time to return to my Halo: Raptor chores. This didn't stop me from doing the initial rough measurements of the Project: Hail Mary ship. 

Overall Length: 136m

Instead of my infection getting better, I feel worse today. My head isn't right. Back to my part-time job, tomorrow morning. It's going to hit me like a ton of bricks unless I'm really well rested, so I might have an early, early night.

Blender School: Rendering shots using layers

 Blender supports the use of View Layers, in which a shot is rendered in multiple passes, with only selective elements sent to the render en...