Package org.sunflow.core
Interface GIEngine
- All Known Implementing Classes:
AmbientOcclusionGIEngine
,FakeGIEngine
,InstantGI
,IrradianceCacheGIEngine
,PathTracingGIEngine
public interface GIEngine
This represents a global illumination algorithm. It provides an interface to
compute indirect diffuse bounces of light and make those results available to
shaders.
-
Method Summary
Modifier and TypeMethodDescriptiongetGlobalRadiance
(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).getIrradiance
(ShadingState state, Color diffuseReflectance) Return the incomming irradiance due to indirect diffuse illumination at the specified surface point.boolean
Initialize the engine.
-
Method Details
-
getGlobalRadiance
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 returnColor.BLACK
if they can't or don't wish to support this.- Parameters:
state
- shading state- Returns:
- color approximating global radiance
-
init
Initialize the engine. This is called before rendering begins.- Returns:
true
if the init phase succeeded,false
otherwise
-
getIrradiance
Return the incomming irradiance due to indirect diffuse illumination at the specified surface point.- Parameters:
state
- current render state describing the point to be computeddiffuseReflectance
- diffuse albedo of the point being shaded, this can be used for importance tracking- Returns:
- irradiance from indirect diffuse illumination at the specified point
-