## Uses of Class
org.sunflow.core.ShadingState

- Packages that use ShadingState
  Package | Description
  --- | ---
  org.sunflow.core |
  org.sunflow.core.gi |
  org.sunflow.core.light |
  org.sunflow.core.modifiers |
  org.sunflow.core.photonmap |
  org.sunflow.core.primitive |
  org.sunflow.core.shader |

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

    Methods in org.sunflow.core that return ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `ShadingState` | Scene.`getRadiance​(IntersectionState istate, float rx, float ry, double lensU, double lensV, double time, int instance, int dim, ShadingCache cache)` | Get the radiance seen through a particular pixel
    `ShadingState` | ShadingState.`traceFinalGather​(Ray r, int i)` | Trace a final gather ray and return the intersection result as a new render state

    Methods in org.sunflow.core with parameters of type ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ShadingCache.`add​(ShadingState state, Shader shader, Color c)` |
    `Color` | GIEngine.`getGlobalRadiance​(ShadingState state)` | This is an optional method for engines that contain a secondary illumination engine which can return an approximation of the global radiance in the scene (like a photon map).
    `Color` | GIEngine.`getIrradiance​(ShadingState state, Color diffuseReflectance)` | Return the incomming irradiance due to indirect diffuse illumination at the specified surface point.
    `Color` | Shader.`getOpacity​(ShadingState state)` | Returns how much light is blocked by this shader.
    `Color` | Shader.`getRadiance​(ShadingState state)` | Gets the radiance for a specified rendering state.
    `void` | CausticPhotonMapInterface.`getSamples​(ShadingState state)` | Retrieve caustic photons at the specified shading location and add them as diffuse light samples.
    `void` | LightSource.`getSamples​(ShadingState state)` | Samples the light source to compute direct illumination.
    `Color` | ShadingCache.`lookup​(ShadingState state, Shader shader)` |
    `void` | Modifier.`modify​(ShadingState state)` | Modify the shading state for the point to be shaded.
    `void` | Instance.`prepareShadingState​(ShadingState state)` | Prepare the shading state for shader invocation.
    `void` | PrimitiveList.`prepareShadingState​(ShadingState state)` | Prepare the specified `ShadingState` by setting all of its internal parameters.
    `void` | Shader.`scatterPhoton​(ShadingState state, Color power)` | Scatter a photon with the specied power.
    `void` | PhotonStore.`store​(ShadingState state, Vector3 dir, Color power, Color diffuse)` | Store the specified photon.
    `void` | LightSample.`traceShadow​(ShadingState state)` | Trace the shadow ray, attenuating the sample's color by the opacity of intersected objects.

  - ### Uses of ShadingState in org.sunflow.core.gi

    Methods in org.sunflow.core.gi with parameters of type ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `Color` | AmbientOcclusionGIEngine.`getGlobalRadiance​(ShadingState state)` |
    `Color` | FakeGIEngine.`getGlobalRadiance​(ShadingState state)` |
    `Color` | InstantGI.`getGlobalRadiance​(ShadingState state)` |
    `Color` | IrradianceCacheGIEngine.`getGlobalRadiance​(ShadingState state)` |
    `Color` | PathTracingGIEngine.`getGlobalRadiance​(ShadingState state)` |
    `Color` | AmbientOcclusionGIEngine.`getIrradiance​(ShadingState state, Color diffuseReflectance)` |
    `Color` | FakeGIEngine.`getIrradiance​(ShadingState state, Color diffuseReflectance)` |
    `Color` | InstantGI.`getIrradiance​(ShadingState state, Color diffuseReflectance)` |
    `Color` | IrradianceCacheGIEngine.`getIrradiance​(ShadingState state, Color diffuseReflectance)` |
    `Color` | PathTracingGIEngine.`getIrradiance​(ShadingState state, Color diffuseReflectance)` |

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

    Methods in org.sunflow.core.light with parameters of type ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `Color` | ImageBasedLight.`getOpacity​(ShadingState state)` |
    `Color` | SphereLight.`getOpacity​(ShadingState state)` |
    `Color` | SunSkyLight.`getOpacity​(ShadingState state)` |
    `Color` | TriangleMeshLight.`getOpacity​(ShadingState state)` |
    `Color` | ImageBasedLight.`getRadiance​(ShadingState state)` |
    `Color` | SphereLight.`getRadiance​(ShadingState state)` |
    `Color` | SunSkyLight.`getRadiance​(ShadingState state)` |
    `Color` | TriangleMeshLight.`getRadiance​(ShadingState state)` |
    `void` | DirectionalSpotlight.`getSamples​(ShadingState state)` |
    `void` | ImageBasedLight.`getSamples​(ShadingState state)` |
    `void` | PointLight.`getSamples​(ShadingState state)` |
    `void` | SphereLight.`getSamples​(ShadingState state)` |
    `void` | SunSkyLight.`getSamples​(ShadingState state)` |
    `void` | TriangleMeshLight.`getSamples​(ShadingState state)` |
    `boolean` | SphereLight.`isVisible​(ShadingState state)` |
    `void` | ImageBasedLight.`prepareShadingState​(ShadingState state)` |
    `void` | SunSkyLight.`prepareShadingState​(ShadingState state)` |
    `void` | ImageBasedLight.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | SphereLight.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | SunSkyLight.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | TriangleMeshLight.`scatterPhoton​(ShadingState state, Color power)` |

  - ### Uses of ShadingState in org.sunflow.core.modifiers

    Methods in org.sunflow.core.modifiers with parameters of type ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | BumpMappingModifier.`modify​(ShadingState state)` |
    `void` | NormalMapModifier.`modify​(ShadingState state)` |
    `void` | PerlinModifier.`modify​(ShadingState state)` |

  - ### Uses of ShadingState in org.sunflow.core.photonmap

    Methods in org.sunflow.core.photonmap with parameters of type ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | CausticPhotonMap.`getSamples​(ShadingState state)` |
    `void` | CausticPhotonMap.`store​(ShadingState state, Vector3 dir, Color power, Color diffuse)` |
    `void` | GlobalPhotonMap.`store​(ShadingState state, Vector3 dir, Color power, Color diffuse)` |
    `void` | GridPhotonMap.`store​(ShadingState state, Vector3 dir, Color power, Color diffuse)` |

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

    Methods in org.sunflow.core.primitive with parameters of type ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `Color` | CornellBox.`getOpacity​(ShadingState state)` |
    `Color` | Hair.`getOpacity​(ShadingState state)` |
    `Color` | CornellBox.`getRadiance​(ShadingState state)` |
    `Color` | Hair.`getRadiance​(ShadingState state)` |
    `void` | CornellBox.`getSamples​(ShadingState state)` |
    `void` | Background.`prepareShadingState​(ShadingState state)` |
    `void` | BanchoffSurface.`prepareShadingState​(ShadingState state)` |
    `void` | Box.`prepareShadingState​(ShadingState state)` |
    `void` | CornellBox.`prepareShadingState​(ShadingState state)` |
    `void` | CubeGrid.`prepareShadingState​(ShadingState state)` |
    `void` | Cylinder.`prepareShadingState​(ShadingState state)` |
    `void` | Hair.`prepareShadingState​(ShadingState state)` |
    `void` | JuliaFractal.`prepareShadingState​(ShadingState state)` |
    `void` | ParticleSurface.`prepareShadingState​(ShadingState state)` |
    `void` | Plane.`prepareShadingState​(ShadingState state)` |
    `void` | QuadMesh.`prepareShadingState​(ShadingState state)` |
    `void` | Sphere.`prepareShadingState​(ShadingState state)` |
    `void` | SphereFlake.`prepareShadingState​(ShadingState state)` |
    `void` | Torus.`prepareShadingState​(ShadingState state)` |
    `void` | TriangleMesh.`prepareShadingState​(ShadingState state)` |
    `void` | CornellBox.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | Hair.`scatterPhoton​(ShadingState state, Color power)` |

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

    Methods in org.sunflow.core.shader with parameters of type ShadingState
    Modifier and Type | Method | Description
    --- | --- | ---
    `Color` | AmbientOcclusionShader.`getBrightColor​(ShadingState state)` |
    `Color` | TexturedAmbientOcclusionShader.`getBrightColor​(ShadingState state)` |
    `protected Color` | AnisotropicWardShader.`getDiffuse​(ShadingState state)` |
    `Color` | DiffuseShader.`getDiffuse​(ShadingState state)` |
    `protected Color` | PhongShader.`getDiffuse​(ShadingState state)` |
    `Color` | ShinyDiffuseShader.`getDiffuse​(ShadingState state)` |
    `Color` | TexturedDiffuseShader.`getDiffuse​(ShadingState state)` |
    `Color` | TexturedPhongShader.`getDiffuse​(ShadingState state)` |
    `Color` | TexturedShinyDiffuseShader.`getDiffuse​(ShadingState state)` |
    `Color` | TexturedWardShader.`getDiffuse​(ShadingState state)` |
    `Color` | UberShader.`getDiffuse​(ShadingState state)` |
    `Color` | WireframeShader.`getFillColor​(ShadingState state)` |
    `Color` | WireframeShader.`getLineColor​(ShadingState state)` |
    `Color` | AmbientOcclusionShader.`getOpacity​(ShadingState state)` |
    `Color` | AnisotropicWardShader.`getOpacity​(ShadingState state)` |
    `Color` | ConstantShader.`getOpacity​(ShadingState state)` |
    `Color` | DiffuseShader.`getOpacity​(ShadingState state)` |
    `Color` | GlassShader.`getOpacity​(ShadingState state)` |
    `Color` | IDShader.`getOpacity​(ShadingState state)` |
    `Color` | MirrorShader.`getOpacity​(ShadingState state)` |
    `Color` | NormalShader.`getOpacity​(ShadingState state)` |
    `Color` | PhongShader.`getOpacity​(ShadingState state)` |
    `Color` | PrimIDShader.`getOpacity​(ShadingState state)` |
    `Color` | QuickGrayShader.`getOpacity​(ShadingState state)` |
    `Color` | ShinyDiffuseShader.`getOpacity​(ShadingState state)` |
    `Color` | SimpleShader.`getOpacity​(ShadingState state)` |
    `Color` | TexturedDiffuseShader.`getOpacity​(ShadingState state)` |
    `Color` | TexturedPhongShader.`getOpacity​(ShadingState state)` |
    `Color` | TexturedShinyDiffuseShader.`getOpacity​(ShadingState state)` |
    `Color` | TexturedWardShader.`getOpacity​(ShadingState state)` |
    `Color` | UberShader.`getOpacity​(ShadingState state)` |
    `Color` | UVShader.`getOpacity​(ShadingState state)` |
    `Color` | ViewCausticsShader.`getOpacity​(ShadingState state)` |
    `Color` | ViewGlobalPhotonsShader.`getOpacity​(ShadingState state)` |
    `Color` | ViewIrradianceShader.`getOpacity​(ShadingState state)` |
    `Color` | WireframeShader.`getOpacity​(ShadingState state)` |
    `Color` | AmbientOcclusionShader.`getRadiance​(ShadingState state)` |
    `Color` | AnisotropicWardShader.`getRadiance​(ShadingState state)` |
    `Color` | ConstantShader.`getRadiance​(ShadingState state)` |
    `Color` | DiffuseShader.`getRadiance​(ShadingState state)` |
    `Color` | GlassShader.`getRadiance​(ShadingState state)` |
    `Color` | IDShader.`getRadiance​(ShadingState state)` |
    `Color` | MirrorShader.`getRadiance​(ShadingState state)` |
    `Color` | NormalShader.`getRadiance​(ShadingState state)` |
    `Color` | PhongShader.`getRadiance​(ShadingState state)` |
    `Color` | PrimIDShader.`getRadiance​(ShadingState state)` |
    `Color` | QuickGrayShader.`getRadiance​(ShadingState state)` |
    `Color` | ShinyDiffuseShader.`getRadiance​(ShadingState state)` |
    `Color` | SimpleShader.`getRadiance​(ShadingState state)` |
    `Color` | TexturedDiffuseShader.`getRadiance​(ShadingState state)` |
    `Color` | TexturedPhongShader.`getRadiance​(ShadingState state)` |
    `Color` | TexturedShinyDiffuseShader.`getRadiance​(ShadingState state)` |
    `Color` | UberShader.`getRadiance​(ShadingState state)` |
    `Color` | UVShader.`getRadiance​(ShadingState state)` |
    `Color` | ViewCausticsShader.`getRadiance​(ShadingState state)` |
    `Color` | ViewGlobalPhotonsShader.`getRadiance​(ShadingState state)` |
    `Color` | ViewIrradianceShader.`getRadiance​(ShadingState state)` |
    `Color` | WireframeShader.`getRadiance​(ShadingState state)` |
    `Color` | UberShader.`getSpecular​(ShadingState state)` |
    `void` | AmbientOcclusionShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | AnisotropicWardShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | ConstantShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | DiffuseShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | GlassShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | IDShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | MirrorShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | NormalShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | PhongShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | PrimIDShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | QuickGrayShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | ShinyDiffuseShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | SimpleShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | UberShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | UVShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | ViewCausticsShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | ViewGlobalPhotonsShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | ViewIrradianceShader.`scatterPhoton​(ShadingState state, Color power)` |
    `void` | WireframeShader.`scatterPhoton​(ShadingState state, Color power)` |