Quick Landscaping using Sub-Polygon Displacement in Cinema 4D
What is Sub-Polygon Displacement?
Sub-Polygon Displacement or SPD is a displacement feature in Cinema 4D that uses Cinema 4D’s advanced memory management system to render highly subdivided objects by adding virtual polygons to real geometry. Sub-polygon Displacement adds to the render time but allows users to navigate smoothly through the viewport, without having to create heavily subdivided objects and slowing down your workflow.
When creating a scene I always start out with creating an environment. These environments often consist of a set of Landscape-objects and/or planes; >5 landscapes is no exception.
Each landscape/plane has its number of subdivisions and the more subdivisions in your scene, the slower your viewport tends to respond.
Here’s an insight on creating highly detailed landscapes without jamming up your creative process.
Polygon Count versus Subdivision level: Determine the SPD subdivision
The subdivision level determines the number of SPD subdivisions. These subdivisions are applied to the entire object, so you may want to delete some invisible polygons to lower your surface count.
Not all objects in your scene will have the same number of polygons, so it’s important to optimize your displacement material per object. Low polycounts result in loss of detail, high polycounts may leave you waiting hours on end without even making a visible difference…
There are two approaches when setting up your displacement:
- Increase the number of subdivisions on real geometry;
- Increase the Subdivision level in the Displacement channel.
By keeping both in sync, you can find a perfect balance between a smooth viewport and acceptable render times.
The mathematical link between the real geometry’s polycount and the number of virtual polygons before displacement
Luckily for us, there’s a mathematical formula we can use to determine the rendered number of polygons (virtual polygons) in function of the subdivision level and polygons in the real geometry.
# virtual polygons = # real polygons x 2 (2x subdivision level)
For instance; insert a plane with both width-and height segments at 50 (50x50 = 2,500 polygons).
Assign a displacement material to the plane and set the subdivision level to 4.
The number of virtual polygons will be 2,500 x 2 (2x 4) = 2,500 x 256 = 640,000 virtual polygons.
The added benefit of this Subdivision level is that you go up to 12, whilst a standard Cinema 4D Plane-object can only contain 1,000,000 polygons without being made editable.
Quick math reveals that a subdivision level of 12 can elevate your real geometry’s polycount by a factor 16,777,216, meaning a rendered plane of 1x1 can contain more detail than one of 1,000x1,000.
As shown above you can reduce the number of real subdivisions and still manage to maintain detailed deformation thanks to the subdivision level.
This comes in handy when having a ton of objects in your scene and you still want to manoeuvre around with ease.
As a laptop commuter I speak from experience when I say that a 5,000,000 polygon object (e.g. 5 landscapes with segments 1000x1000) combined with overenthusiastic viewport curiosity is the perfect recipe for a lagging viewport and ultimately even Application Error Disaster.
Instead of going back and forth between low and high real subdivisions (low to move around, high to render), you can keep the number of real polygons low and the subdivision level high.
High-quality landscapes using Cinema 4D Noise
Standard Landscape object in Cinema 4D
The standard Landscape object in Cinema 4D can be a real timesaver when creating environments in Cinema 4D: Insert the Landscape object, play around with the sea-and plateau level and browse through a seemingly endless array of seeds.
However, a Landscape object will only take you so far, as width-and height segments limit the object to a fairly modest 1,000,000 real polygons, thus keeping your landscape crisp only from a distance.
Adding virtual polygons to the standard Landscape object using Cinema 4D Noise
As previously mentioned you can add virtual polygons to real geometry to enhance the rendered detail on that said geometry.
Adding SPD to your Landscape object will literally lift your Landscape to new heights and will let you get up close and personal without losing detail.
A great way of adding extra, procedural detail is using the Noise Shader in the SPD channel.
You can easily define the level of detail in the shader itself by tweaking the octaves and define the magnitude of the noise in the Scale settings.
Personal Cinema 4D Noise preferences
However, not all Noises are suitable for creating rocky landscapes and some Noises will take longer to calculate than others.
My favourite Noises are Stupl and Blistered Turbulence, with a Global Scale set to approx. 300%.
If you’re going for a Concrete look, you might want to explore Displaced Voronoi, set to approx. 250%. These Voronoi Noises will add to your render time, however.
Below are a few examples of renders I created with a Landscape object in combination with sub-polygon displacement. Be sure to check out the built-in Sand material, as it is a great base material to start off from:
- POZZO PULSAR - A more gentle landscape given more detail thanks to a subtle Stupl Noise
- ÉTRETAT 2.6M - A hugely overscaled displacement warps both centerpieces beyond recognition!
- DAMNWAND - An almost flat landscape, flirting with the water surface.