Class VolumeShaderEffectMultiPassDynamic

  • All Implemented Interfaces:
    java.io.Serializable, WildMagic.LibGraphics.ObjectSystem.NameIdInterface, WildMagic.LibGraphics.ObjectSystem.StreamInterface

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

      • basicParameters

        private static java.lang.String basicParameters
      • basicParametersB

        private static java.lang.String basicParametersB
      • colorMapA

        private static java.lang.String colorMapA
      • colorMapB

        private static java.lang.String colorMapB
      • colorMapGMA

        private static java.lang.String colorMapGMA
      • colorMapGMB

        private static java.lang.String colorMapGMB
      • blendParameters

        private static java.lang.String blendParameters
      • clipParameters

        private static java.lang.String clipParameters
      • clipAEParameters

        private static java.lang.String clipAEParameters
      • clipSphereParameters

        private static java.lang.String clipSphereParameters
      • clipOBBParameters

        private static java.lang.String clipOBBParameters
      • lightingParametersBasicColorA

        private static java.lang.String lightingParametersBasicColorA
      • lightingParametersBasicColorB

        private static java.lang.String lightingParametersBasicColorB
      • lightingParametersBasic

        private static java.lang.String lightingParametersBasic
      • lightParameters

        private static java.lang.String lightParameters
      • gradientMagnitudeParametersA

        private static java.lang.String gradientMagnitudeParametersA
      • gradientMagnitudeParametersB

        private static java.lang.String gradientMagnitudeParametersB
      • multiHistogramWidgetParameters

        private static java.lang.String multiHistogramWidgetParameters
      • multiHistogramWidgetColorParameters

        private static java.lang.String multiHistogramWidgetColorParameters
      • mainSetup

        private static java.lang.String mainSetup
      • colorParametersA

        private static java.lang.String colorParametersA
      • colorParametersB

        private static java.lang.String colorParametersB
      • readImageA

        private static java.lang.String readImageA
      • readImageB

        private static java.lang.String readImageB
      • readImageColorA

        private static java.lang.String readImageColorA
      • useRedOnly

        private static java.lang.String useRedOnly
      • useGreenOnly

        private static java.lang.String useGreenOnly
      • useBlueOnly

        private static java.lang.String useBlueOnly
      • readImageColorB

        private static java.lang.String readImageColorB
      • readColorMapA

        private static java.lang.String readColorMapA
      • readColorMapB

        private static java.lang.String readColorMapB
      • readColorMapRGBA

        private static java.lang.String readColorMapRGBA
      • readColorMapRGBB

        private static java.lang.String readColorMapRGBB
      • gradientMagnitudeCompositeA

        private static java.lang.String gradientMagnitudeCompositeA
      • gradientMagnitudeCompositeOpacityA

        private static java.lang.String gradientMagnitudeCompositeOpacityA
      • gradientMagnitudeCompositeB

        private static java.lang.String gradientMagnitudeCompositeB
      • blendComposite

        private static java.lang.String blendComposite
      • compositeMIP_DRR

        private static java.lang.String compositeMIP_DRR
      • calcColorAStart

        private static java.lang.String calcColorAStart
      • calcColorBStart

        private static java.lang.String calcColorBStart
      • calcColorEnd

        private static java.lang.String calcColorEnd
      • calcColorA

        private static java.lang.String calcColorA
      • calcColorB

        private static java.lang.String calcColorB
      • finalColorA

        private static java.lang.String finalColorA
      • finalColorA_MIP

        private static java.lang.String finalColorA_MIP
      • finalColorB

        private static java.lang.String finalColorB
      • finalColorB_MIP

        private static java.lang.String finalColorB_MIP
      • finalColorAB

        private static java.lang.String finalColorAB
      • finalColorAB_MIP

        private static java.lang.String finalColorAB_MIP
      • mainEnd

        private static java.lang.String mainEnd
      • clipSetup

        private static java.lang.String clipSetup
      • clipEnd

        private static java.lang.String clipEnd
      • clipAESetup

        private static java.lang.String clipAESetup
      • clipEllipsoidSetup

        private static java.lang.String clipEllipsoidSetup
      • clipSphereSetup

        private static java.lang.String clipSphereSetup
      • clipOBBSetup

        private static java.lang.String clipOBBSetup
      • surfaceInit

        public static java.lang.String surfaceInit
      • surfaceInitColorA

        public static java.lang.String surfaceInitColorA
      • surfaceInitColorB

        public static java.lang.String surfaceInitColorB
      • surfaceCompositeInit

        public static java.lang.String surfaceCompositeInit
      • multiHistoSurfaceCompositeInit

        public static java.lang.String multiHistoSurfaceCompositeInit
      • surfaceFinish

        public static java.lang.String surfaceFinish
      • surfaceAmbient

        public static java.lang.String surfaceAmbient
      • surfacePointStatic

        public static java.lang.String surfacePointStatic
      • surfacePoint

        public static java.lang.String surfacePoint
      • surfaceDirectionalStatic

        public static java.lang.String surfaceDirectionalStatic
      • surfaceDirectional

        public static java.lang.String surfaceDirectional
      • surfaceSpotStatic

        public static java.lang.String surfaceSpotStatic
      • surfaceSpot

        public static java.lang.String surfaceSpot
      • multiHistogramInitA

        private static java.lang.String multiHistogramInitA
      • multiHistogramInitB

        private static java.lang.String multiHistogramInitB
      • multiHistogramInitMapColor

        private static java.lang.String multiHistogramInitMapColor
      • multiHistogramInitMap

        private static java.lang.String multiHistogramInitMap
      • multiHistogramCompositeTriangle

        private static java.lang.String multiHistogramCompositeTriangle
      • multiHistogramCompositeSquare

        private static java.lang.String multiHistogramCompositeSquare
      • multiHistogramCompositeCircle

        private static java.lang.String multiHistogramCompositeCircle
      • multiHistogramReadColorMap

        private static java.lang.String multiHistogramReadColorMap
      • multiHistogramCompositeColorMap

        private static java.lang.String multiHistogramCompositeColorMap
      • multiHistogramFinish

        private static java.lang.String multiHistogramFinish
      • lightingFunctions

        private static java.lang.String lightingFunctions
    • Constructor Detail

      • VolumeShaderEffectMultiPassDynamic

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

      • 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).
      • 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
      • SetLight

        public boolean SetLight​(java.lang.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).
      • 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 java.lang.String createProgramText()
      • createColorFunctionA

        private java.lang.String createColorFunctionA​(boolean bLightsOn)
      • createColorFunctionB

        private java.lang.String createColorFunctionB​(boolean bLightsOn)