Class GlRenderDevice
java.lang.Object
dev.engine.graphics.opengl.GlRenderDevice
- All Implemented Interfaces:
RenderDevice, AutoCloseable
-
Constructor Summary
ConstructorsConstructorDescriptionGlRenderDevice(WindowHandle window, GlBindings gl) GlRenderDevice(WindowHandle window, GlBindings gl, GraphicsConfig config) -
Method Summary
Modifier and TypeMethodDescriptionvoidReturns the capability registry for this device.voidclose()createBuffer(BufferDescriptor descriptor) 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) intgetGlBufferName(Handle<BufferResource> buffer) intgetGlTextureName(Handle<TextureResource> texture) getRenderTargetColorTexture(Handle<RenderTargetResource> renderTarget, int index) Returns theGlBindingsinstance used by this device.booleanisValidBuffer(Handle<BufferResource> buffer) booleanisValidPipeline(Handle<PipelineResource> pipeline) booleanisValidTexture(Handle<TextureResource> texture) <T> TqueryCapability(DeviceCapability<T> capability) byte[]readFramebuffer(int width, int height) Reads back the current framebuffer as RGBA8 byte array.voidsubmit(CommandList commands) voiduploadTexture(Handle<TextureResource> texture, ByteBuffer pixels) writeBuffer(Handle<BufferResource> buffer) writeBuffer(Handle<BufferResource> buffer, long offset, long length) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface RenderDevice
getTextureIndex, supports
-
Constructor Details
-
GlRenderDevice
-
GlRenderDevice
-
-
Method Details
-
glBindings
Returns theGlBindingsinstance used by this device. -
createBuffer
- Specified by:
createBufferin interfaceRenderDevice
-
destroyBuffer
- Specified by:
destroyBufferin interfaceRenderDevice
-
isValidBuffer
- Specified by:
isValidBufferin interfaceRenderDevice
-
writeBuffer
- Specified by:
writeBufferin interfaceRenderDevice
-
writeBuffer
- Specified by:
writeBufferin interfaceRenderDevice
-
createTexture
- Specified by:
createTexturein interfaceRenderDevice
-
uploadTexture
- Specified by:
uploadTexturein interfaceRenderDevice
-
destroyTexture
- Specified by:
destroyTexturein interfaceRenderDevice
-
isValidTexture
- Specified by:
isValidTexturein interfaceRenderDevice
-
createRenderTarget
- Specified by:
createRenderTargetin interfaceRenderDevice
-
getRenderTargetColorTexture
public Handle<TextureResource> getRenderTargetColorTexture(Handle<RenderTargetResource> renderTarget, int index) - Specified by:
getRenderTargetColorTexturein interfaceRenderDevice
-
destroyRenderTarget
- Specified by:
destroyRenderTargetin interfaceRenderDevice
-
createVertexInput
- Specified by:
createVertexInputin interfaceRenderDevice
-
destroyVertexInput
- Specified by:
destroyVertexInputin interfaceRenderDevice
-
createSampler
- Specified by:
createSamplerin interfaceRenderDevice
-
destroySampler
- Specified by:
destroySamplerin interfaceRenderDevice
-
createPipeline
- Specified by:
createPipelinein interfaceRenderDevice
-
destroyPipeline
- Specified by:
destroyPipelinein interfaceRenderDevice
-
createComputePipeline
- Specified by:
createComputePipelinein interfaceRenderDevice
-
isValidPipeline
- Specified by:
isValidPipelinein interfaceRenderDevice
-
getGlTextureName
-
getGlBufferName
-
beginFrame
public void beginFrame()- Specified by:
beginFramein interfaceRenderDevice
-
endFrame
public void endFrame()- Specified by:
endFramein interfaceRenderDevice
-
submit
- Specified by:
submitin interfaceRenderDevice
-
queryCapability
- Specified by:
queryCapabilityin interfaceRenderDevice
-
capabilities
Returns the capability registry for this device. Users can register custom capabilities without modifying engine code:var MY_CAP = DeviceCapability.intCap("MY_CUSTOM_LIMIT"); device.capabilities().register(MY_CAP, () -> gl.glGetInteger(MY_GL_CONSTANT)); -
getBindlessTextureHandle
- Specified by:
getBindlessTextureHandlein interfaceRenderDevice
-
createStreamingBuffer
- Specified by:
createStreamingBufferin interfaceRenderDevice
-
createFence
- Specified by:
createFencein interfaceRenderDevice
-
readFramebuffer
public byte[] readFramebuffer(int width, int height) Description copied from interface:RenderDeviceReads 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.- Specified by:
readFramebufferin interfaceRenderDevice
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceRenderDevice
-