Updated docs.

This commit is contained in:
Branimir Karadžić 2015-07-10 18:59:28 -07:00
parent f7c8562f93
commit c4a94843fa

View file

@ -229,24 +229,24 @@ namespace bgfx
/// called on unrecoverable error. It's not safe to continue, inform /// called on unrecoverable error. It's not safe to continue, inform
/// user and terminate application from this call. /// user and terminate application from this call.
/// ///
/// @param _code Fatal error code. /// @param[in] _code Fatal error code.
/// @param _str More information about error. /// @param[in] _str More information about error.
/// ///
virtual void fatal(Fatal::Enum _code, const char* _str) = 0; virtual void fatal(Fatal::Enum _code, const char* _str) = 0;
/// Return size of for cached item. Return 0 if no cached item was /// Return size of for cached item. Return 0 if no cached item was
/// found. /// found.
/// ///
/// @param _id Cache id. /// @param[in] _id Cache id.
/// @returns Number of bytes to read. /// @returns Number of bytes to read.
/// ///
virtual uint32_t cacheReadSize(uint64_t _id) = 0; virtual uint32_t cacheReadSize(uint64_t _id) = 0;
/// Read cached item. /// Read cached item.
/// ///
/// @param _id Cache id. /// @param[in] _id Cache id.
/// @param _data Buffer where to read data. /// @param[in] _data Buffer where to read data.
/// @param _size Size of data to read. /// @param[in] _size Size of data to read.
/// ///
/// @returns True if data is read. /// @returns True if data is read.
/// ///
@ -254,21 +254,21 @@ namespace bgfx
/// Write cached item. /// Write cached item.
/// ///
/// @param _id Cache id. /// @param[in] _id Cache id.
/// @param _data Data to write. /// @param[in] _data Data to write.
/// @param _size Size of data to write. /// @param[in] _size Size of data to write.
/// ///
virtual void cacheWrite(uint64_t _id, const void* _data, uint32_t _size) = 0; virtual void cacheWrite(uint64_t _id, const void* _data, uint32_t _size) = 0;
/// Screenshot captured. Screenshot format is always 4-byte BGRA. /// Screenshot captured. Screenshot format is always 4-byte BGRA.
/// ///
/// @param _filePath File path. /// @param[in] _filePath File path.
/// @param _width Image width. /// @param[in] _width Image width.
/// @param _height Image height. /// @param[in] _height Image height.
/// @param _pitch Number of bytes to skip to next line. /// @param[in] _pitch Number of bytes to skip to next line.
/// @param _data Image data. /// @param[in] _data Image data.
/// @param _size Image size. /// @param[in] _size Image size.
/// @param _yflip If true image origin is bottom left. /// @param[in] _yflip If true image origin is bottom left.
/// ///
virtual void screenShot(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _data, uint32_t _size, bool _yflip) = 0; virtual void screenShot(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _data, uint32_t _size, bool _yflip) = 0;
@ -280,8 +280,8 @@ namespace bgfx
/// Captured frame. /// Captured frame.
/// ///
/// @param _data Image data. /// @param[in] _data Image data.
/// @param _size Image size. /// @param[in] _size Image size.
/// ///
virtual void captureFrame(const void* _data, uint32_t _size) = 0; virtual void captureFrame(const void* _data, uint32_t _size) = 0;
}; };
@ -435,14 +435,14 @@ namespace bgfx
/// Add attribute to VertexDecl. /// Add attribute to VertexDecl.
/// ///
/// @param _attrib Attribute semantics. See: `bgfx::Attrib` /// @param[in] _attrib Attribute semantics. See: `bgfx::Attrib`
/// @param _num Number of elements 1, 2, 3 or 4. /// @param[in] _num Number of elements 1, 2, 3 or 4.
/// @param _type Element type. /// @param[in] _type Element type.
/// @param _normalized When using fixed point AttribType (f.e. Uint8) /// @param[in] _normalized When using fixed point AttribType (f.e. Uint8)
/// value will be normalized for vertex shader usage. When normalized /// value will be normalized for vertex shader usage. When normalized
/// is set to true, AttribType::Uint8 value in range 0-255 will be /// is set to true, AttribType::Uint8 value in range 0-255 will be
/// in range 0.0-1.0 in vertex shader. /// in range 0.0-1.0 in vertex shader.
/// @param _asInt Packaging rule for vertexPack, vertexUnpack, and /// @param[in] _asInt Packaging rule for vertexPack, vertexUnpack, and
/// vertexConvert for AttribType::Uint8 and AttribType::Int16. /// vertexConvert for AttribType::Uint8 and AttribType::Int16.
/// Unpacking code must be implemented inside vertex shader. /// Unpacking code must be implemented inside vertex shader.
/// ///
@ -483,44 +483,44 @@ namespace bgfx
/// Converts vertex stream data from one vertex stream format to another. /// Converts vertex stream data from one vertex stream format to another.
/// ///
/// @param _destDecl Destination vertex stream declaration. /// @param[in] _destDecl Destination vertex stream declaration.
/// @param _destData Destination vertex stream. /// @param[in] _destData Destination vertex stream.
/// @param _srcDecl Source vertex stream declaration. /// @param[in] _srcDecl Source vertex stream declaration.
/// @param _srcData Source vertex stream data. /// @param[in] _srcData Source vertex stream data.
/// @param _num Number of vertices to convert from source to destination. /// @param[in] _num Number of vertices to convert from source to destination.
/// ///
void vertexConvert(const VertexDecl& _destDecl, void* _destData, const VertexDecl& _srcDecl, const void* _srcData, uint32_t _num = 1); void vertexConvert(const VertexDecl& _destDecl, void* _destData, const VertexDecl& _srcDecl, const void* _srcData, uint32_t _num = 1);
/// Weld vertices. /// Weld vertices.
/// ///
/// @param _output Welded vertices remapping table. The size of buffer /// @param[in] _output Welded vertices remapping table. The size of buffer
/// must be the same as number of vertices. /// must be the same as number of vertices.
/// @param _decl Vertex stream declaration. /// @param[in] _decl Vertex stream declaration.
/// @param _data Vertex stream. /// @param[in] _data Vertex stream.
/// @param _num Number of vertices in vertex stream. /// @param[in] _num Number of vertices in vertex stream.
/// @param _epsilon Error tolerance for vertex position comparison. /// @param[in] _epsilon Error tolerance for vertex position comparison.
/// @returns Number of unique vertices after vertex welding. /// @returns Number of unique vertices after vertex welding.
/// ///
uint16_t weldVertices(uint16_t* _output, const VertexDecl& _decl, const void* _data, uint16_t _num, float _epsilon = 0.001f); uint16_t weldVertices(uint16_t* _output, const VertexDecl& _decl, const void* _data, uint16_t _num, float _epsilon = 0.001f);
/// Swizzle RGBA8 image to BGRA8. /// Swizzle RGBA8 image to BGRA8.
/// ///
/// @param _width Width of input image (pixels). /// @param[in] _width Width of input image (pixels).
/// @param _height Height of input image (pixels). /// @param[in] _height Height of input image (pixels).
/// @param _pitch Pitch of input image (bytes). /// @param[in] _pitch Pitch of input image (bytes).
/// @param _src Source image. /// @param[in] _src Source image.
/// @param _dst Destination image. Must be the same size as input image. /// @param[in] _dst Destination image. Must be the same size as input image.
/// _dst might be pointer to the same memory as _src. /// _dst might be pointer to the same memory as _src.
/// ///
void imageSwizzleBgra8(uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src, void* _dst); void imageSwizzleBgra8(uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src, void* _dst);
/// Downsample RGBA8 image with 2x2 pixel average filter. /// Downsample RGBA8 image with 2x2 pixel average filter.
/// ///
/// @param _width Width of input image (pixels). /// @param[in] _width Width of input image (pixels).
/// @param _height Height of input image (pixels). /// @param[in] _height Height of input image (pixels).
/// @param _pitch Pitch of input image (bytes). /// @param[in] _pitch Pitch of input image (bytes).
/// @param _src Source image. /// @param[in] _src Source image.
/// @param _dst Destination image. Must be at least quarter size of /// @param[in] _dst Destination image. Must be at least quarter size of
/// input image. _dst might be pointer to the same memory as _src. /// input image. _dst might be pointer to the same memory as _src.
/// ///
void imageRgba8Downsample2x2(uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src, void* _dst); void imageRgba8Downsample2x2(uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src, void* _dst);
@ -533,23 +533,23 @@ namespace bgfx
/// Initialize bgfx library. /// Initialize bgfx library.
/// ///
/// @param _type Select rendering backend. When set to RendererType::Count /// @param[in] _type Select rendering backend. When set to RendererType::Count
/// default rendering backend will be selected. /// default rendering backend will be selected.
/// See: `bgfx::RendererType` /// See: `bgfx::RendererType`
/// ///
/// @param _vendorId Vendor PCI id. If set to BGFX_PCI_ID_NONE it will select the first device. /// @param[in] _vendorId Vendor PCI id. If set to BGFX_PCI_ID_NONE it will select the first device.
/// - `BGFX_PCI_ID_NONE` - autoselect. /// - `BGFX_PCI_ID_NONE` - autoselect.
/// - `BGFX_PCI_ID_AMD` - AMD. /// - `BGFX_PCI_ID_AMD` - AMD.
/// - `BGFX_PCI_ID_INTEL` - Intel. /// - `BGFX_PCI_ID_INTEL` - Intel.
/// - `BGFX_PCI_ID_NVIDIA` - nVidia. /// - `BGFX_PCI_ID_NVIDIA` - nVidia.
/// ///
/// @param _deviceId Device id. If set to 0 it will select first device, or device with /// @param[in] _deviceId Device id. If set to 0 it will select first device, or device with
/// matching id. /// matching id.
/// ///
/// @param _callback Provide application specific callback interface. /// @param[in] _callback Provide application specific callback interface.
/// See: `bgfx::CallbackI` /// See: `bgfx::CallbackI`
/// ///
/// @param _reallocator Custom allocator. When custom allocator is not /// @param[in] _reallocator Custom allocator. When custom allocator is not
/// specified, library uses default CRT allocator. The library assumes /// specified, library uses default CRT allocator. The library assumes
/// icustom allocator is thread safe. /// icustom allocator is thread safe.
/// ///
@ -565,9 +565,9 @@ namespace bgfx
/// Reset graphic settings and back-buffer size. /// Reset graphic settings and back-buffer size.
/// ///
/// @param _width Back-buffer width. /// @param[in] _width Back-buffer width.
/// @param _height Back-buffer height. /// @param[in] _height Back-buffer height.
/// @param _flags /// @param[in] _flags
/// - `BGFX_RESET_NONE` - No reset flags. /// - `BGFX_RESET_NONE` - No reset flags.
/// - `BGFX_RESET_FULLSCREEN` - Not supported yet. /// - `BGFX_RESET_FULLSCREEN` - Not supported yet.
/// - `BGFX_RESET_MSAA_X[2/4/8/16]` - Enable 2, 4, 8 or 16 x MSAA. /// - `BGFX_RESET_MSAA_X[2/4/8/16]` - Enable 2, 4, 8 or 16 x MSAA.
@ -651,7 +651,7 @@ namespace bgfx
/// Set debug flags. /// Set debug flags.
/// ///
/// @param _debug Available flags: /// @param[in] _debug Available flags:
/// - `BGFX_DEBUG_IFH` - Infinitely fast hardware. When this flag is set /// - `BGFX_DEBUG_IFH` - Infinitely fast hardware. When this flag is set
/// all rendering calls will be skipped. It's useful when profiling /// all rendering calls will be skipped. It's useful when profiling
/// to quickly assess bottleneck between CPU and GPU. /// to quickly assess bottleneck between CPU and GPU.
@ -678,12 +678,12 @@ namespace bgfx
/// Draw image into internal debug text buffer. /// Draw image into internal debug text buffer.
/// ///
/// @param _x X position from top-left. /// @param[in] _x X position from top-left.
/// @param _y Y position from top-left. /// @param[in] _y Y position from top-left.
/// @param _width Image width. /// @param[in] _width Image width.
/// @param _height Image height. /// @param[in] _height Image height.
/// @param _data Raw image data (character/attribute raw encoding). /// @param[in] _data Raw image data (character/attribute raw encoding).
/// @param _pitch Image pitch in bytes. /// @param[in] _pitch Image pitch in bytes.
/// ///
/// @attention C99 equivalent is `bgfx_dbg_text_image`. /// @attention C99 equivalent is `bgfx_dbg_text_image`.
/// ///
@ -691,8 +691,8 @@ namespace bgfx
/// Create static index buffer. /// Create static index buffer.
/// ///
/// @param _mem Index buffer data. /// @param[in] _mem Index buffer data.
/// @param _flags Buffer creation flags. /// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags. /// - `BGFX_BUFFER_NONE` - No flags.
/// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader. /// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader.
/// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer /// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer
@ -717,8 +717,8 @@ namespace bgfx
/// Create static vertex buffer. /// Create static vertex buffer.
/// ///
/// @param _mem Vertex buffer data. /// @param[in] _mem Vertex buffer data.
/// @param _decl Vertex declaration. /// @param[in] _decl Vertex declaration.
/// @returns Static vertex buffer handle. /// @returns Static vertex buffer handle.
/// ///
/// @attention C99 equivalent is `bgfx_create_vertex_buffer`. /// @attention C99 equivalent is `bgfx_create_vertex_buffer`.
@ -727,7 +727,7 @@ namespace bgfx
/// Destroy static vertex buffer. /// Destroy static vertex buffer.
/// ///
/// @param _handle Static vertex buffer handle. /// @param[in] _handle Static vertex buffer handle.
/// ///
/// @attention C99 equivalent is `bgfx_destroy_vertex_buffer`. /// @attention C99 equivalent is `bgfx_destroy_vertex_buffer`.
/// ///
@ -735,8 +735,8 @@ namespace bgfx
/// Create empty dynamic index buffer. /// Create empty dynamic index buffer.
/// ///
/// @param _num Number of indices. /// @param[in] _num Number of indices.
/// @param _flags Buffer creation flags. /// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags. /// - `BGFX_BUFFER_NONE` - No flags.
/// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader. /// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader.
/// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer /// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer
@ -755,8 +755,8 @@ namespace bgfx
/// Create dynamic index buffer and initialized it. /// Create dynamic index buffer and initialized it.
/// ///
/// @param _mem Index buffer data. /// @param[in] _mem Index buffer data.
/// @param _flags Buffer creation flags. /// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags. /// - `BGFX_BUFFER_NONE` - No flags.
/// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader. /// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader.
/// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer /// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer
@ -775,9 +775,9 @@ namespace bgfx
/// Update dynamic index buffer. /// Update dynamic index buffer.
/// ///
/// @param _handle Dynamic index buffer handle. /// @param[in] _handle Dynamic index buffer handle.
/// @param _startIndex Start index. /// @param[in] _startIndex Start index.
/// @param _mem Index buffer data. /// @param[in] _mem Index buffer data.
/// ///
/// @attention C99 equivalent is `bgfx_update_dynamic_index_buffer`. /// @attention C99 equivalent is `bgfx_update_dynamic_index_buffer`.
/// ///
@ -785,7 +785,7 @@ namespace bgfx
/// Destroy dynamic index buffer. /// Destroy dynamic index buffer.
/// ///
/// @param _handle Dynamic index buffer handle. /// @param[in] _handle Dynamic index buffer handle.
/// ///
/// @attention C99 equivalent is `bgfx_destroy_dynamic_index_buffer`. /// @attention C99 equivalent is `bgfx_destroy_dynamic_index_buffer`.
/// ///
@ -793,9 +793,9 @@ namespace bgfx
/// Create empty dynamic vertex buffer. /// Create empty dynamic vertex buffer.
/// ///
/// @param _num Number of vertices. /// @param[in] _num Number of vertices.
/// @param _decl Vertex declaration. /// @param[in] _decl Vertex declaration.
/// @param _flags Buffer creation flags. /// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags. /// - `BGFX_BUFFER_NONE` - No flags.
/// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader. /// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader.
/// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer /// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer
@ -814,9 +814,9 @@ namespace bgfx
/// Create dynamic vertex buffer and initialize it. /// Create dynamic vertex buffer and initialize it.
/// ///
/// @param _mem Vertex buffer data. /// @param[in] _mem Vertex buffer data.
/// @param _decl Vertex declaration. /// @param[in] _decl Vertex declaration.
/// @param _flags Buffer creation flags. /// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags. /// - `BGFX_BUFFER_NONE` - No flags.
/// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader. /// - `BGFX_BUFFER_COMPUTE_READ` - Buffer will be read from by compute shader.
/// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer /// - `BGFX_BUFFER_COMPUTE_WRITE` - Buffer will be written into by compute shader. When buffer
@ -835,9 +835,9 @@ namespace bgfx
/// Update dynamic vertex buffer. /// Update dynamic vertex buffer.
/// ///
/// @param _handle Dynamic vertex buffer handle. /// @param[in] _handle Dynamic vertex buffer handle.
/// @param _startVertex Start vertex. /// @param[in] _startVertex Start vertex.
/// @param _mem Vertex buffer data. /// @param[in] _mem Vertex buffer data.
/// ///
/// @attention C99 equivalent is `bgfx_update_dynamic_vertex_buffer`. /// @attention C99 equivalent is `bgfx_update_dynamic_vertex_buffer`.
/// ///
@ -851,7 +851,7 @@ namespace bgfx
/// Returns true if internal transient index buffer has enough space. /// Returns true if internal transient index buffer has enough space.
/// ///
/// @param _num Number of indices. /// @param[in] _num Number of indices.
/// ///
/// @attention C99 equivalent is `bgfx_check_avail_transient_index_buffer`. /// @attention C99 equivalent is `bgfx_check_avail_transient_index_buffer`.
/// ///
@ -859,8 +859,8 @@ namespace bgfx
/// Returns true if internal transient vertex buffer has enough space. /// Returns true if internal transient vertex buffer has enough space.
/// ///
/// @param _num Number of vertices. /// @param[in] _num Number of vertices.
/// @param _decl Vertex declaration. /// @param[in] _decl Vertex declaration.
/// ///
/// @attention C99 equivalent is `bgfx_check_avail_transient_vertex_buffer`. /// @attention C99 equivalent is `bgfx_check_avail_transient_vertex_buffer`.
/// ///
@ -868,8 +868,8 @@ namespace bgfx
/// Returns true if internal instance data buffer has enough space. /// Returns true if internal instance data buffer has enough space.
/// ///
/// @param _num Number of instances. /// @param[in] _num Number of instances.
/// @param _stride Stride per instance. /// @param[in] _stride Stride per instance.
/// ///
/// @attention C99 equivalent is `bgfx_check_avail_instance_data_buffer`. /// @attention C99 equivalent is `bgfx_check_avail_instance_data_buffer`.
/// ///
@ -878,9 +878,9 @@ namespace bgfx
/// Returns true if both internal transient index and vertex buffer have /// Returns true if both internal transient index and vertex buffer have
/// enough space. /// enough space.
/// ///
/// @param _numVertices Number of vertices. /// @param[in] _numVertices Number of vertices.
/// @param _decl Vertex declaration. /// @param[in] _decl Vertex declaration.
/// @param _numIndices Number of indices. /// @param[in] _numIndices Number of indices.
/// ///
/// @attention C99 equivalent is `bgfx_check_avail_transient_buffers`. /// @attention C99 equivalent is `bgfx_check_avail_transient_buffers`.
/// ///
@ -891,7 +891,7 @@ namespace bgfx
/// @param[out] _tib TransientIndexBuffer structure is filled and is valid /// @param[out] _tib TransientIndexBuffer structure is filled and is valid
/// for the duration of frame, and it can be reused for multiple draw /// for the duration of frame, and it can be reused for multiple draw
/// calls. /// calls.
/// @param _num Number of indices to allocate. /// @param[in] _num Number of indices to allocate.
/// ///
/// @remarks /// @remarks
/// 1. You must call setIndexBuffer after alloc in order to avoid memory /// 1. You must call setIndexBuffer after alloc in order to avoid memory
@ -907,8 +907,8 @@ namespace bgfx
/// @param[out] _tvb TransientVertexBuffer structure is filled and is valid /// @param[out] _tvb TransientVertexBuffer structure is filled and is valid
/// for the duration of frame, and it can be reused for multiple draw /// for the duration of frame, and it can be reused for multiple draw
/// calls. /// calls.
/// @param _num Number of vertices to allocate. /// @param[in] _num Number of vertices to allocate.
/// @param _decl Vertex declaration. /// @param[in] _decl Vertex declaration.
/// ///
/// @remarks /// @remarks
/// You must call setVertexBuffer after alloc in order to avoid memory /// You must call setVertexBuffer after alloc in order to avoid memory
@ -959,9 +959,9 @@ namespace bgfx
/// Returns num of uniforms, and uniform handles used inside shader. /// Returns num of uniforms, and uniform handles used inside shader.
/// ///
/// @param _handle Shader handle. /// @param[in] _handle Shader handle.
/// @param _uniforms UniformHandle array where data will be stored. /// @param[in] _uniforms UniformHandle array where data will be stored.
/// @param _max Maximum capacity of array. /// @param[in] _max Maximum capacity of array.
/// @returns Number of uniforms used by shader. /// @returns Number of uniforms used by shader.
/// ///
/// @remarks /// @remarks
@ -980,9 +980,9 @@ namespace bgfx
/// Create program with vertex and fragment shaders. /// Create program with vertex and fragment shaders.
/// ///
/// @param _vsh Vertex shader. /// @param[in] _vsh Vertex shader.
/// @param _fsh Fragment shader. /// @param[in] _fsh Fragment shader.
/// @param _destroyShaders If true, shaders will be destroyed when /// @param[in] _destroyShaders If true, shaders will be destroyed when
/// program is destroyed. /// program is destroyed.
/// @returns Program handle if vertex shader output and fragment shader /// @returns Program handle if vertex shader output and fragment shader
/// input are matching, otherwise returns invalid program handle. /// input are matching, otherwise returns invalid program handle.
@ -993,8 +993,8 @@ namespace bgfx
/// Create program with compute shader. /// Create program with compute shader.
/// ///
/// @param _csh Compute shader. /// @param[in] _csh Compute shader.
/// @param _destroyShader If true, shader will be destroyed when /// @param[in] _destroyShader If true, shader will be destroyed when
/// program is destroyed. /// program is destroyed.
/// @returns Program handle. /// @returns Program handle.
/// ///
@ -1193,9 +1193,9 @@ namespace bgfx
/// Create frame buffer. /// Create frame buffer.
/// ///
/// @param _num Number of texture attachments. /// @param[in] _num Number of texture attachments.
/// @param _handles Texture attachments. /// @param[in] _handles Texture attachments.
/// @param _destroyTextures If true, textures will be destroyed when /// @param[in] _destroyTextures If true, textures will be destroyed when
/// frame buffer is destroyed. /// frame buffer is destroyed.
/// ///
/// @attention C99 equivalent is `bgfx_create_frame_buffer_from_handles`. /// @attention C99 equivalent is `bgfx_create_frame_buffer_from_handles`.
@ -1204,10 +1204,10 @@ namespace bgfx
/// Create frame buffer for multiple window rendering. /// Create frame buffer for multiple window rendering.
/// ///
/// @param _nwh OS' target native window handle. /// @param[in] _nwh OS' target native window handle.
/// @param _width Window back buffer width. /// @param[in] _width Window back buffer width.
/// @param _height Window back buffer height. /// @param[in] _height Window back buffer height.
/// @param _depthFormat Window back buffer depth format. /// @param[in] _depthFormat Window back buffer depth format.
/// ///
/// @returns Handle to frame buffer object. /// @returns Handle to frame buffer object.
/// ///
@ -1226,9 +1226,9 @@ namespace bgfx
/// Create shader uniform parameter. /// Create shader uniform parameter.
/// ///
/// @param _name Uniform name in shader. /// @param[in] _name Uniform name in shader.
/// @param _type Type of uniform (See: `bgfx::UniformType`). /// @param[in] _type Type of uniform (See: `bgfx::UniformType`).
/// @param _num Number of elements in array. /// @param[in] _num Number of elements in array.
/// ///
/// @returns Handle to uniform object. /// @returns Handle to uniform object.
/// ///
@ -1256,7 +1256,7 @@ namespace bgfx
/// Destroy shader uniform parameter. /// Destroy shader uniform parameter.
/// ///
/// @param _handle Handle to uniform object. /// @param[in] _handle Handle to uniform object.
/// ///
/// @attention C99 equivalent is `bgfx_destroy_uniform`. /// @attention C99 equivalent is `bgfx_destroy_uniform`.
/// ///
@ -1264,8 +1264,8 @@ namespace bgfx
/// Set clear color palette value. /// Set clear color palette value.
/// ///
/// @param _index Index into palette. /// @param[in] _index Index into palette.
/// @param _rgba Packed 32-bit RGBA value. /// @param[in] _rgba Packed 32-bit RGBA value.
/// ///
/// @attention C99 equivalent is `bgfx_set_clear_color`. /// @attention C99 equivalent is `bgfx_set_clear_color`.
/// ///
@ -1273,8 +1273,8 @@ namespace bgfx
/// Set clear color palette value. /// Set clear color palette value.
/// ///
/// @param _index Index into palette. /// @param[in] _index Index into palette.
/// @param _r, _g, _b, _a RGBA floating point values. /// @param[in] _r, _g, _b, _a RGBA floating point values.
/// ///
/// @attention C99 equivalent is `bgfx_set_clear_color`. /// @attention C99 equivalent is `bgfx_set_clear_color`.
/// ///
@ -1282,8 +1282,8 @@ namespace bgfx
/// Set clear color palette value. /// Set clear color palette value.
/// ///
/// @param _index Index into palette. /// @param[in] _index Index into palette.
/// @param _rgba RGBA floating point value. /// @param[in] _rgba RGBA floating point value.
/// ///
/// @attention C99 equivalent is `bgfx_set_clear_color`. /// @attention C99 equivalent is `bgfx_set_clear_color`.
/// ///
@ -1291,8 +1291,8 @@ namespace bgfx
/// Set view name. /// Set view name.
/// ///
/// @param _id View id. /// @param[in] _id View id.
/// @param _name View name. /// @param[in] _name View name.
/// ///
/// @remarks /// @remarks
/// This is debug only feature. /// This is debug only feature.
@ -1311,11 +1311,11 @@ namespace bgfx
/// Set view rectangle. Draw primitive outside view will be clipped. /// Set view rectangle. Draw primitive outside view will be clipped.
/// ///
/// @param _id View id. /// @param[in] _id View id.
/// @param _x Position x from the left corner of the window. /// @param[in] _x Position x from the left corner of the window.
/// @param _y Position y from the top corner of the window. /// @param[in] _y Position y from the top corner of the window.
/// @param _width Width of view port region. /// @param[in] _width Width of view port region.
/// @param _height Height of view port region. /// @param[in] _height Height of view port region.
/// ///
/// @attention C99 equivalent is `bgfx_set_view_rect`. /// @attention C99 equivalent is `bgfx_set_view_rect`.
/// ///
@ -1324,10 +1324,10 @@ namespace bgfx
/// Set view scissor. Draw primitive outside view will be clipped. When /// Set view scissor. Draw primitive outside view will be clipped. When
/// _x, _y, _width and _height are set to 0, scissor will be disabled. /// _x, _y, _width and _height are set to 0, scissor will be disabled.
/// ///
/// @param _x Position x from the left corner of the window. /// @param[in] _x Position x from the left corner of the window.
/// @param _y Position y from the top corner of the window. /// @param[in] _y Position y from the top corner of the window.
/// @param _width Width of scissor region. /// @param[in] _width Width of scissor region.
/// @param _height Height of scissor region. /// @param[in] _height Height of scissor region.
/// ///
/// @attention C99 equivalent is `bgfx_set_view_scissor`. /// @attention C99 equivalent is `bgfx_set_view_scissor`.
/// ///
@ -1335,12 +1335,12 @@ namespace bgfx
/// Set view clear flags. /// Set view clear flags.
/// ///
/// @param _id View id. /// @param[in] _id View id.
/// @param _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear /// @param[in] _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear
/// operation. See: `BGFX_CLEAR_*`. /// operation. See: `BGFX_CLEAR_*`.
/// @param _rgba Color clear value. /// @param[in] _rgba Color clear value.
/// @param _depth Depth clear value. /// @param[in] _depth Depth clear value.
/// @param _stencil Stencil clear value. /// @param[in] _stencil Stencil clear value.
/// ///
/// @attention C99 equivalent is `bgfx_set_view_clear`. /// @attention C99 equivalent is `bgfx_set_view_clear`.
/// ///
@ -1350,11 +1350,11 @@ namespace bgfx
/// frame buffer texture. Must use setClearColor to setup clear color /// frame buffer texture. Must use setClearColor to setup clear color
/// palette. /// palette.
/// ///
/// @param _id View id. /// @param[in] _id View id.
/// @param _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear /// @param[in] _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear
/// operation. See: `BGFX_CLEAR_*`. /// operation. See: `BGFX_CLEAR_*`.
/// @param _depth Depth clear value. /// @param[in] _depth Depth clear value.
/// @param _stencil Stencil clear value. /// @param[in] _stencil Stencil clear value.
/// ///
/// @attention C99 equivalent is `bgfx_set_view_clear_mrt`. /// @attention C99 equivalent is `bgfx_set_view_clear_mrt`.
/// ///
@ -1369,8 +1369,8 @@ namespace bgfx
/// Set view frame buffer. /// Set view frame buffer.
/// ///
/// @param _id View id. /// @param[in] _id View id.
/// @param _handle Frame buffer handle. Passing `BGFX_INVALID_HANDLE` as /// @param[in] _handle Frame buffer handle. Passing `BGFX_INVALID_HANDLE` as
/// frame buffer handle will draw primitives from this view into /// frame buffer handle will draw primitives from this view into
/// default back buffer. /// default back buffer.
/// ///
@ -1384,15 +1384,15 @@ namespace bgfx
/// Set view view and projection matrices, all draw primitives in this /// Set view view and projection matrices, all draw primitives in this
/// view will use these matrices. /// view will use these matrices.
/// ///
/// @param _id View id. /// @param[in] _id View id.
/// @param _view View matrix. /// @param[in] _view View matrix.
/// @param _projL Projection matrix. When using stereo rendering this projection matrix /// @param[in] _projL Projection matrix. When using stereo rendering this projection matrix
/// represent projection matrix for left eye. /// represent projection matrix for left eye.
/// @param _flags View flags. Use /// @param[in] _flags View flags. Use
/// - `BGFX_VIEW_NONE` - View will be rendered only once if stereo mode is enabled. /// - `BGFX_VIEW_NONE` - View will be rendered only once if stereo mode is enabled.
/// - `BGFX_VIEW_STEREO` - View will be rendered for both eyes if stereo mode is enabled. When /// - `BGFX_VIEW_STEREO` - View will be rendered for both eyes if stereo mode is enabled. When
/// stereo mode is disabled this flag doesn't have effect. /// stereo mode is disabled this flag doesn't have effect.
/// @param _projR Projection matrix for right eye in stereo mode. /// @param[in] _projR Projection matrix for right eye in stereo mode.
/// ///
/// @attention C99 equivalent are `bgfx_set_view_transform`, `bgfx_set_view_transform_stereo`. /// @attention C99 equivalent are `bgfx_set_view_transform`, `bgfx_set_view_transform_stereo`.
/// ///
@ -1400,9 +1400,9 @@ namespace bgfx
/// Post submit view reordering. /// Post submit view reordering.
/// ///
/// @param _id First view id. /// @param[in] _id First view id.
/// @param _num Number of views to remap. /// @param[in] _num Number of views to remap.
/// @param _remap View remap id table. Passing `NULL` will reset view ids /// @param[in] _remap View remap id table. Passing `NULL` will reset view ids
/// to default state. /// to default state.
/// ///
/// @attention C99 equivalent is `bgfx_set_view_remap`. /// @attention C99 equivalent is `bgfx_set_view_remap`.
@ -1417,7 +1417,7 @@ namespace bgfx
/// Set render states for draw primitive. /// Set render states for draw primitive.
/// ///
/// @param _state State flags. Default state for primitive type is /// @param[in] _state State flags. Default state for primitive type is
/// triangles. See: `BGFX_STATE_DEFAULT`. /// triangles. See: `BGFX_STATE_DEFAULT`.
/// - `BGFX_STATE_ALPHA_WRITE` - Enable alpha write. /// - `BGFX_STATE_ALPHA_WRITE` - Enable alpha write.
/// - `BGFX_STATE_DEPTH_WRITE` - Enable depth write. /// - `BGFX_STATE_DEPTH_WRITE` - Enable depth write.
@ -1429,7 +1429,7 @@ namespace bgfx
/// - `BGFX_STATE_MSAA` - Enable MSAA. /// - `BGFX_STATE_MSAA` - Enable MSAA.
/// - `BGFX_STATE_PT_[TRISTRIP/LINES/POINTS]` - Primitive type. /// - `BGFX_STATE_PT_[TRISTRIP/LINES/POINTS]` - Primitive type.
/// ///
/// @param _rgba Sets blend factor used by `BGFX_STATE_BLEND_FACTOR` and /// @param[in] _rgba Sets blend factor used by `BGFX_STATE_BLEND_FACTOR` and
/// `BGFX_STATE_BLEND_INV_FACTOR` blend modes. /// `BGFX_STATE_BLEND_INV_FACTOR` blend modes.
/// ///
/// @remarks /// @remarks
@ -1444,8 +1444,8 @@ namespace bgfx
/// Set stencil test state. /// Set stencil test state.
/// ///
/// @param _fstencil Front stencil state. /// @param[in] _fstencil Front stencil state.
/// @param _bstencil Back stencil state. If back is set to `BGFX_STENCIL_NONE` /// @param[in] _bstencil Back stencil state. If back is set to `BGFX_STENCIL_NONE`
/// _fstencil is applied to both front and back facing primitives. /// _fstencil is applied to both front and back facing primitives.
/// ///
/// @attention C99 equivalent is `bgfx_set_stencil`. /// @attention C99 equivalent is `bgfx_set_stencil`.
@ -1455,10 +1455,10 @@ namespace bgfx
/// Set scissor for draw primitive. For scissor for all primitives in /// Set scissor for draw primitive. For scissor for all primitives in
/// view see setViewScissor. /// view see setViewScissor.
/// ///
/// @param _x Position x from the left corner of the window. /// @param[in] _x Position x from the left corner of the window.
/// @param _y Position y from the top corner of the window. /// @param[in] _y Position y from the top corner of the window.
/// @param _width Width of scissor region. /// @param[in] _width Width of scissor region.
/// @param _height Height of scissor region. /// @param[in] _height Height of scissor region.
/// @returns Scissor cache index. /// @returns Scissor cache index.
/// ///
/// @attention C99 equivalent is `bgfx_set_scissor`. /// @attention C99 equivalent is `bgfx_set_scissor`.
@ -1467,7 +1467,7 @@ namespace bgfx
/// Set scissor from cache for draw primitive. /// Set scissor from cache for draw primitive.
/// ///
/// @param _cache Index in scissor cache. Passing UINT16_MAX unset primitive /// @param[in] _cache Index in scissor cache. Passing UINT16_MAX unset primitive
/// scissor and primitive will use view scissor instead. /// scissor and primitive will use view scissor instead.
/// ///
/// @attention C99 equivalent is `bgfx_set_scissor_cached`. /// @attention C99 equivalent is `bgfx_set_scissor_cached`.
@ -1477,8 +1477,8 @@ namespace bgfx
/// Set model matrix for draw primitive. If it is not called model will /// Set model matrix for draw primitive. If it is not called model will
/// be rendered with identity model matrix. /// be rendered with identity model matrix.
/// ///
/// @param _mtx Pointer to first matrix in array. /// @param[in] _mtx Pointer to first matrix in array.
/// @param _num Number of matrices in array. /// @param[in] _num Number of matrices in array.
/// @returns index into matrix cache in case the same model matrix has /// @returns index into matrix cache in case the same model matrix has
/// to be used for other draw primitive call. /// to be used for other draw primitive call.
/// ///
@ -1489,8 +1489,8 @@ namespace bgfx
/// Reserve `_num` matrices in internal matrix cache. Pointer returned /// Reserve `_num` matrices in internal matrix cache. Pointer returned
/// can be modifed until `bgfx::frame` is called. /// can be modifed until `bgfx::frame` is called.
/// ///
/// @param _transform Pointer to `Transform` structure. /// @param[in] _transform Pointer to `Transform` structure.
/// @param _num Number of matrices. /// @param[in] _num Number of matrices.
/// @returns index into matrix cache. /// @returns index into matrix cache.
/// ///
/// @attention C99 equivalent is `bgfx_alloc_transform`. /// @attention C99 equivalent is `bgfx_alloc_transform`.
@ -1499,8 +1499,8 @@ namespace bgfx
/// Set model matrix from matrix cache for draw primitive. /// Set model matrix from matrix cache for draw primitive.
/// ///
/// @param _cache Index in matrix cache. /// @param[in] _cache Index in matrix cache.
/// @param _num Number of matrices from cache. /// @param[in] _num Number of matrices from cache.
/// ///
/// @attention C99 equivalent is `bgfx_set_transform_cached`. /// @attention C99 equivalent is `bgfx_set_transform_cached`.
/// ///
@ -1508,60 +1508,93 @@ namespace bgfx
/// Set shader uniform parameter for draw primitive. /// Set shader uniform parameter for draw primitive.
/// ///
/// @param[in] _handle Uniform.
/// @param[in] _value Pointer to uniform data.
/// @param[in] _num Number of elements.
///
/// @attention C99 equivalent is `bgfx_set_uniform`. /// @attention C99 equivalent is `bgfx_set_uniform`.
/// ///
void setUniform(UniformHandle _handle, const void* _value, uint16_t _num = 1); void setUniform(UniformHandle _handle, const void* _value, uint16_t _num = 1);
/// Set index buffer for draw primitive. /// Set index buffer for draw primitive.
/// ///
/// @param[in] _handle Index buffer.
/// @param[in] _firstIndex First index to render.
/// @param[in] _numIndices Number of indices to render.
///
/// @attention C99 equivalent is `bgfx_set_index_buffer`. /// @attention C99 equivalent is `bgfx_set_index_buffer`.
/// ///
void setIndexBuffer(IndexBufferHandle _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = UINT32_MAX); void setIndexBuffer(IndexBufferHandle _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = UINT32_MAX);
/// Set index buffer for draw primitive. /// Set index buffer for draw primitive.
/// ///
/// @param[in] _handle Dynamic index buffer.
/// @param[in] _firstIndex First index to render.
/// @param[in] _numIndices Number of indices to render.
///
/// @attention C99 equivalent is `bgfx_set_dynamic_index_buffer`. /// @attention C99 equivalent is `bgfx_set_dynamic_index_buffer`.
/// ///
void setIndexBuffer(DynamicIndexBufferHandle _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = UINT32_MAX); void setIndexBuffer(DynamicIndexBufferHandle _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = UINT32_MAX);
/// Set index buffer for draw primitive. /// Set index buffer for draw primitive.
/// ///
/// @param[in] _tib Transient index buffer.
///
/// @attention C99 equivalent is `bgfx_set_transient_index_buffer`. /// @attention C99 equivalent is `bgfx_set_transient_index_buffer`.
/// ///
void setIndexBuffer(const TransientIndexBuffer* _tib); void setIndexBuffer(const TransientIndexBuffer* _tib);
/// Set index buffer for draw primitive. /// Set index buffer for draw primitive.
/// ///
/// @param[in] _tib Transient index buffer.
/// @param[in] _firstIndex First index to render.
/// @param[in] _numIndices Number of indices to render.
///
/// @attention C99 equivalent is `bgfx_set_transient_index_buffer`. /// @attention C99 equivalent is `bgfx_set_transient_index_buffer`.
/// ///
void setIndexBuffer(const TransientIndexBuffer* _tib, uint32_t _firstIndex, uint32_t _numIndices); void setIndexBuffer(const TransientIndexBuffer* _tib, uint32_t _firstIndex, uint32_t _numIndices);
/// Set vertex buffer for draw primitive. /// Set vertex buffer for draw primitive.
/// ///
/// @param[in] _handle Vertex buffer.
///
/// @attention C99 equivalent is `bgfx_set_vertex_buffer`. /// @attention C99 equivalent is `bgfx_set_vertex_buffer`.
/// ///
void setVertexBuffer(VertexBufferHandle _handle); void setVertexBuffer(VertexBufferHandle _handle);
/// Set vertex buffer for draw primitive. /// Set vertex buffer for draw primitive.
/// ///
/// @param[in] _handle Vertex buffer.
/// @param[in] _startVertex First vertex to render.
/// @param[in] _numVertices Number of vertices to render.
///
/// @attention C99 equivalent is `bgfx_set_vertex_buffer`. /// @attention C99 equivalent is `bgfx_set_vertex_buffer`.
/// ///
void setVertexBuffer(VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices); void setVertexBuffer(VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices);
/// Set vertex buffer for draw primitive. /// Set vertex buffer for draw primitive.
/// ///
/// @param[in] _handle Dynamic vertex buffer.
/// @param[in] _numVertices Number of vertices to render.
///
/// @attention C99 equivalent is `bgfx_set_dynamic_vertex_buffer`. /// @attention C99 equivalent is `bgfx_set_dynamic_vertex_buffer`.
/// ///
void setVertexBuffer(DynamicVertexBufferHandle _handle, uint32_t _numVertices = UINT32_MAX); void setVertexBuffer(DynamicVertexBufferHandle _handle, uint32_t _numVertices = UINT32_MAX);
/// Set vertex buffer for draw primitive. /// Set vertex buffer for draw primitive.
/// ///
/// @param[in] _tvb Transient vertex buffer.
///
/// @attention C99 equivalent is `bgfx_set_transient_vertex_buffer`. /// @attention C99 equivalent is `bgfx_set_transient_vertex_buffer`.
/// ///
void setVertexBuffer(const TransientVertexBuffer* _tvb); void setVertexBuffer(const TransientVertexBuffer* _tvb);
/// Set vertex buffer for draw primitive. /// Set vertex buffer for draw primitive.
/// ///
/// @param[in] _tvb Transient vertex buffer.
/// @param[in] _startVertex First vertex to render.
/// @param[in] _numVertices Number of vertices to render.
///
/// @attention C99 equivalent is `bgfx_set_transient_vertex_buffer`. /// @attention C99 equivalent is `bgfx_set_transient_vertex_buffer`.
/// ///
void setVertexBuffer(const TransientVertexBuffer* _tvb, uint32_t _startVertex, uint32_t _numVertices); void setVertexBuffer(const TransientVertexBuffer* _tvb, uint32_t _startVertex, uint32_t _numVertices);
@ -1586,23 +1619,25 @@ namespace bgfx
/// Set program for draw primitive. /// Set program for draw primitive.
/// ///
/// @param[in] _handle Program.
///
/// @attention C99 equivalent is `bgfx_set_program`. /// @attention C99 equivalent is `bgfx_set_program`.
/// ///
void setProgram(ProgramHandle _handle); void setProgram(ProgramHandle _handle);
/// Set texture stage for draw primitive. /// Set texture stage for draw primitive.
/// ///
/// @param _stage Texture unit. /// @param[in] _stage Texture unit.
/// @param _sampler Program sampler. /// @param[in] _sampler Program sampler.
/// @param _handle Texture handle. /// @param[in] _handle Texture handle.
/// @param _flags Texture sampling mode. Default value UINT32_MAX uses /// @param[in] _flags Texture sampling mode. Default value UINT32_MAX uses
/// texture sampling settings from the texture. /// texture sampling settings from the texture.
/// - `BGFX_TEXTURE_[U/V/W]_[MIRROR/CLAMP]` - Mirror or clamp to edge wrap /// - `BGFX_TEXTURE_[U/V/W]_[MIRROR/CLAMP]` - Mirror or clamp to edge wrap
/// mode. /// mode.
/// - `BGFX_TEXTURE_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]` - Point or anisotropic /// - `BGFX_TEXTURE_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]` - Point or anisotropic
/// sampling. /// sampling.
/// ///
/// @param _flags Texture sampler filtering flags. UINT32_MAX use the /// @param[in] _flags Texture sampler filtering flags. UINT32_MAX use the
/// sampler filtering mode set by texture. /// sampler filtering mode set by texture.
/// ///
/// @attention C99 equivalent is `bgfx_set_texture`. /// @attention C99 equivalent is `bgfx_set_texture`.
@ -1611,11 +1646,11 @@ namespace bgfx
/// Set texture stage for draw primitive. /// Set texture stage for draw primitive.
/// ///
/// @param _stage Texture unit. /// @param[in] _stage Texture unit.
/// @param _sampler Program sampler. /// @param[in] _sampler Program sampler.
/// @param _handle Frame buffer handle. /// @param[in] _handle Frame buffer handle.
/// @param _attachment Attachment index. /// @param[in] _attachment Attachment index.
/// @param _flags Texture sampling mode. Default value UINT32_MAX uses /// @param[in] _flags Texture sampling mode. Default value UINT32_MAX uses
/// texture sampling settings from the texture. /// texture sampling settings from the texture.
/// - `BGFX_TEXTURE_[U/V/W]_[MIRROR/CLAMP]` - Mirror or clamp to edge wrap /// - `BGFX_TEXTURE_[U/V/W]_[MIRROR/CLAMP]` - Mirror or clamp to edge wrap
/// mode. /// mode.
@ -1628,8 +1663,8 @@ namespace bgfx
/// Submit primitive for rendering. /// Submit primitive for rendering.
/// ///
/// @param _id View id. /// @param[in] _id View id.
/// @param _depth Depth for sorting. /// @param[in] _depth Depth for sorting.
/// @returns Number of draw calls. /// @returns Number of draw calls.
/// ///
/// @attention C99 equivalent is `bgfx_submit`. /// @attention C99 equivalent is `bgfx_submit`.
@ -1722,12 +1757,32 @@ namespace bgfx
/// Dispatch compute. /// Dispatch compute.
/// ///
/// @param[in] _id View id.
/// @param[in] _handle Compute program.
/// @param[in] _numX Number of groups X.
/// @param[in] _numY Number of groups Y.
/// @param[in] _numZ Number of groups Z.
/// @param[in] _flags View flags. Use
/// - `BGFX_VIEW_NONE` - View will be rendered only once if stereo mode is enabled.
/// - `BGFX_VIEW_STEREO` - View will be rendered for both eyes if stereo mode is enabled. When
/// stereo mode is disabled this flag doesn't have effect.
///
/// @attention C99 equivalent is `bgfx_dispatch`. /// @attention C99 equivalent is `bgfx_dispatch`.
/// ///
uint32_t dispatch(uint8_t _id, ProgramHandle _handle, uint16_t _numX = 1, uint16_t _numY = 1, uint16_t _numZ = 1, uint8_t _flags = BGFX_SUBMIT_EYE_FIRST); uint32_t dispatch(uint8_t _id, ProgramHandle _handle, uint16_t _numX = 1, uint16_t _numY = 1, uint16_t _numZ = 1, uint8_t _flags = BGFX_SUBMIT_EYE_FIRST);
/// Dispatch compute indirect. /// Dispatch compute indirect.
/// ///
/// @param[in] _id View id.
/// @param[in] _handle Compute program.
/// @param[in] _indirectHandle Indirect buffer.
/// @param[in] _start First element in indirect buffer.
/// @param[in] _num Number of dispatches.
/// @param[in] _flags View flags. Use
/// - `BGFX_VIEW_NONE` - View will be rendered only once if stereo mode is enabled.
/// - `BGFX_VIEW_STEREO` - View will be rendered for both eyes if stereo mode is enabled. When
/// stereo mode is disabled this flag doesn't have effect.
///
/// @attention C99 equivalent is `bgfx_dispatch_indirect`. /// @attention C99 equivalent is `bgfx_dispatch_indirect`.
/// ///
uint32_t dispatch(uint8_t _id, ProgramHandle _handle, IndirectBufferHandle _indirectHandle, uint16_t _start = 0, uint16_t _num = 1, uint8_t _flags = BGFX_SUBMIT_EYE_FIRST); uint32_t dispatch(uint8_t _id, ProgramHandle _handle, IndirectBufferHandle _indirectHandle, uint16_t _start = 0, uint16_t _num = 1, uint8_t _flags = BGFX_SUBMIT_EYE_FIRST);
@ -1740,7 +1795,7 @@ namespace bgfx
/// Request screen shot. /// Request screen shot.
/// ///
/// @param _filePath Will be passed to `bgfx::CallbackI::screenShot` callback. /// @param[in] _filePath Will be passed to `bgfx::CallbackI::screenShot` callback.
/// ///
/// @remarks /// @remarks
/// `bgfx::CallbackI::screenShot` must be implemented. /// `bgfx::CallbackI::screenShot` must be implemented.