---
title: "GPURenderCommandsMixin | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

# Interface GPURenderCommandsMixin

interface GPURenderCommandsMixin {  
    [draw](#draw-1)(  
        vertexCount: number,  
        instanceCount?: number,  
        firstVertex?: number,  
        firstInstance?: number,  
    ): void;  
    [drawIndexed](#drawindexed-1)(  
        indexCount: number,  
        instanceCount?: number,  
        firstIndex?: number,  
        baseVertex?: number,  
        firstInstance?: number,  
    ): void;  
    [drawIndexedIndirect](#drawindexedindirect-1)(  
        indirectBuffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/),  
        indirectOffset: number,  
    ): void;  
    [drawIndirect](#drawindirect-1)(indirectBuffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/), indirectOffset: number): void;  
    [setIndexBuffer](#setindexbuffer-1)(  
        buffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/),  
        indexFormat: [GPUIndexFormat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GPUIndexFormat/),  
        offset?: number,  
        size?: number,  
    ): void;  
    [setPipeline](#setpipeline-1)(pipeline: [GPURenderPipeline](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPURenderPipeline/)): void;  
    [setVertexBuffer](#setvertexbuffer-1)(  
        slot: number,  
        buffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/) | null,  
        offset?: number,  
        size?: number,  
    ): void;  
}

#### Hierarchy ([View Summary](https://docs.maptiler.com/sdk-js/api-reference/hierarchy/#Externals.GPURenderCommandsMixin))

-   GPURenderCommandsMixin
    -   [GPURenderBundleEncoder](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPURenderBundleEncoder/)
    -   [GPURenderPassEncoder](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPURenderPassEncoder/)

##### Index

### Methods[](#methods)

[draw](#draw) [drawIndexed](#drawindexed) [drawIndexedIndirect](#drawindexedindirect) [drawIndirect](#drawindirect) [setIndexBuffer](#setindexbuffer) [setPipeline](#setpipeline) [setVertexBuffer](#setvertexbuffer)

## Methods[](#methods-1)

### draw[](#draw)

-   draw(  
        vertexCount: number,  
        instanceCount?: number,  
        firstVertex?: number,  
        firstInstance?: number,  
    ): void[](#draw-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/draw)
    
    #### Parameters
    
    -   vertexCount: number
    -   `Optional`instanceCount: number
    -   `Optional`firstVertex: number
    -   `Optional`firstInstance: number
    
    #### Returns void
    

### drawIndexed[](#drawindexed)

-   drawIndexed(  
        indexCount: number,  
        instanceCount?: number,  
        firstIndex?: number,  
        baseVertex?: number,  
        firstInstance?: number,  
    ): void[](#drawindexed-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/drawIndexed)
    
    #### Parameters
    
    -   indexCount: number
    -   `Optional`instanceCount: number
    -   `Optional`firstIndex: number
    -   `Optional`baseVertex: number
    -   `Optional`firstInstance: number
    
    #### Returns void
    

### drawIndexedIndirect[](#drawindexedindirect)

-   drawIndexedIndirect(indirectBuffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/), indirectOffset: number): void[](#drawindexedindirect-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/drawIndexedIndirect)
    
    #### Parameters
    
    -   indirectBuffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/)
    -   indirectOffset: number
    
    #### Returns void
    

### drawIndirect[](#drawindirect)

-   drawIndirect(indirectBuffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/), indirectOffset: number): void[](#drawindirect-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/drawIndirect)
    
    #### Parameters
    
    -   indirectBuffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/)
    -   indirectOffset: number
    
    #### Returns void
    

### setIndexBuffer[](#setindexbuffer)

-   setIndexBuffer(  
        buffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/),  
        indexFormat: [GPUIndexFormat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GPUIndexFormat/),  
        offset?: number,  
        size?: number,  
    ): void[](#setindexbuffer-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/setIndexBuffer)
    
    #### Parameters
    
    -   buffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/)
    -   indexFormat: [GPUIndexFormat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GPUIndexFormat/)
    -   `Optional`offset: number
    -   `Optional`size: number
    
    #### Returns void
    

### setPipeline[](#setpipeline)

-   setPipeline(pipeline: [GPURenderPipeline](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPURenderPipeline/)): void[](#setpipeline-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/setPipeline)
    
    #### Parameters
    
    -   pipeline: [GPURenderPipeline](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPURenderPipeline/)
    
    #### Returns void
    

### setVertexBuffer[](#setvertexbuffer)

-   setVertexBuffer(  
        slot: number,  
        buffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/) | null,  
        offset?: number,  
        size?: number,  
    ): void[](#setvertexbuffer-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/setVertexBuffer)
    
    #### Parameters
    
    -   slot: number
    -   buffer: [GPUBuffer](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.GPUBuffer/) | null
    -   `Optional`offset: number
    -   `Optional`size: number
    
    #### Returns void
