Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
Texturing Terrain in Houdini COPs: Placing Materials with Masks, Not a Brush
I textured an entire desert, a lava field and an icy mountain without once picking up a brush. Not a single pixel was hand-painted. Every colour landed where it did because a mask told it to, and each mask was computed from the terrain's own shape. That was the moment texturing stopped feeling like painting and started feeling like giving instructions.
This is the texturing strand of EREMUS. In the previous post I formed the three Terrain Handbook biomes, but forming them only gave me grey geology. This post is how that geology gets its colour, and the surprising part is how little of it is manual. Following Nikola Damjanov's COPs texturing chapters I textured all three biomes the same way, and again the most useful lesson was not any single look. It was building one colouring machine and pointing it at three different worlds.
Texturing without a brush
A heightfield in Houdini carries far more than height. Every erosion pass I ran in the last post quietly wrote extra layers alongside it: where water flowed, where cavities sit in shadow, where debris settled, how sharply each edge curves. Those layers are masks, red selections painted across the terrain by the simulation rather than by me. On top of them sits one node, heightfield maskbyfeature, that can invent a fresh mask from the terrain's own features, by slope, by height, by curvature, by which direction a face points, by ambient occlusion. So before I choose a single colour I already hold a stack of selections that know where the water ran and where the peaks catch the light. To hand-paint over that would be to throw it all away.
It is just Photoshop layers
To turn those masks into colour I move the terrain into COPs, Houdini's image context. One node, SOP Import, carries every heightfield layer across as a 4K image plane. From there the workhorse is the composite node, and the moment it clicked was realising it is exactly a Photoshop layer stack: a foreground colour, a background, and a mask deciding where the foreground shows through. The blend mode is the entire vocabulary. Over to place a colour, screen to lighten an edge, multiply to sink an occluded pocket, subtract for a little grain. I stack a dozen of these, each one adding a single material exactly where one mask says it belongs, and a quickshade node previews the result live on the terrain as I tune it.
The same stack, three biomes
The graph is nearly identical for all three biomes: import the layers, build a base colour from a ramp, run a long chain of composites, then preview. What changes is the palette, which mask drives which material, and one biome-specific mask each. That is the whole trick, and it is why one method makes three worlds.
The desert is the reference build and the most layered. A warm brown ramp sets the base, then debris lifts the settled sand to a paler beige, curvature paints white highlights onto the ridge edges and black into the crevices, ambient occlusion sinks a deep red into the shadowed pockets, and a fine noise pass, masked to the flats so it never touches the peaks, adds a grain that also feeds render-time detail. It reads as layered, wind-worked sand, and none of it was drawn.
The lava world keeps the exact same chain and only swaps the palette hotter and adds one mask at the front. I isolate the flow and water layers, rename them both to lava, and blend them with a composite set to minimum, which pools the mask into the river banks where lava would collect while keeping some erosion striation. When I sampled the base colours from a reference I deliberately picked the stones, not the lava, because the glow itself is added later in the shader. Ambient occlusion then reddens the banks and curvature brightens the rocky edges. Same machine, opposite temperature.
The icy mountains swap in snow logic. A slope mask drives near-white snow across most of the surface, then a height band built from a spline ramp lets me dirty the snow at the base with a multiply while leaving the peaks pristine. A flow-direction mask adds a pale ice-blue that reads like ice running down the slopes, and debris dirties the snow in patches. As with the lava, the softest part of the snow is not painted in COPs at all; the mask decides where, and the shader does the rest.
Why masks instead of a brush
The reason to work this way is not speed, it is that the erosion already knew everything. Flow, occlusion, debris and curvature are, as Damjanov puts it, a very nice set of masks we got for free from the simulation. They already know where water ran and where edges sit, so letting them place the materials keeps the whole thing procedural: change the terrain and the texture re-derives itself, with no repainting. It also stays resolution-independent, because a mask is a rule, not a grid of pixels. The blend-mode choices are simply intent written down: lighten here, darken there, vary gently over there.
It clicked slowly, over a dozen layers, when I stopped seeing the composite node as Houdini magic and recognised the Photoshop layer stack I already knew, until I trusted the masks more than my own eye.
Where it fought back
Building three of these back to back, the friction was rarely the big idea and almost always the plumbing. Twice a layer came out wrong because a composite was set to the wrong blend mode, and a reddish-yellow mess turned correct the instant I set it back to multiply. More than once a composite did nothing at all until I renamed a plane so both inputs shared a name, the kind of invisible rule you only learn by hitting it. And a stylised contour-line pass threw an intermittent error even the tutorial's author could not fully explain, worked around by copying a single channel into a fresh alpha plane. A lot of terrain texturing turned out to be quietly babysitting blend modes and foreground weights rather than any grand technique.
Mine was chasing a wrong blend mode far too long before spotting a single dropdown set to the wrong thing
What I carried into EREMUS
EREMUS is a desert, so the dusty texture is my working template, and the parts I kept are specific. The mask-driven base means the outpost's ground can be re-textured the moment I reshape the terrain around it, without repainting anything. The habit of reading the erosion layers as ready-made selections is now simply how I think about colouring any heightfield. And the biggest shift is the quietest: a texture is not a picture I paint, it is a set of decisions about where each material belongs.
I am trying to read the erosion masks before I make any colour choices, because that keeps the material placement tied to the heightfield rather than to a painted guess. Once those masks have done the first pass of deciding where things belong, the colour becomes a layer stack I can keep tuning, instead of a flat image I would have to remake every time the terrain changes.
This is the texturing groundwork for the terrain strand. The formation post shows how these three biomes were shaped in the first place, and the next post packages the EREMUS terrain into a tunable, tiling HDA, so this whole forming-and-texturing chain becomes one reusable generator.
If you are reading this as part of my Major Study, this post is the texturing learning strand: I textured all three Terrain Handbook biomes with the same mask-driven COP method to understand how procedural materials are placed, before texturing my own EREMUS ground, and set it down in the order I actually learned it.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
Terrain Formation in Houdini: What the Terrain Handbook Taught Me Across Biomes
The same erosion node built a desert ridge and a river of lava. All I changed was which kind of wear I let it simulate. That was the moment terrain stopped being scenery to me and became a system, and it happened while I was working through the Terrain Handbook to understand how EREMUS's ground should be made.
This is the terrain-formation strand of EREMUS. Before I could build my own desert basin as a procedural generator, I needed to understand how terrain actually forms in Houdini, not just which buttons to press. So I followed Nikola Damjanov's Terrain Handbook and built all three of its biomes myself, a dusty desert, a fiery lava world, and an icy mountain range. The most useful thing was not any single one of them. It was building the same small set of tools three times over and watching them produce three completely different worlds.
What a heightfield actually is
A heightfield in Houdini is not a mesh. It is a two-dimensional volume: a flat grid where the only thing you can push and pull is height. Every heightfield carries two layers that travel together, a height layer and a mask layer, and almost every terrain node reads both, height on the left input, mask on the right. The mask is just a red selection painted across the terrain that tells a node where it is allowed to act.
Once I saw it that way, the long list of nodes stopped being intimidating. Everything is doing one of five jobs: adding height (noise and pattern), shuffling height that already exists (distort), reshaping it (remap and terrace), simulating a physical process on it (erode and slump), or selecting a region to protect or target (mask by feature). You stack those, work at a low resolution while you find the shapes, and only up-res at the very end when the look is settled.
The same base, three different worlds
Every one of the three biomes starts from the exact same heightfield, the same size and the same spacing. What makes one read as sand and another as lava is not the starting grid. It is which physical process I chose to foreground, and how I made the very first shapes.
The desert is the most art-directed of the three. It does not start from noise at all, it starts from a hand-drawn curve. I drew the ridge lines I wanted on the ground plane, wrapped them into geometry, and projected that down onto the height as the skeleton of the terrain. From there it is noise and erosion to rough it up, but the defining move comes last: a flow field is computed and a slump pass lets sand settle down the slopes and gather in the crevices on its own. The desert is a story of deposition, material drifting and piling where gravity takes it.
The lava world throws the drawing away and starts from pure noise, several folded Perlin layers combined so that hills rise with channels running between them. Then it does something clever with erosion. Instead of one wear pass I split the two kinds apart: thermal erosion, the crumbling of slopes, builds the hills, while a masked water pass running only in the lowest parts carves the sharp channels the lava flows through. Debris is deliberately switched off so those channels stay crisp, and there is no slump at all, because letting material settle would fill in the very rivers the erosion worked to cut. The lava world is a story of directed erosion, two processes aimed at two different jobs.
The icy mountains start a third way again, from built geometry. I scattered pyramids across the grid and projected them up into peaks, with smaller upside-down pyramids cut in as holes to break them apart. Then two features do the heavy lifting. Big, strong terraces carve the strata you see in real mountains, and after the erosion passes the slump runs not once but twice, so snow appears to build up in the flats and shelves while rock still pokes through the steepest faces. The icy world is a story of layering and buildup, strata cut in, then snow deposited on top.
Why the differences matter
Set side by side, the lesson is simple, and it reframed how I think about terrain. The base is identical every time. Biome identity comes almost entirely from which process I let dominate: deposition for the desert, directed erosion for the lava, strata and buildup for the ice. Even the starting method carries intent. I hand-drew the desert because I wanted to art-direct where the ridges went, I started the lava from noise because I wanted chaos, and I built the mountains from geometry because I wanted deliberate, placed peaks.
Honestly it clicked in more than one place. The first was watching the same erosion node build a desert ridge and a lava channel just by turning the water off. The masks did the rest: once I saw terrain as height plus a red selection layer, the nodes stopped being mysterious. And the slump node was where it stopped feeling abstract altogether, watching sand settle into the crevices on its own.
Where it fought back
Building three biomes is not the same as them forming smoothly, and a few walls came up again and again. The first is patience. Erosion is a simulation, so every time I changed a number I waited for it to cook, and at high resolution that wait got long. The habit the course drills, and the one I have taken on, is to work at a low resolution while you find the shapes and up-res only at the end. It also runs erosion far too hard on purpose, then dials it back by blending the eroded result over the original, which turns a commitment into a control dial.
The second wall is a real limit of the format. A heightfield cannot hold an overhang, because every point on the grid has exactly one height. When the lava biome needed carved canyon walls, I had to leave heightfields entirely, convert the terrain to polygons, push the shape sideways, rebuild it through a VDB, and project it back, and running that at full resolution is heavy enough to hang the machine if you are not careful. That was a useful reminder that procedural terrain is a set of trade-offs, not a magic button, and that knowing when to step outside the heightfield is part of the skill.
Building the three back to back, the erosion cook times became the real tax, because a full pass meant waiting again every time I nudged a value, so working low-res first stopped feeling like a useful tip and became survival. The more honest wall was learning to read the terrain properly, because telling a real erosion channel from plain noise took several passes before my eye adjusted. The masks caught me out first too, as I kept feeding height into the mask input and wondering why nothing changed.
What I carried into EREMUS
EREMUS is a desert, so of the three biomes the dusty one is my closest template, and the parts I took from it are specific. The art-directed start, drawing the ridge lines rather than hoping noise lands them, suits a world with an outpost whose terrain has to be shaped around it. The slump pass gives the sand its settled, drifted look almost for free. And the ordering the whole course teaches, big shapes first, then detail, then erosion, then resolution last, is now simply how I build any heightfield.
The more important thing I took is not a biome at all, it is the way of seeing. Terrain is a base shape plus a chosen process, height plus mask, worked low and resolved late. Building all three is what let me build the EREMUS terrain in the previous post with some idea of why each node was there, instead of copying a chain and hoping it held together.
The lava biome's split erosion is the technique I think about most, even though EREMUS has no lava, because it taught me erosion is directable and not just destructive For now the desert approach is enough, and I would rather go deep on one biome than spread thin across three
This is the formation groundwork for the terrain strand. The introduction post lays out why EREMUS is procedural at all, and the build post shows the actual network this understanding produced. Next in the series I go from forming the terrain to packaging it, turning the EREMUS heightfield into a tunable, tiling HDA I can reuse.
If you are reading this as part of my Major Study, this post is the learning strand for the terrain: I rebuilt all three of the Terrain Handbook's biomes to understand how terrain forms before building my own, set down in the order I actually learned it.