Class CommandRecorder

java.lang.Object
dev.engine.graphics.command.CommandRecorder

public class CommandRecorder extends Object
Records render commands into a CommandList. This is the shared implementation — all backends use the same recorder. No native API calls happen here.
  • Constructor Details

    • CommandRecorder

      public CommandRecorder()
  • Method Details

    • bindPipeline

      public void bindPipeline(Handle<PipelineResource> pipeline)
    • bindVertexBuffer

      public void bindVertexBuffer(Handle<BufferResource> buffer, Handle<VertexInputResource> vertexInput)
    • bindIndexBuffer

      public void bindIndexBuffer(Handle<BufferResource> buffer)
    • bindUniformBuffer

      public void bindUniformBuffer(int binding, Handle<BufferResource> buffer)
    • bindTexture

      public void bindTexture(int unit, Handle<TextureResource> texture)
    • bindSampler

      public void bindSampler(int unit, Handle<SamplerResource> sampler)
    • bindStorageBuffer

      public void bindStorageBuffer(int binding, Handle<BufferResource> buffer)
    • bindImage

      public void bindImage(int unit, Handle<TextureResource> texture, int mipLevel, boolean read, boolean write)
    • bindImage

      public void bindImage(int unit, Handle<TextureResource> texture)
      Convenience: bind for read-write at mip 0.
    • draw

      public void draw(DrawCall call)
    • draw

      public void draw(int vertexCount, int firstVertex)
    • drawIndexed

      public void drawIndexed(int indexCount, int firstIndex)
    • drawInstanced

      public void drawInstanced(int vertexCount, int firstVertex, int instanceCount, int firstInstance)
    • drawIndexedInstanced

      public void drawIndexedInstanced(int indexCount, int firstIndex, int instanceCount, int firstInstance)
    • drawIndirect

      public void drawIndirect(Handle<BufferResource> buffer, long offset, int drawCount, int stride)
    • drawIndexedIndirect

      public void drawIndexedIndirect(Handle<BufferResource> buffer, long offset, int drawCount, int stride)
    • bindRenderTarget

      public void bindRenderTarget(Handle<RenderTargetResource> renderTarget)
    • bindDefaultRenderTarget

      public void bindDefaultRenderTarget()
    • setRenderState

      public void setRenderState(PropertyMap<RenderState> properties)
    • pushConstants

      public void pushConstants(ByteBuffer data)
    • bindComputePipeline

      public void bindComputePipeline(Handle<PipelineResource> pipeline)
    • dispatch

      public void dispatch(int groupsX, int groupsY, int groupsZ)
    • memoryBarrier

      public void memoryBarrier(BarrierScope scope)
    • clear

      public void clear(float r, float g, float b, float a)
    • viewport

      public void viewport(int x, int y, int width, int height)
    • scissor

      public void scissor(int x, int y, int width, int height)
    • copyBuffer

      public void copyBuffer(Handle<BufferResource> src, Handle<BufferResource> dst, long srcOffset, long dstOffset, long size)
    • copyTexture

      public void copyTexture(Handle<TextureResource> src, Handle<TextureResource> dst, int srcX, int srcY, int dstX, int dstY, int width, int height)
    • copyTexture

      public void copyTexture(Handle<TextureResource> src, Handle<TextureResource> dst, int srcX, int srcY, int dstX, int dstY, int width, int height, int srcMipLevel, int dstMipLevel)
    • blitTexture

      public void blitTexture(Handle<TextureResource> src, Handle<TextureResource> dst, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, boolean linearFilter)
    • finish

      public CommandList finish()
      Finishes recording and returns an immutable CommandList.