Class FakeGIEngine

java.lang.Object
org.sunflow.core.gi.FakeGIEngine
All Implemented Interfaces:
GIEngine

public class FakeGIEngine extends Object implements GIEngine
This is a quick way to get a bit of ambient lighting into your scene with hardly any overhead. It's based on the formula found here:
  • Constructor Details

    • FakeGIEngine

      public FakeGIEngine()
  • Method Details

    • 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
    • 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