Interface ICommandList


  • public interface ICommandList
    Encodes a sequence of commands which will be sent to GPU to render.
    • Method Detail

      • bindPipeline

        void bindPipeline​(IPipeline pipeline)
        Bind the pipeline instance for rendering
        Parameters:
        pipeline -
      • bindVertexBuffer

        void bindVertexBuffer​(IVertexBuffer vertexBuffer)
        Bind the vertex buffer for rendering
        Parameters:
        vertexBuffer -
      • bindIndexBuffer

        void bindIndexBuffer​(IIndexBuffer indexBuffer)
        Bind the index buffer for rendering
        Parameters:
        indexBuffer -
      • bindDescriptorSet

        void bindDescriptorSet​(IDescriptorSet descriptorSet)
        Bind the descriptor set to current pipeline
        Parameters:
        descriptorSet -
      • draw

        void draw​(int start,
                  int count)
        Draw without index buffer
        Parameters:
        start -
        count -
      • draw

        void draw()
        Draw without index buffer
      • drawIndex

        void drawIndex()
        Issue an indexed draw into a command list
      • drawIndex

        void drawIndex​(int start,
                       int count)
        Issue an indexed draw into a command list
        Parameters:
        start - The first index to draw
        count - The count of indices to draw
      • pushConstants

        void pushConstants​(int stage,
                           byte[] data)
        Push the constant to the pipeline
        Parameters:
        stage - Which shader stage will consume the constant data
        data - The data that will be sent to the shader
      • pushConstants

        void pushConstants​(int stage,
                           byte[] data,
                           int size)
        Push the constant to the pipeline
        Parameters:
        stage - Which shader stage will consume the constant data
        data - The data that will be sent to the shader
        size - Bytes to write to the pipeline