Terrain Slicer

Developed By Mackenzie Muir

A state of the art tool designed to assist geologists with comprehending and analysing stratigraphy through 3D manipulation.

The field of sedimentology contains fundamental concepts which all geologists must understand, as they form the basis of a geologist’s understanding of how a rock forms, and what processes must have occurred to produce the result they see millions of years later. In particular is the formation and deformation of sedimentary rocks, resulting in distinct layers, which may be arranged in wave patterns, or more complex arrangements. This field can often be challenging for geology students to grasp, however, as it requires advanced spatial skills, and also very often, plane and vector mathematics. One of the best ways to improve upon skills is to practice them, but this would require access to some sort of training tool that offers medium-fidelity visualisations of sediment layers.

As a part of the virtual reality geology project, a tool—colloquially dubbed as the ‘Terrain Slicer’—was developed to display procedurally-generated sediment layers to help students understand how sediment layers may appear in the real world, and how what is visible on the surface may not be the full story of how the rock formed. It works by taking in (or randomly generating) an array of layer heights and colours, as well as some inputs relating to the wave pattern properties, and generates a simple material that any object in a digital environment can use. The material will show the layers stacked vertically, deformed altogether into waves in the horizontal axes. The way the material is generated makes the output accurate anywhere in the environment; so, if two separate objects were placed close together, and both had the same material applied, the sediment layers would be consistent across both. That is, the layer at a certain height on the first object will be matched by a layer at the same height on the second.

The technology used to create this tool lies primarily in shaders, which create a pipeline from information in a 3D mesh of an object (the vertices and other data from a polyhedron with possibly thousands of faces) to the rendered result of each pixel in the screen. Shaders are the basis for how computer graphics are currently (and have been for a few decades) calculated. The shader that creates this effect is rather simple, when compared to the possibilities and works created over their history. Put simply, the shader uses the world position of the mesh at each render point (so that the visualisation is accurate across all space) and determines what colour that point should be based on an array of heights. The world height of each point is measured against each height in the array, and if it is found to be between two layer height limits, the point will be set to the matching colour from the colour array. The shape of the waves is dictated by a single equation that checks the world height against the horizontal position input into trigonometric functions, achieving a wave pattern. The equation for the patterns is:

Where A, B, C, D and a, b, c, d are chosen by the user to create the effect they are seeking. This is not representative of real rock formation equations, but it provides a reasonably close example of how fold patterns might look.