Class FacetBuffer

java.lang.Object
cz.fidentis.analyst.opencl.memory.impl.FacetBuffer
All Implemented Interfaces:
CLResources

public class FacetBuffer extends Object implements CLResources
This buffer encapsulates loading of MeshFacet instances to GPU memory. Since loading of larger amounts of data from host to device is very slow, this class implements CPU-side parallelization of the process
  • Constructor Details

    • FacetBuffer

      public FacetBuffer(com.jogamp.opencl.CLContext clContext)
      Initializes facet buffer
      Parameters:
      clContext - CLContext of the buffer
  • Method Details

    • release

      public void release()
      Description copied from interface: CLResources
      Explicitly releases GPU resources held by this object
      Specified by:
      release in interface CLResources
    • loadAsynchronously

      public void loadAsynchronously(Collection<MeshFacet> facets)
      Loads Facets asynchronously to GPU memory. Does not wait for finish
      Parameters:
      facets - facets to be loaded
    • getVertexBuffer

      public WriteBufferGPU<javax.vecmath.Point3d> getVertexBuffer()
      Gets vertex buffer, but waits for it to be loaded on GPU
      Returns:
      loaded Vertex Buffer
    • getMeshTriangleBuffer

      public WriteBufferGPU<MeshTriangle> getMeshTriangleBuffer()
      Gets MeshTriangle Buffer, but waits for it to be loaded on GPU
      Returns:
      loaded MeshTriangle Buffer