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 Link icon

    • FacetBuffer Link icon

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

    • release Link icon

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

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

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

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