Class Texture3D

java.lang.Object
org.jzy3d.plot3d.primitives.Drawable
org.jzy3d.plot3d.primitives.volume.Texture3D
All Implemented Interfaces:
IMultiColorable, IGLBindedResource, IGLRenderer, ISortableDraw

public class Texture3D extends Drawable implements IGLBindedResource, IMultiColorable
  • Field Details

    • texID

      protected int texID
      The GL texture ID.
    • buffer

      protected Buffer buffer
    • shape

      protected int[] shape
    • mounted

      protected boolean mounted
    • shapeVBO

      protected DrawableVBO shapeVBO
    • shaderProgram

      protected GLSLProgram shaderProgram
    • min

      protected float min
    • max

      protected float max
    • colormapTexure

      protected ColormapTexture colormapTexure
    • disposed

      protected boolean disposed
    • mapper

      protected ColorMapper mapper
  • Constructor Details

    • Texture3D

      public Texture3D(Buffer buffer, int[] shape, float min, float max, ColorMapper mapper, BoundingBox3d bbox)
      Instanciate a drawable volume.
      Parameters:
      buffer - provides (x,y,z,V) tuples where (x,y,z) are voxel index in the volume and V the value used for coloring voxels
      shape - a 3 element array indicating the number of voxels for each dimension
      min - the minimum V value provided in the input buffer which must be set consistently with the colormapper
      max - the maximum V value provided in the input buffer which must be set consistently with the colormapper
      mapper - the colormap handler that will apply a colormap to a value range
      bbox - the real world range of each axis, since the input buffer provide tuples with index and not coordinates
    • Texture3D

      public Texture3D(Buffer buffer, int[] shape, ColorMapper mapper, BoundingBox3d bbox)
      A convenient constructor that configure the volume value range based on the colormapper settings. Texture3D(Buffer, int[], float, float, ColorMapper, BoundingBox3d)
  • Method Details

    • mount

      public void mount(IPainter painter)
      Description copied from interface: IGLBindedResource
      Mount resources to gl context
      Specified by:
      mount in interface IGLBindedResource
    • setMin

      public void setMin(Number min)
    • setMax

      public void setMax(Number max)
    • hasMountedOnce

      public boolean hasMountedOnce()
      Description copied from interface: IGLBindedResource
      Return true if mount(...) has been called at least one time
      Specified by:
      hasMountedOnce in interface IGLBindedResource
    • bind

      public void bind(com.jogamp.opengl.GL gl) throws com.jogamp.opengl.GLException
      Throws:
      com.jogamp.opengl.GLException
    • unbind

      public void unbind(com.jogamp.opengl.GL gl)
    • setTextureData

      public void setTextureData(com.jogamp.opengl.GL gl, Buffer buffer, int[] shape)
      Load buffer data into memory
      Parameters:
      gl -
      buffer - texture data
      shape - the dimensions of 3d texture.
    • validateTexID

      protected boolean validateTexID(com.jogamp.opengl.GL gl, boolean throwException)
    • draw

      public void draw(IPainter painter)
      Description copied from class: Drawable
      Call OpenGL2 routines for rendering the object.
      Specified by:
      draw in interface IGLRenderer
      Specified by:
      draw in class Drawable
    • applyGeometryTransform

      public void applyGeometryTransform(Transform transform)
      Specified by:
      applyGeometryTransform in class Drawable
    • dispose

      public void dispose()
      Description copied from class: Drawable
      Performs all required operation to cleanup the Drawable.
      Overrides:
      dispose in class Drawable
    • updateBounds

      public void updateBounds()
      Specified by:
      updateBounds in class Drawable
    • getColorMapper

      public ColorMapper getColorMapper()
      Description copied from interface: IMultiColorable
      Get the colormapper.
      Specified by:
      getColorMapper in interface IMultiColorable
    • setColorMapper

      public void setColorMapper(ColorMapper mapper)
      Description copied from interface: IMultiColorable
      Set the colormapper that will be used by the Drawable, instead of using precomputed colors.
      Specified by:
      setColorMapper in interface IMultiColorable