Terragen 4.4.67 is now available on Windows and Linux render node.
Updated October 13: Now available on Mac as 4.4.69.
Let’s talk about terminators, polygons and bump maps.
Smooth Polygons at Terminator
There’s been a long-standing problem in computer graphics. Objects modeled with polygons may not be be entirely smooth, but their shading normals can be smoothly interpolated to make them look smooth. This works well in most places but it fails where the object falls into self-shadow at the terminator, causing the so-called “terminator artifact.” Sharp edges appear where the the polygon geometry falls into shadow (caused by ray traced shadows) if the shading normal says the surface is pointing towards the light, disagreeing with the ray traced shadow.
To work around this problem, some renderers subdivide and smooth the polygons at render time. This looks great, but it costs more memory and render time (although they might already be doing this for displacement). Some renderers let you choose a setting to bias the shadow rays, but it may cause other problems if the object needs to receive shadows from other nearby objects. You might have to experiment to find the right value, and in some cases it can’t be solved this way and you need a high level of subdivision.
Terragen 4.4.60+ solves this problem in a new way, without modifying the geometry or biasing the rays. There is a new checkbox called “Smooth polygons at terminator” on the Surface Shaders tab of object readers. It is enabled by default. Incorrect shading normals or bump maps can push it outside of the range it can handle, but we are testing a more complete solution to this for future versions.
Darken Bumps at Terminator (Bump Map Self-Shadow Approximation)
While we’re on the subject of terminators, there’s another problem we set out to solve. High amplitude, high frequency bump maps caused sharp lines where the surface falls into shadow. With the polygon terminator fix we were just talking about we can push this problem further around the terminator, but it still won’t look very good if the bump map is extremely strong. To make it look realistic we need to approximate the self-shadowing that should occur at or near the terminator.
An extreme example: high amplitude bump maps
In Terragen 4.4.60+ these cases are greatly improved with “Darken bumps at terminator.” This is a new checkbox on the Surface Shaders tab of object readers and non-displaceable object generators. It is enabled by default. It approximates self-shadow of bump maps at the lighting terminator to reduce the chance of seeing a sharp line where the surface falls into shadow.
We were inspired by the work of Chiang, Li and Burley (“Taming the Shadow Terminator”). However, we took a different approach in order to preserve more contrast in the bumps, allow some light to reach past the terminator (as it does on displaced surfaces), and introduce a view-dependent effect which is important when the light source is behind the camera.
In the render above, some sharp terminator lines are still visible. This is an extreme example with very high bump map amplitude, and we allow the light to wrap slightly around the geometric terminator where it sometimes goes beyond what “Smooth Polygons at Terminator” can fix, at least in this version. We think we can solve this more completely in another update. This model also has incorrect normals provided by the source object file, especially at the base.
Overhauled Bump Mapping and Lighting
We overhauled the bump mapping and lighting system that’s used on ray traced objects to improve image quality and accuracy. Recent 4.4 builds had some bugs that were caused by changes to address some long-standing issues. The new system in 4.4.67 fixes those bugs and also maintains solutions to some long-standing issues.
Object courtesy of Steve Boerner
These changes include:
- Fixed some bump mapping and lighting bugs that were introduced in 4.4.46: incorrect lighting positions; incorrect normals on highly curved or highly displaced surfaces.
- Bump maps don’t affect the lighting position anymore, because this was causing severely unrealistic distortion of shadows.
- Bump maps affect the data that shaders use for non-lighting. For example, altitude constraints work with bump mapped surfaces. This works with negative bump too.
Plus Many Additional Improvements and Bug Fixes
This version is available to anyone whose maintenance includes v4.4.x builds. That means you can download it even if your maintenance expired as long ago as the 21st of March, 2019.
To download the new version or check your Maintenance status just use the Check for Updates option in the Terragen Help/Application menu. Note that Terragen needs access to the Internet for this to work. Alternatively you can login to your account on our website and go to the details and downloads for your most recent Terragen purchase.
Maintenance lasts for one year from your original purchase, and then must be renewed annually to maintain access to updates. If your Maintenance expired before March 21, 2019, you’ll need to renew it in order to access version 4.4 and future updates.