## 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 and Description
    --- | ---
    `static Plugins<Shader>` | PluginRegistry.`shaderPlugins`

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

    Methods in org.sunflow.core with parameters of type Shader
    Modifier and Type | Method and 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 and 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 and 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 and 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`