This example shows how use custom shaders in gz-rendering to change the appearance of objects in the scene. It demonstrates two uses of shaders: The first is setting shaders for a camera and the other is setting shaders for an object in the scene.
Install prerequisites
In order to compile the example in this tutorial, make sure to install the dependencies listed in the Installation tutorial.
Compile and run the example
Clone the source code, create a build directory and use cmake
and make
to compile the code:
You'll see:
The depth.png
shows result of setting shaders for a camera: This example shades objects in the scene based on their depth values

The regular.png
shows result of setting shaders for a visual: This example changes the box visual in the scene to a flat green color

Code
In the first lines of the custom_shaders.cc
file there are some constants defined with the name of the shaders that the program will use:
Construct absolute path to the shaders. Here the RESOURCE_PATH
variable points to the media
directory where the two sets of shaders are located:
The first set of shaders are applied to the camera:
The second set of shaders are applied to the visual's material: