Physically-based rendering is a hot topic in product development. Unlike the biased renderers used for Hollywood special effects, physically-based renderers are very easy to use. This makes them perfect for designers and engineers who want a simple way to accurately visualise how a product will look in the real world.
Materials play a critical role. The big advantage is that, as you can define them to be physically accurate, there’s no eyeballing, there’s no fiddling with controls. You create a material, say brushed aluminium, and, as long as it is set-up correctly, you don’t have to edit it at all, unless you want a very specific effect, such as an oxidisation layer on top.
In many cases the manufacturers of the physical materials also produce accurate rendering materials for designers to use. So rather than trying to make your own steel material, you specify the type of material you’re using, then download it off the manufacturer’s website — or at least the data you’d need to create it.
The interesting thing here is that it can extend beyond the visual properties of the material. You can encode all kinds of information into the material that CAD and PLM systems can reuse, such as tensile strength — all those non-optical properties.
You can also link it to finishing processes in the manufacturing stage so you could start with an aluminium with measured data, then specify the brushed finish, a clear coat — and represent that in the material as both an instruction to manufacturing as well as visualisation. It’s an interesting area, but it’s one that’s not been addressed yet.
I do think this will happen, but it needs to be driven by two sides. The first is that the manufacturer has to be willing to give out that data. The second, is that the CAD systems need to support it by being able to read these descriptions.
In Nvidia’s Iray and our own physically based rendering technology, Iray+ (which is built on Nvidia’s Iray) you’ve got materials that can represent the whole of the lighting equation in terms of properties. You can encode and create a material that looks exactly like it would in the real world.
The other approach is to measure the materials. Companies like X-rite, which produce huge machines that cost more than a semi detached house in Sheffield, measure the optical properties in full. You can then take that data and use it to generate your materials.
It’s an area we’re exploring at Lightworks as it gives you a highly accurate representation of reflectance properties so there’s absolutely no need for you to change the material at all.
The downside is that there is no standard at the moment for encoding that data, so each company that has a measurement machine to sell will have a proprietary format. They don’t see it being in their interest to have a standard, as the data would be interchangeable between systems and they’d lose their exclusivity.
Iray+ can take data from X-rite and represent it to give you a superb representation. At present there are not many people using this method.
They are mostly car manufacturers and they’ll use this for automotive interiors, so they can see exactly how much light is reflected inside the vehicle. They’ll also use it for paint finishes so they have that absolute representation for design review.
The inevitable caveats
There are some caveats to these technologies. The measurement machines are prone to errors. They measure the materials in a 180 degree arc, they shine a light on it, and measure the light reflected at each angle in that arc. The problem is that when you get to very shallow angles (one or two degrees) or at 90 degrees, you may get errors, and have to correct the recorded values. None of that has been standardised yet, but it’s going to be a big growth area.
To create an easy to use API in Iray+ we’ve added a layer on top of the Iray API and simplified a lot of standard things you need to make integration easy for software vendors.
The other big area is how materials are defined. We use MDL (Material Definition Language) from Nvidia. It is open and it’s an abstraction layer, so you define the material and the graphic system interprets it how it needs to — the idea being that you could use it in any system that supported it.
A number of key applications have already provided support for MDL and I think others will follow.
At Lightworks we’ve taken a novel approach to material editing. We have created a set of components that are standard and reusable blobs of MDL that represent different types of reflectance characteristics. So you can take a standard MDL component to create a glossy surface, sub surface scattering, a matt or steel for instance.
To give this some context, generally with graphics systems, developers provide huge shaders requiring an unwieldy interface, which has everything, including the kitchen sink.
The user simply ticks on the bit he or she wants, say an anisotropic reflection, where you get elongated highlights (such as brushed metal) and adds on some sub-surface scattering.
For Iray+ we’ve made things simple. You build up a material with components, rather than picking effects from a monolithic list. We’ve defined our components in terms of classes; geometry, base, coating and surface. The idea is to present the user with a real world mental model for material creation.
To create a car paint material for example, you might start off with a metal surface, add an undercoat layer, then a paint layer with perhaps some flake, then a clear coat layer on top.
You can then go in and add additional layers such as dust and dirt if you want to. So, instead of getting involved in huge shaders that use arcane language, you’re actually just building materials up as you would in the real world.
With designers and engineers primarily being in the business of designing and engineering, we see this as critical.
Visualisation should be a simple process from start to finish and by making it easy to work with materials, physically-based rendering can become even more tightly integrated into the product development workflow.
DEVELOP3D Visualisation For Design And Engineering Special Guide
Download our free guide to the latest viz software and hardware, plus exclusive pro tips and views on where everything is heading in the future. Not signed up to DEVELOP3D yet? It’s simple and free to do, and you can download our monthly magazine for product designers, engineers, makers and anyone else wanting to join the party – Sign up here.
About the author
As the Lightworks’ Product Director, Dave has specific responsibility for the development of Iray+ and its use in applications and plug-ins.
With over 20 years’ experience in developing integrated systems for the computer graphics industry Dave knows how to create applications that support the design workflow; focusing on the use of compelling digital content, interactive design and the user experience
The latest trends in materials and shaders for physically-based renderers