Package org.sunflow.core.gi

# Class InstantGI

java.lang.Object
org.sunflow.core.gi.InstantGI

All Implemented Interfaces:
  `GIEngine`

public class InstantGI extends Object implements GIEngine

## Constructor Summary

Constructors
Constructor
Description
`InstantGI()`

## Method Summary

Modifier and Type
Method
Description
`Color`
`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`
`getIrradiance(ShadingState state, Color diffuseReflectance)`
Return the incomming irradiance due to indirect diffuse illumination at the specified surface point.
`boolean`
`init(Options options, Scene scene)`
Initialize the engine.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### InstantGI

public InstantGI()

## Method Details

### getGlobalRadiance

public Color getGlobalRadiance(ShadingState state)
Description copied from interface: `GIEngine`
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). Engines can safely return `Color.BLACK` if they can't or don't wish to support this.

Specified by:
  `getGlobalRadiance` in interface `GIEngine`
Parameters:
  `state` - shading state
Returns:
  color approximating global radiance

### init

public boolean init(Options options, Scene scene)
Description copied from interface: `GIEngine`
Initialize the engine. This is called before rendering begins.

Specified by:
  `init` in interface `GIEngine`
Returns:
  `true` if the init phase succeeded, `false` otherwise

### getIrradiance

public Color getIrradiance(ShadingState state, Color diffuseReflectance)
Description copied from interface: `GIEngine`
Return the incomming irradiance due to indirect diffuse illumination at the specified surface point.

Specified by:
  `getIrradiance` in interface `GIEngine`
Parameters:
  `state` - current render state describing the point to be computed
  `diffuseReflectance` - diffuse albedo of the point being shaded, this can be used for importance tracking
Returns:
  irradiance from indirect diffuse illumination at the specified point