Our latest update to the Radeon™ ProRender SDK, 2.02.11, is now available. 2.02.11 adds a selection of new features to the SDK which we’ll briefly cover here.

Support for primitive variables

In this release we’ve added support for primitive variables which are essential to make a complex look with a simple material setup. The example shown below is the result of a finite element physics simulation where we visualize the stress as the diffuse color of the bunnies. The stress value is converted to a heat map which means we only need one material for the objects, with the interesting look coming from our use of the primitive variables. Setting up materials like this without the use of primitive variables would require quite a lot of extra work such as baking it as a texture.

The new primitive variable feature will also be exposed to our USD Hydra render delegate (repository, documentation), which we are building as the core component for our Radeon ProRender application plug-ins moving forward.

Additionally, having any color on a vertex is a classic technique to adjust an object’s appearance by not just interpreting physical attributes. We will be adding support for Vertex Color to our Radeon ProRender plug-ins in future updates.

Enhanced Cryptomatte AOVs

As you may be aware, Radeon ProRender already supports Cryptomatte AOVs. However, our existing implementation of Cryptomatte AOVs does not mask the object you want to adjust in a reflection. In this update, we’ve extended the previous implementation and added support for reflected and refracted objects in the Cryptomatte AOVs.

For an example of this new feature, let’s have a look at the three images below. The rendered image shown under ‘Original’ is adjusted using the Cryptomatte AOV shown at the middle, where we can see the mask of the chess piece is not only at the pixels where we can directly see the piece, but also in reflection and refraction. 

The last image on this figure shows the scene after we adjust the image using the mask. You can see the look of the piece is consistent in the image while the previous implementation leaves the reflected chess piece on the board untouched, in this case white, which is not natural. To enable this yourself you don’t need to scratch your head for complex settings, simply turn on “Extended Mode”. 

Implementing the ramp node

The ramp node, which is used everywhere to map a grayscale gradient to an arbitrary function, was not implemented natively in Radeon ProRender in the past. Now we see that more and more people are using this and requesting more flexibility to the node, so we decided to implement it natively with more flexibility in this SDK release.

The images below are examples of the new implementation. We took a single texture coordinate and used it to look up this complex pattern. Note that the diffuse albedo is changing between solid RGB colors and textures. You can not only set solid colors, which is what we had up until now, but any material network can also be plugged into a control point you define in your ramp. By default, it does linear interpolation between the values, but you can also set it to look up the nearest value too as you can see on the second image. 

AMD HIP API support

Finally, we’d like to announce beta support for the AMD HIP API in this release. AMD HIP API is a new GPU programming environment AMD has been working on. Until now, Radeon ProRender has been using OpenCL™ and Apple® Metal® as the GPU programming language.

The HIP backend runs well on AMD RDNA™ 2 GPUs, and it also supports ray tracing acceleration using the architecture’s hardware support. The hardware ray tracing API has not been exposed to HIP in the past, so Radeon ProRender is the very first HIP-supported rendering application that will leverage HW RT. We are also working to make this feature available for other developers looking to use HIP in their applications. An environment variable TH_FORCE_HIP needs to be set to run in HIP mode.

Please give the HIP backend a try, and give us any feedback via GitHub that you may have. It needs a bit more polish and testing, but we are very close to replacing our OpenCL backend with this new HIP backend in Radeon ProRender, and you can expect to see our plug-ins support this in future updates.

Get Radeon ProRender SDK v2.02.11 today!

The SDK is already available, so if you are a developer using the Radeon ProRender SDK, you can try these new features today.

Related links

AMD Radeon ProRender Developer Suite

Radeon™ ProRender Suite

AMD Radeon™ ProRender is our fast, easy, and incredible physically-based rendering engine built on industry standards that enables accelerated rendering on virtually any GPU, any CPU, and any OS in over a dozen leading digital content creation and CAD applications.

AMD Radeon ProRender SDK

AMD Radeon™ ProRender SDK

AMD Radeon™ ProRender SDK is a powerful physically-based path traced rendering engine that enables creative professionals to produce stunningly photorealistic images.

Attributions

© 2022 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo, Radeon, RDNA, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Apple and Metal are registered trademarks of Apple Inc. OpenCL is a trademark of Apple Inc. used by permission by Khronos Group Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.