Package icyllis.arc3d.engine
Class RenderTargetProxy
java.lang.Object
icyllis.arc3d.core.RefCnt
icyllis.arc3d.engine.SurfaceProxy
icyllis.arc3d.engine.RenderTargetProxy
- All Implemented Interfaces:
RefCounted
Deferred, lazy-callback or wrapped a render target.
-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.arc3d.engine.SurfaceProxy
SurfaceProxy.LazyCallbackResult, SurfaceProxy.LazyInstantiateCallback
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
De-instantiate.protected void
Override this method to invoke de-allocation of the underlying resource.boolean
doLazyInstantiation
(ResourceProvider resourceProvider) int
Returns the physical height of the backing surface.int
Returns the physical width of the backing surface.If this is a texturable surface and the surface is already instantiated, return its backingImage
; if not, return null.If this is a renderable surface and the surface is already instantiated, return its backingGpuRenderTarget
; if not, return null.int
Returns the number of samples per pixel in color buffers (one if non-MSAA).boolean
instantiate
(ResourceProvider resourceProvider) Instantiates the backing store, if necessary.boolean
Returns whether the backing store references the wrapped object.boolean
Returns true if the backing store is instantiated.boolean
isLazy()
Returns true if the surface has a lazy callback and not instantiated.boolean
void
setResolveRect
(int left, int top, int right, int bottom) boolean
Proxies that are already instantiated and whose backing texture cannot be recycled to instantiate other proxies do not need to be considered bySurfaceAllocator
.Methods inherited from class icyllis.arc3d.engine.SurfaceProxy
equals, getBackendFormat, getHeight, getMemorySize, getTaskTargetCount, getUniqueID, getUniqueKey, getWidth, hashCode, isBudgeted, isDeferredListTarget, isExact, isLazyMost, isManualMSAAResolve, isProtected, isReadOnly, isUsedAsTaskTarget, isUserExact, setIsDeferredListTarget, wrapsGLDefaultFB, wrapsVkSecondaryCB
-
Method Details
-
deallocate
protected void deallocate()Description copied from class:RefCnt
Override this method to invoke de-allocation of the underlying resource.- Specified by:
deallocate
in classRefCnt
-
isLazy
public boolean isLazy()Description copied from class:SurfaceProxy
Returns true if the surface has a lazy callback and not instantiated.- Specified by:
isLazy
in classSurfaceProxy
-
getBackingWidth
public int getBackingWidth()Description copied from class:SurfaceProxy
Returns the physical width of the backing surface. The result is undefined ifSurfaceProxy.isLazyMost()
returns true.- Specified by:
getBackingWidth
in classSurfaceProxy
- Returns:
- the width of the backing store
-
getBackingHeight
public int getBackingHeight()Description copied from class:SurfaceProxy
Returns the physical height of the backing surface. The result is undefined ifSurfaceProxy.isLazyMost()
returns true.- Specified by:
getBackingHeight
in classSurfaceProxy
- Returns:
- the height of the backing store
-
getSampleCount
public int getSampleCount()Description copied from class:SurfaceProxy
Returns the number of samples per pixel in color buffers (one if non-MSAA). If this surface it non-renderable, this method always returns one.- Specified by:
getSampleCount
in classSurfaceProxy
- Returns:
- the number of samples, greater than (multisample) or equal to one
-
setResolveRect
public void setResolveRect(int left, int top, int right, int bottom) -
needsResolve
public boolean needsResolve() -
getResolveRect
-
getBackingUniqueID
- Specified by:
getBackingUniqueID
in classSurfaceProxy
-
isInstantiated
public boolean isInstantiated()Description copied from class:SurfaceProxy
Returns true if the backing store is instantiated.- Specified by:
isInstantiated
in classSurfaceProxy
-
instantiate
Description copied from class:SurfaceProxy
Instantiates the backing store, if necessary.- Specified by:
instantiate
in classSurfaceProxy
- Parameters:
resourceProvider
- the resource provider to create textures- Returns:
- success or not
-
clear
public void clear()Description copied from class:SurfaceProxy
De-instantiate. Called after instantiated.- Specified by:
clear
in classSurfaceProxy
-
shouldSkipAllocator
public boolean shouldSkipAllocator()Description copied from class:SurfaceProxy
Proxies that are already instantiated and whose backing texture cannot be recycled to instantiate other proxies do not need to be considered bySurfaceAllocator
.- Specified by:
shouldSkipAllocator
in classSurfaceProxy
-
isBackingWrapped
public boolean isBackingWrapped()Description copied from class:SurfaceProxy
Returns whether the backing store references the wrapped object. Always false if not instantiated.- Specified by:
isBackingWrapped
in classSurfaceProxy
-
getGpuSurface
- Specified by:
getGpuSurface
in classSurfaceProxy
-
getGpuImage
Description copied from class:SurfaceProxy
If this is a texturable surface and the surface is already instantiated, return its backingImage
; if not, return null.- Overrides:
getGpuImage
in classSurfaceProxy
-
getGpuRenderTarget
Description copied from class:SurfaceProxy
If this is a renderable surface and the surface is already instantiated, return its backingGpuRenderTarget
; if not, return null.- Overrides:
getGpuRenderTarget
in classSurfaceProxy
-
asImageProxy
- Overrides:
asImageProxy
in classSurfaceProxy
- Returns:
- the texture proxy associated with the surface proxy, may be NULL.
-
asRenderTargetProxy
- Overrides:
asRenderTargetProxy
in classSurfaceProxy
- Returns:
- the render target proxy associated with the surface proxy, may be NULL.
-
doLazyInstantiation
- Specified by:
doLazyInstantiation
in classSurfaceProxy
-