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 TypeMethodDescriptionvoidclear()De-instantiate.protected voidOverride this method to invoke de-allocation of the underlying resource.booleandoLazyInstantiation(ResourceProvider resourceProvider) intReturns the physical height of the backing surface.intReturns 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.intReturns the number of samples per pixel in color buffers (one if non-MSAA).booleaninstantiate(ResourceProvider resourceProvider) Instantiates the backing store, if necessary.booleanReturns whether the backing store references the wrapped object.booleanReturns true if the backing store is instantiated.booleanisLazy()Returns true if the surface has a lazy callback and not instantiated.booleanvoidsetResolveRect(int left, int top, int right, int bottom) booleanProxies 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:RefCntOverride this method to invoke de-allocation of the underlying resource.- Specified by:
deallocatein classRefCnt
-
isLazy
public boolean isLazy()Description copied from class:SurfaceProxyReturns true if the surface has a lazy callback and not instantiated.- Specified by:
isLazyin classSurfaceProxy
-
getBackingWidth
public int getBackingWidth()Description copied from class:SurfaceProxyReturns the physical width of the backing surface. The result is undefined ifSurfaceProxy.isLazyMost()returns true.- Specified by:
getBackingWidthin classSurfaceProxy- Returns:
- the width of the backing store
-
getBackingHeight
public int getBackingHeight()Description copied from class:SurfaceProxyReturns the physical height of the backing surface. The result is undefined ifSurfaceProxy.isLazyMost()returns true.- Specified by:
getBackingHeightin classSurfaceProxy- Returns:
- the height of the backing store
-
getSampleCount
public int getSampleCount()Description copied from class:SurfaceProxyReturns 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:
getSampleCountin 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:
getBackingUniqueIDin classSurfaceProxy
-
isInstantiated
public boolean isInstantiated()Description copied from class:SurfaceProxyReturns true if the backing store is instantiated.- Specified by:
isInstantiatedin classSurfaceProxy
-
instantiate
Description copied from class:SurfaceProxyInstantiates the backing store, if necessary.- Specified by:
instantiatein classSurfaceProxy- Parameters:
resourceProvider- the resource provider to create textures- Returns:
- success or not
-
clear
public void clear()Description copied from class:SurfaceProxyDe-instantiate. Called after instantiated.- Specified by:
clearin classSurfaceProxy
-
shouldSkipAllocator
public boolean shouldSkipAllocator()Description copied from class:SurfaceProxyProxies that are already instantiated and whose backing texture cannot be recycled to instantiate other proxies do not need to be considered bySurfaceAllocator.- Specified by:
shouldSkipAllocatorin classSurfaceProxy
-
isBackingWrapped
public boolean isBackingWrapped()Description copied from class:SurfaceProxyReturns whether the backing store references the wrapped object. Always false if not instantiated.- Specified by:
isBackingWrappedin classSurfaceProxy
-
getGpuSurface
- Specified by:
getGpuSurfacein classSurfaceProxy
-
getGpuImage
Description copied from class:SurfaceProxyIf this is a texturable surface and the surface is already instantiated, return its backingImage; if not, return null.- Overrides:
getGpuImagein classSurfaceProxy
-
getGpuRenderTarget
Description copied from class:SurfaceProxyIf this is a renderable surface and the surface is already instantiated, return its backingGpuRenderTarget; if not, return null.- Overrides:
getGpuRenderTargetin classSurfaceProxy
-
asImageProxy
- Overrides:
asImageProxyin classSurfaceProxy- Returns:
- the texture proxy associated with the surface proxy, may be NULL.
-
asRenderTargetProxy
- Overrides:
asRenderTargetProxyin classSurfaceProxy- Returns:
- the render target proxy associated with the surface proxy, may be NULL.
-
doLazyInstantiation
- Specified by:
doLazyInstantiationin classSurfaceProxy
-