Package icyllis.arc3d.opengl

# Class GLResourceProvider

java.lang.Object
icyllis.arc3d.engine.ResourceProvider
icyllis.arc3d.opengl.GLResourceProvider

public final class GLResourceProvider extends ResourceProvider
Provides OpenGL objects with cache.

- ## Field Summary

  ### Fields inherited from class icyllis.arc3d.engine.ResourceProvider

  `mContext, mResourceCache`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected @SharedPtr GLGraphicsPipeline`
  `createGraphicsPipeline(PipelineDesc pipelineDesc, RenderPassDesc renderPassDesc)`
  `protected @SharedPtr Sampler`
  `createSampler(SamplerDesc desc)`
  `protected @SharedPtr GLBuffer`
  `onCreateNewBuffer(long size, int usage)`
  `protected @SharedPtr GLImage`
  `onCreateNewImage(ImageDesc desc, boolean budgeted)`
  Overridden by backend-specific derived class to create objects.

  ### Methods inherited from class icyllis.arc3d.engine.ResourceProvider

  `assignUniqueKeyToResource, createImage, createNewBuffer, createNewImage, createRenderTarget, createRenderTarget, createRenderTarget, createTexture, destroy, findAndRefScratchImage, findAndRefScratchImage, findAndRefScratchRenderTarget, findAndRefScratchRenderTarget, findOrCreateBuffer, findOrCreateCompatibleSampler, findOrCreateGraphicsPipeline, findOrCreateImage, freeGpuResources, getResourceCache, getResourceCacheBudgetedBytes, getResourceCacheLimit, getResourceCachePurgeableBytes, purgeResourcesNotUsedSince, wrapBackendRenderTarget, wrapGLDefaultFramebuffer, wrapRenderableBackendTexture`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### createGraphicsPipeline

    @SharedPtr protected @SharedPtr GLGraphicsPipeline createGraphicsPipeline(PipelineDesc pipelineDesc, RenderPassDesc renderPassDesc)
    Overrides:
      `createGraphicsPipeline` in class `ResourceProvider`

  - ### onCreateNewImage

    @Nullable @SharedPtr protected @SharedPtr GLImage onCreateNewImage(ImageDesc desc, boolean budgeted)
    Description copied from class: `ResourceProvider`
    Overridden by backend-specific derived class to create objects.

    Image size and format support will have already been validated in base class before onCreateImage is called.

    Specified by:
      `onCreateNewImage` in class `ResourceProvider`

  - ### onCreateNewBuffer

    @Nullable @SharedPtr protected @SharedPtr GLBuffer onCreateNewBuffer(long size, int usage)
    Specified by:
      `onCreateNewBuffer` in class `ResourceProvider`

  - ### createSampler

    @Nullable @SharedPtr protected @SharedPtr Sampler createSampler(SamplerDesc desc)
    Specified by:
      `createSampler` in class `ResourceProvider`