Interface RenderDevice
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
GlRenderDevice, HeadlessRenderDevice, VkRenderDevice, WgpuRenderDevice
Low-level backend interface for GPU resource management and command execution.
Users should not use this directly — use
Renderer from graphics:common instead.-
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclose()createBuffer(BufferDescriptor descriptor) default Handle<PipelineResource> createComputePipeline(ComputePipelineDescriptor descriptor) createPipeline(PipelineDescriptor descriptor) createRenderTarget(RenderTargetDescriptor descriptor) createSampler(SamplerDescriptor descriptor) createStreamingBuffer(long frameSize, int frameCount, BufferUsage usage) createTexture(TextureDescriptor descriptor) createVertexInput(VertexFormat format) voiddestroyBuffer(Handle<BufferResource> buffer) voiddestroyPipeline(Handle<PipelineResource> pipeline) voiddestroyRenderTarget(Handle<RenderTargetResource> renderTarget) voiddestroySampler(Handle<SamplerResource> sampler) voiddestroyTexture(Handle<TextureResource> texture) voiddestroyVertexInput(Handle<VertexInputResource> vertexInput) voidendFrame()longgetBindlessTextureHandle(Handle<TextureResource> texture) getRenderTargetColorTexture(Handle<RenderTargetResource> renderTarget, int index) default intgetTextureIndex(Handle<TextureResource> texture) Returns an integer index for the given texture, usable in shaders for bindless access.booleanisValidBuffer(Handle<BufferResource> buffer) booleanisValidPipeline(Handle<PipelineResource> pipeline) booleanisValidTexture(Handle<TextureResource> texture) <T> TqueryCapability(DeviceCapability<T> capability) default byte[]readFramebuffer(int width, int height) Reads back the current framebuffer as RGBA8 byte array.voidsubmit(CommandList commands) default booleansupports(DeviceCapability<Boolean> feature) voiduploadTexture(Handle<TextureResource> texture, ByteBuffer pixels) writeBuffer(Handle<BufferResource> buffer) writeBuffer(Handle<BufferResource> buffer, long offset, long length)
-
Method Details
-
createBuffer
-
destroyBuffer
-
isValidBuffer
-
writeBuffer
-
writeBuffer
-
createTexture
-
uploadTexture
-
destroyTexture
-
isValidTexture
-
createRenderTarget
-
getRenderTargetColorTexture
Handle<TextureResource> getRenderTargetColorTexture(Handle<RenderTargetResource> renderTarget, int index) -
destroyRenderTarget
-
createVertexInput
-
destroyVertexInput
-
createSampler
-
destroySampler
-
createPipeline
-
destroyPipeline
-
isValidPipeline
-
createComputePipeline
-
beginFrame
void beginFrame() -
endFrame
void endFrame() -
submit
-
createStreamingBuffer
-
createFence
GpuFence createFence() -
getBindlessTextureHandle
-
getTextureIndex
Returns an integer index for the given texture, usable in shaders for bindless access. OpenGL: backed by ARB_bindless_texture. Vulkan: backed by descriptor indexing. -
queryCapability
-
supports
-
readFramebuffer
default byte[] readFramebuffer(int width, int height) Reads back the current framebuffer as RGBA8 byte array. Must be called after endFrame(). May wait for GPU idle. Returns null if readback is not supported. -
close
void close()- Specified by:
closein interfaceAutoCloseable
-