## Uses of Interface
org.sunflow.core.Shader

- Packages that use Shader
  Package | Description
  --- | ---
  org.sunflow |
  org.sunflow.core |
  org.sunflow.core.light |
  org.sunflow.core.primitive |
  org.sunflow.core.shader |

- - ### Uses of Shader in org.sunflow

    Fields in org.sunflow with type parameters of type Shader
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Plugins<Shader>` | PluginRegistry.`shaderPlugins` |

    Methods in org.sunflow that return Shader
    Modifier and Type | Method | Description
    --- | --- | ---
    `Shader` | SunflowAPI.`lookupShader​(java.lang.String name)` | Retrieve a shader object by its name, or `null` if no shader was found, or if the specified object is not a shader.

  - ### Uses of Shader in org.sunflow.core

    Methods in org.sunflow.core that return Shader
    Modifier and Type | Method | Description
    --- | --- | ---
    `Shader` | Instance.`getShader​(int i)` | Get a shader for the instance's list.
    `Shader` | ShadingState.`getShader()` | Get the shader to be used to shade this surface.

    Methods in org.sunflow.core with parameters of type Shader
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ShadingCache.`add​(ShadingState state, Shader shader, Color c)` |
    `static Instance` | Instance.`createTemporary​(PrimitiveList primitives, Matrix4 transform, Shader shader)` |
    `Color` | ShadingCache.`lookup​(ShadingState state, Shader shader)` |
    `void` | Instance.`removeShader​(Shader s)` | Remove the specified shader from the instance's list if it is being used.
    `void` | ShadingState.`setShader​(Shader shader)` | Record which shader should be executed for the intersected surface.
    `void` | Scene.`setShaderOverride​(Shader shader, boolean photonOverride)` | Enables shader overiding (set null to disable).

  - ### Uses of Shader in org.sunflow.core.light

    Classes in org.sunflow.core.light that implement Shader
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ImageBasedLight` |
    `class` | `SphereLight` |
    `class` | `SunSkyLight` |
    `class` | `TriangleMeshLight` |

  - ### Uses of Shader in org.sunflow.core.primitive

    Classes in org.sunflow.core.primitive that implement Shader
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CornellBox` |
    `class` | `Hair` |

  - ### Uses of Shader in org.sunflow.core.shader

    Classes in org.sunflow.core.shader that implement Shader
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AmbientOcclusionShader` |
    `class` | `AnisotropicWardShader` |
    `class` | `ConstantShader` |
    `class` | `DiffuseShader` |
    `class` | `GlassShader` |
    `class` | `IDShader` |
    `class` | `MirrorShader` |
    `class` | `NormalShader` |
    `class` | `PhongShader` |
    `class` | `PrimIDShader` |
    `class` | `QuickGrayShader` |
    `class` | `ShinyDiffuseShader` |
    `class` | `SimpleShader` |
    `class` | `TexturedAmbientOcclusionShader` |
    `class` | `TexturedDiffuseShader` |
    `class` | `TexturedPhongShader` |
    `class` | `TexturedShinyDiffuseShader` |
    `class` | `TexturedWardShader` |
    `class` | `UberShader` |
    `class` | `UVShader` |
    `class` | `ViewCausticsShader` |
    `class` | `ViewGlobalPhotonsShader` |
    `class` | `ViewIrradianceShader` |
    `class` | `WireframeShader` |