#############################
Using Built-in Render Shaders
#############################


Below is a complete list of all the HOOPS Luminate render shaders. All of them are children of the base ``RED::RenderShader`` class and can be added in a material pass.

+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Shader name                                    | Description                                                                         | Snapshot                                    |
+================================================+=====================================================================================+=============================================+
| **Ray-Tracer Setup Shaders**                                                                                                                                                       |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Reflection / Refraction Ray Deviation Shaders: | Engine shaders that define the direction of reflection and refraction vectors at the interface with a surface.                    |
|                                                |                                                                                                                                   |
| ``RED::RayReflectionShader``                   |                                                                                                                                   |
|                                                |                                                                                                                                   |
| ``RED::RayRefractionShader``                   |                                                                                                                                   |
|                                                |                                                                                                                                   |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| GI Specification Shaders:                      | Engine shaders that defines the diffuse property, reflectivity and refractivity of a material for global illumination processing. |
|                                                |                                                                                                                                   |
| ``RED::RayGIDiffuseShader``                    |                                                                                                                                   |
|                                                |                                                                                                                                   |
| ``RED::RayGIReflectionColorShader``            |                                                                                                                                   |
|                                                |                                                                                                                                   |
| ``RED::RayGIRefractionColorShader``            |                                                                                                                                   |
|                                                |                                                                                                                                   |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Performance Shader:                            | Engine shaders that defines the threshold below which we can ignore a lighting or ray-tracing contribution and therefore save     |
|                                                |                                                                                                                                   |
| ``RED::RayCutoffShader``                       | time.                                                                                                                             |
|                                                |                                                                                                                                   |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Reflection Blending Shader:                    | Adds the contribution of ray-traced reflections to an image.                        | .. image:: bk_bm_custom_builtin_Reflect.png |
|                                                |                                                                                     |                                             |
| ``RED::ReflectionShader``                      | Supports specular and reflectivity maps. Supports Fresnel based reflectance models. |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| **Pre-Lighting Shaders**                                                                                                                                                           |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Ambient Shader:                                | Implements a simple ambient and / or emissive lighting term.                        | .. image:: bk_bm_custom_builtin_Ambient.png |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderAmbient``                   | Supports ambient, emissive, transparency and base modulation maps. This shader      |                                             |
|                                                |                                                                                     |                                             |
|                                                | reacts to the ambient light defined for the rendered scene.                         |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Refraction Effect Shader:                      | This is a real-time rendering shader that fakes the refractions in real-time        | .. image:: bk_bm_custom_builtin_Refract.png |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderRefractionEffect``          | 3D applications.                                                                    |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Solid Shader:                                  | Implements a simple color / texture rendering. Supports color                       | .. image:: bk_bm_custom_builtin_Solid.png   |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderSolid``                     | and transparency maps.                                                              |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Vertex Color Shader:                           | Implements a per vertex shading color.                                              | .. image:: bk_bm_custom_builtin_Vertex.png  |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderVertexColor``               |                                                                                     |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| **Lighting Shaders**                                                                                                                                                               |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Lambert Shader:                                | Implements a Lambertian lighting equation, using only a diffuse term contribution.  | .. image:: bk_bm_custom_builtin_Lambert.png |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderLambert``                   | Supports diffuse, bump and transparency maps.                                       |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Phong Shader:                                  | Implements the Phong lighting equation, featuring round specular highlights.        | .. image:: bk_bm_custom_builtin_Phong.png   |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderPhong``                     | Supports diffuse, bump, shininess, specular and transparency maps.                  |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Anisotropic Shader:                            | Implements an anisotropic lighting model, with stretched specular highlights.       | .. image:: bk_bm_custom_builtin_Aniso.png   |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderAnisotropic``               | Supports diffuse, bump, shininess, specular, transparency, anisotropy               |                                             |
|                                                |                                                                                     |                                             |
|                                                | and orientation maps.                                                               |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Post-Lighting Shaders                                                                                                                                                              |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Environmental Shader:                          | Implements environmental mapping. Supports specular, reflectivity and bump maps.    | .. image:: bk_bm_custom_builtin_Envi.png    |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderEnvironmental``             | Supports Fresnel based reflectance model and can use auto-generated environment     |                                             |
|                                                |                                                                                     |                                             |
|                                                | maps from the engine.                                                               |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| **Miscellaneous Shaders**                                                                                                                                                          |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Anti-Aliasing Filter Shader:                   | Post-processing shader for anti-aliasing purposes. Uses Sobel kernel filters        | .. image:: bk_bm_custom_builtin_AA.png      |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderAAFilter``                  | applied to the image.                                                               |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Edge Display Shader:                           | Displays inner edges, border edges and contour edges. Supports manifold / non       | .. image:: bk_bm_custom_builtin_Edge.png    |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderEdges``                     | manifold topologies.                                                                |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Section Cutting Shader:                        | Special shader used to display a mesh cut with a plane. See the                     | .. image:: bk_bm_custom_builtin_SecCut.png  |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderSectionCut``                | :doc:`/tutorials/workflows/wf_realtime/wf_section_cutting` tutorial to have         |                                             |
|                                                |                                                                                     |                                             |
|                                                | details about this shader                                                           |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Text Shader:                                   | This shader displays a special kind of HOOPS Luminate texts, known as the           | .. image:: bk_bm_custom_builtin_Text.png    |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderText``                      | 'textured texts'.                                                                   |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| High Performance Viewport Shader:              | Fast viewport display shader. Displays meshes and / or edges, including             | .. image:: bk_bm_custom_builtin_Vp.png      |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderViewport``                  | per vertex sub-entity colors and a highlighting mechanism.                          |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
| Logo / Decal Blending Shader:                  | This simple pre-lighting shader displays a list of decal texture on a geometry.     | .. image:: bk_bm_custom_builtin_Logo.png    |
|                                                |                                                                                     |                                             |
| ``RED::RenderShaderLogo``                      |                                                                                     |                                             |
|                                                |                                                                                     |                                             |
+------------------------------------------------+-------------------------------------------------------------------------------------+---------------------------------------------+
