Class DirectionalLightShadowFilterVR

All Implemented Interfaces:
Savable
Direct Known Subclasses:
InstancedDirectionalShadowFilter

@Deprecated public class DirectionalLightShadowFilterVR extends AbstractShadowFilterVR<DirectionalLightShadowRendererVR>
Deprecated.
The jme3-vr module is deprecated and will be removed in a future version (as it only supports OpenVR). For new Virtual Reality projects, use user libraries that provide OpenXR support. See Virtual Reality JME wiki section for more information.
This Filter does basically the same as a DirectionalLightShadowRenderer except it renders the post shadow pass as a fullscreen quad pass instead of a geometry pass. It's mostly faster than PssmShadowRenderer as long as you have more than about ten shadow receiving objects. The expense is the drawback that the shadow Receive mode set on spatial is ignored. So basically all and only objects that render depth in the scene receive shadows. See this post for more details http://jmonkeyengine.org/groups/general-2/forum/topic/silly-question-about-shadow-rendering/#post-191599 API is basically the same as the PssmShadowRenderer;
  • Constructor Details

    • DirectionalLightShadowFilterVR

      public DirectionalLightShadowFilterVR(AssetManager assetManager, int shadowMapSize, int nbSplits)
      Deprecated.
      Creates a DirectionalLightShadowFilter Shadow Filter More info on the technique at http://http.developer.nvidia.com/GPUGems3/gpugems3_ch10.html
      Parameters:
      assetManager - the application asset manager
      shadowMapSize - the size of the rendered shadowmaps (512, 1024, 2048, etcetera)
      nbSplits - the number of shadow maps rendered (More shadow maps yield better quality, fewer fps.)
    • DirectionalLightShadowFilterVR

      public DirectionalLightShadowFilterVR(AssetManager assetManager, int shadowMapSize, int nbSplits, String useMatDef)
      Deprecated.
      Creates a DirectionalLight shadow filter. More info on the technique at http://http.developer.nvidia.com/GPUGems3/gpugems3_ch10.html.
      Parameters:
      assetManager - the application's asset manager
      shadowMapSize - the size of the rendered shadowmaps (512, 1024, 2048, etc...)
      nbSplits - the number of shadow maps rendered (More shadow maps yield better quality, fewer fps.)
      useMatDef - the material to attach to this filter.
  • Method Details

    • getLight

      public DirectionalLight getLight()
      Deprecated.
      return the light used to cast shadows
      Returns:
      the DirectionalLight
    • setLight

      public void setLight(DirectionalLight light)
      Deprecated.
      Sets the light to use to cast shadows
      Parameters:
      light - a DirectionalLight
    • getLambda

      public float getLambda()
      Deprecated.
      returns the lambda parameter
      Returns:
      lambda
      See Also:
    • setLambda

      public void setLambda(float lambda)
      Deprecated.
      Adjusts the partition of the shadow extend into shadow maps. Lambda is usually between 0 and 1. A low value gives a more linear partition, resulting in consistent shadow quality over the extend, but near shadows could look very jagged. A high value gives a more logarithmic partition, resulting in high quality for near shadows, but quality decreases rapidly with distance. The default value is 0.65 (the theoretical optimum).
      Parameters:
      lambda - the lambda value.
    • isEnabledStabilization

      public boolean isEnabledStabilization()
      Deprecated.
      Check if stabilization is enabled.
      Returns:
      true if the stabilization is enabled and false otherwise.
      See Also:
    • setEnabledStabilization

      public void setEnabledStabilization(boolean stabilize)
      Deprecated.
      Enables the stabilization of the shadow's edges. (default is true) This prevents shadow edges from flickering when the camera moves. However, it can lead to some loss of shadow quality in particular scenes.
      Parameters:
      stabilize - true if the stabilization has to be enabled and false otherwise.
      See Also:
    • write

      public void write(JmeExporter ex) throws IOException
      Deprecated.
      Description copied from class: Filter
      Override this method if you want to save extra properties when the filter is saved else only basic properties of the filter will be saved This method should always begin by super.write(ex);
      Specified by:
      write in interface Savable
      Overrides:
      write in class AbstractShadowFilterVR<DirectionalLightShadowRendererVR>
      Parameters:
      ex - the exporter (not null)
      Throws:
      IOException - from the exporter
    • read

      public void read(JmeImporter im) throws IOException
      Deprecated.
      Description copied from class: Filter
      Override this method if you want to load extra properties when the filter is loaded else only basic properties of the filter will be loaded This method should always begin by super.read(im);
      Specified by:
      read in interface Savable
      Overrides:
      read in class AbstractShadowFilterVR<DirectionalLightShadowRendererVR>
      Throws:
      IOException