Interface LightFilter

All Known Implementing Classes:
DefaultLightFilter, NullLightFilter

public interface LightFilter
LightFilter is used to determine which lights should be rendered for a particular Geometry + Camera combination.
  • Method Details

    • setCamera

      void setCamera(Camera camera)
      Sets the camera for which future filtering is to be done against in filterLights(com.jme3.scene.Geometry, com.jme3.light.LightList).
      Parameters:
      camera - The camera to perform light filtering against.
    • filterLights

      void filterLights(Geometry geometry, LightList filteredLightList)
      Determine which lights on the world light list are to be rendered.

      The simplest implementation (e.g. one that performs no filtering) would simply copy the contents of Spatial.getWorldLightList() to filteredLightList.

      An advanced implementation would determine if the light intersects the geometry's bounding volume and if the light intersects the frustum of the camera set in setCamera(com.jme3.renderer.Camera) as well as sort the lights according to some "influence" criteria - this will then provide an optimal set of lights that should be used for rendering.

      Parameters:
      geometry - The geometry for which the light filtering is performed.
      filteredLightList - The results are to be stored here.