Class VolumeShaderEffectMultiPassDynamic

java.lang.Object
WildMagic.LibGraphics.ObjectSystem.GraphicsObject
WildMagic.LibGraphics.Effects.Effect
WildMagic.LibGraphics.Effects.ShaderEffect
All Implemented Interfaces:
Serializable, WildMagic.LibGraphics.ObjectSystem.NameIdInterface, WildMagic.LibGraphics.ObjectSystem.StreamInterface

public class VolumeShaderEffectMultiPassDynamic extends VolumeShaderEffectMultiPass implements WildMagic.LibGraphics.ObjectSystem.StreamInterface
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • basicParameters

      private static String basicParameters
    • basicParametersB

      private static String basicParametersB
    • colorMapA

      private static String colorMapA
    • colorMapB

      private static String colorMapB
    • colorMapGMA

      private static String colorMapGMA
    • colorMapGMB

      private static String colorMapGMB
    • blendParameters

      private static String blendParameters
    • clipParameters

      private static String clipParameters
    • clipAEParameters

      private static String clipAEParameters
    • clipSphereParameters

      private static String clipSphereParameters
    • clipOBBParameters

      private static String clipOBBParameters
    • lightingParametersBasicColorA

      private static String lightingParametersBasicColorA
    • lightingParametersBasicColorB

      private static String lightingParametersBasicColorB
    • lightingParametersBasic

      private static String lightingParametersBasic
    • lightParameters

      private static String lightParameters
    • gradientMagnitudeParametersA

      private static String gradientMagnitudeParametersA
    • gradientMagnitudeParametersB

      private static String gradientMagnitudeParametersB
    • multiHistogramWidgetParameters

      private static String multiHistogramWidgetParameters
    • multiHistogramWidgetColorParameters

      private static String multiHistogramWidgetColorParameters
    • mainSetup

      private static String mainSetup
    • colorParametersA

      private static String colorParametersA
    • colorParametersB

      private static String colorParametersB
    • readImageA

      private static String readImageA
    • readImageB

      private static String readImageB
    • readImageColorA

      private static String readImageColorA
    • useRedOnly

      private static String useRedOnly
    • useGreenOnly

      private static String useGreenOnly
    • useBlueOnly

      private static String useBlueOnly
    • readImageColorB

      private static String readImageColorB
    • readColorMapA

      private static String readColorMapA
    • readColorMapB

      private static String readColorMapB
    • readColorMapRGBA

      private static String readColorMapRGBA
    • readColorMapRGBB

      private static String readColorMapRGBB
    • gradientMagnitudeCompositeA

      private static String gradientMagnitudeCompositeA
    • gradientMagnitudeCompositeOpacityA

      private static String gradientMagnitudeCompositeOpacityA
    • gradientMagnitudeCompositeB

      private static String gradientMagnitudeCompositeB
    • blendComposite

      private static String blendComposite
    • compositeMIP_DRR

      private static String compositeMIP_DRR
    • calcColorAStart

      private static String calcColorAStart
    • calcColorBStart

      private static String calcColorBStart
    • calcColorEnd

      private static String calcColorEnd
    • calcColorA

      private static String calcColorA
    • calcColorB

      private static String calcColorB
    • finalColorA

      private static String finalColorA
    • finalColorA_MIP

      private static String finalColorA_MIP
    • finalColorB

      private static String finalColorB
    • finalColorB_MIP

      private static String finalColorB_MIP
    • finalColorAB

      private static String finalColorAB
    • finalColorAB_MIP

      private static String finalColorAB_MIP
    • mainEnd

      private static String mainEnd
    • clipSetup

      private static String clipSetup
    • clipEnd

      private static String clipEnd
    • clipAESetup

      private static String clipAESetup
    • clipEllipsoidSetup

      private static String clipEllipsoidSetup
    • clipSphereSetup

      private static String clipSphereSetup
    • clipOBBSetup

      private static String clipOBBSetup
    • surfaceInit

      public static String surfaceInit
    • surfaceInitColorA

      public static String surfaceInitColorA
    • surfaceInitColorB

      public static String surfaceInitColorB
    • surfaceCompositeInit

      public static String surfaceCompositeInit
    • multiHistoSurfaceCompositeInit

      public static String multiHistoSurfaceCompositeInit
    • surfaceFinish

      public static String surfaceFinish
    • surfaceAmbient

      public static String surfaceAmbient
    • surfacePointStatic

      public static String surfacePointStatic
    • surfacePoint

      public static String surfacePoint
    • surfaceDirectionalStatic

      public static String surfaceDirectionalStatic
    • surfaceDirectional

      public static String surfaceDirectional
    • surfaceSpotStatic

      public static String surfaceSpotStatic
    • surfaceSpot

      public static String surfaceSpot
    • multiHistogramInitA

      private static String multiHistogramInitA
    • multiHistogramInitB

      private static String multiHistogramInitB
    • multiHistogramInitMapColor

      private static String multiHistogramInitMapColor
    • multiHistogramInitMap

      private static String multiHistogramInitMap
    • multiHistogramCompositeTriangle

      private static String multiHistogramCompositeTriangle
    • multiHistogramCompositeSquare

      private static String multiHistogramCompositeSquare
    • multiHistogramCompositeCircle

      private static String multiHistogramCompositeCircle
    • multiHistogramReadColorMap

      private static String multiHistogramReadColorMap
    • multiHistogramCompositeColorMap

      private static String multiHistogramCompositeColorMap
    • multiHistogramFinish

      private static String multiHistogramFinish
    • lightingFunctions

      private static String lightingFunctions
  • Constructor Details

    • VolumeShaderEffectMultiPassDynamic

      public VolumeShaderEffectMultiPassDynamic(VolumeImage kVolumeImageA, VolumeImage kVolumeImageB, WildMagic.LibGraphics.Rendering.Texture kSceneTarget)
      Creates a new VolumeShaderEffect object.
      Parameters:
      kVolumeImageB - second VolumeImage.
      kSceneTarget - the SceneImage texture with the back-facing polygon texture coordinates.
      kImageA - the VolumeImage containing the data and textures for rendering.
  • Method Details

    • CreateVolumeTexture

      protected void CreateVolumeTexture()
      The VolumeShaderEffect.CreateVolumeTexture() function constructs and initializes the vertex and pixel shader programs for volume rendering. The vertex shader is the same for each rendering type: MIP, DDR, Composite, Surface, and Composite Surface. The pixel shaders are different for each.
      Overrides:
      CreateVolumeTexture in class VolumeShaderEffectMultiPass
    • Blend

      public void Blend(float fBlend)
      Sets the blend factor shader parameter between imageA and imageB.
      Overrides:
      Blend in class VolumeShaderEffectMultiPass
      Parameters:
      fBlend - blend factor (range = 0-1).
    • setABBlend

      public void setABBlend(float fBlend)
      Sets the blend factor shader parameter between imageA and imageB.
      Overrides:
      setABBlend in class VolumeShaderEffectMultiPass
      Parameters:
      fBlend - blend factor (range = 0-1).
    • dispose

      public void dispose()
      memory cleanup.
      Overrides:
      dispose in class VolumeShaderEffectMultiPass
    • printProgram

      public void printProgram()
      Overrides:
      printProgram in class VolumeShaderEffectMultiPass
    • SetClip

      public void SetClip(int iWhich, float data, boolean bEnable)
      Description copied from class: VolumeClipEffect
      Enable and set the axis-aligned clip plane.
      Overrides:
      SetClip in class VolumeClipEffect
      Parameters:
      iWhich - one of 6 clip-planes to set.
      data - the distance to the clip-plane.
    • SetClipArb

      public void SetClipArb(float[] afEquation, boolean bEnable)
      Description copied from class: VolumeClipEffect
      Enable and set the arbitrary clip plane.
      Overrides:
      SetClipArb in class VolumeClipEffect
      Parameters:
      afEquation - the clip-plane equation.
    • SetClipEye

      public void SetClipEye(float[] afEquation, boolean bEnable)
      Description copied from class: VolumeClipEffect
      Enable and set the eye clip plane.
      Overrides:
      SetClipEye in class VolumeClipEffect
      Parameters:
      afEquation - the clip-plane equation.
    • SetClipEyeInv

      public void SetClipEyeInv(float[] afEquation, boolean bEnable)
      Description copied from class: VolumeClipEffect
      Enable and set the inverse-eye clip plane.
      Overrides:
      SetClipEyeInv in class VolumeClipEffect
      Parameters:
      afEquation - the clip-plane equation.
    • SetClipSphere

      public void SetClipSphere(WildMagic.LibFoundation.Mathematics.Vector3f center, WildMagic.LibFoundation.Mathematics.Vector3f scale, float radius, boolean bEnable)
      Overrides:
      SetClipSphere in class VolumeClipEffect
    • SetClipOBB

      public void SetClipOBB(WildMagic.LibFoundation.Mathematics.Vector3f center, WildMagic.LibFoundation.Mathematics.Vector3f scale, WildMagic.LibFoundation.Mathematics.Vector3f[] axes, float[] extents, boolean bEnable)
      Overrides:
      SetClipOBB in class VolumeClipEffect
    • SetGradientMagnitude

      public void SetGradientMagnitude(boolean bShow)
      Description copied from class: VolumeShaderEffectMultiPass
      Enables/Disables gradient magnitude filter.
      Overrides:
      SetGradientMagnitude in class VolumeShaderEffectMultiPass
      Parameters:
      bShow - gradient magnitude filter on/off.
    • SetLight

      public boolean SetLight(String kLightType, float[] afType)
      Description copied from class: VolumeShaderEffectMultiPass
      Sets the light type for the given light.
      Overrides:
      SetLight in class VolumeShaderEffectMultiPass
      Parameters:
      kLightType - the name of the light to set (Light0, Light1, etc.)
      afType - the type of light (Ambient = 0, Directional = 1, Point = 2, Spot = 3).
    • updateLevWidgetState

      public void updateLevWidgetState(Vector<ClassificationWidget> kLWS)
      Overrides:
      updateLevWidgetState in class VolumeShaderEffectMultiPass
    • SURFASTMode

      public void SURFASTMode()
      Description copied from class: VolumeShaderEffectMultiPass
      Change to the Surface mode pixel shader program.
      Overrides:
      SURFASTMode in class VolumeShaderEffectMultiPass
    • SURMode

      public void SURMode()
      Description copied from class: VolumeShaderEffectMultiPass
      Change to the Composite Surface mode pixel shader program.
      Overrides:
      SURMode in class VolumeShaderEffectMultiPass
    • CMPMode

      public void CMPMode()
      Description copied from class: VolumeShaderEffectMultiPass
      Change to the Composite mode pixel shader program.
      Overrides:
      CMPMode in class VolumeShaderEffectMultiPass
    • MIPMode

      public void MIPMode()
      Description copied from class: VolumeShaderEffectMultiPass
      Change to the MIP mode pixel shader program.
      Overrides:
      MIPMode in class VolumeShaderEffectMultiPass
    • DRRMode

      public void DRRMode()
      Description copied from class: VolumeShaderEffectMultiPass
      Change to the DDR mode pixel shader program.
      Overrides:
      DRRMode in class VolumeShaderEffectMultiPass
    • MULTIHISTOMode

      public void MULTIHISTOMode(boolean bOn)
      Description copied from class: VolumeShaderEffectMultiPass
      Change to the Multi-histogram mode pixel shader program.
      Overrides:
      MULTIHISTOMode in class VolumeShaderEffectMultiPass
    • SetCustomBlend

      public void SetCustomBlend(int iBlendEquation, int iLogicOp, int iSrcBlend, int iDstBlend, WildMagic.LibFoundation.Mathematics.ColorRGBA kColor)
      Overrides:
      SetCustomBlend in class VolumeShaderEffectMultiPass
    • useImageA

      private boolean useImageA()
    • useImageB

      private boolean useImageB()
    • checkPixelProgram

      private void checkPixelProgram()
    • createProgramText

      private String createProgramText()
    • createColorFunctionA

      private String createColorFunctionA(boolean bLightsOn)
    • createColorFunctionB

      private String createColorFunctionB(boolean bLightsOn)