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
/// user and terminate application from this call.
///
/// @param _code Fatal error code.
/// @param _str More information about error.
/// @param[in] _code Fatal error code.
/// @param[in] _str More information about error.
///
virtual void fatal(Fatal::Enum _code, const char* _str) = 0;
/// Return size of for cached item. Return 0 if no cached item was
/// found.
///
/// @param _id Cache id.
/// @param[in] _id Cache id.
/// @returns Number of bytes to read.
///
virtual uint32_t cacheReadSize(uint64_t _id) = 0;
/// Read cached item.
///
/// @param _id Cache id.
/// @param _data Buffer where to read data.
/// @param _size Size of data to read.
/// @param[in] _id Cache id.
/// @param[in] _data Buffer where to read data.
/// @param[in] _size Size of data to read.
///
/// @returns True if data is read.
///
@ -254,21 +254,21 @@ namespace bgfx
/// Write cached item.
///
/// @param _id Cache id.
/// @param _data Data to write.
/// @param _size Size of data to write.
/// @param[in] _id Cache id.
/// @param[in] _data Data to write.
/// @param[in] _size Size of data to write.
///
virtual void cacheWrite(uint64_t _id, const void* _data, uint32_t _size) = 0;
/// Screenshot captured. Screenshot format is always 4-byte BGRA.
///
/// @param _filePath File path.
/// @param _width Image width.
/// @param _height Image height.
/// @param _pitch Number of bytes to skip to next line.
/// @param _data Image data.
/// @param _size Image size.
/// @param _yflip If true image origin is bottom left.
/// @param[in] _filePath File path.
/// @param[in] _width Image width.
/// @param[in] _height Image height.
/// @param[in] _pitch Number of bytes to skip to next line.
/// @param[in] _data Image data.
/// @param[in] _size Image size.
/// @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;
@ -280,8 +280,8 @@ namespace bgfx
/// Captured frame.
///
/// @param _data Image data.
/// @param _size Image size.
/// @param[in] _data Image data.
/// @param[in] _size Image size.
///
virtual void captureFrame(const void* _data, uint32_t _size) = 0;
};
@ -435,14 +435,14 @@ namespace bgfx
/// Add attribute to VertexDecl.
///
/// @param _attrib Attribute semantics. See: `bgfx::Attrib`
/// @param _num Number of elements 1, 2, 3 or 4.
/// @param _type Element type.
/// @param _normalized When using fixed point AttribType (f.e. Uint8)
/// @param[in] _attrib Attribute semantics. See: `bgfx::Attrib`
/// @param[in] _num Number of elements 1, 2, 3 or 4.
/// @param[in] _type Element type.
/// @param[in] _normalized When using fixed point AttribType (f.e. Uint8)
/// value will be normalized for vertex shader usage. When normalized
/// is set to true, AttribType::Uint8 value in range 0-255 will be
/// 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.
/// 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.
///
/// @param _destDecl Destination vertex stream declaration.
/// @param _destData Destination vertex stream.
/// @param _srcDecl Source vertex stream declaration.
/// @param _srcData Source vertex stream data.
/// @param _num Number of vertices to convert from source to destination.
/// @param[in] _destDecl Destination vertex stream declaration.
/// @param[in] _destData Destination vertex stream.
/// @param[in] _srcDecl Source vertex stream declaration.
/// @param[in] _srcData Source vertex stream data.
/// @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);
/// 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.
/// @param _decl Vertex stream declaration.
/// @param _data Vertex stream.
/// @param _num Number of vertices in vertex stream.
/// @param _epsilon Error tolerance for vertex position comparison.
/// @param[in] _decl Vertex stream declaration.
/// @param[in] _data Vertex stream.
/// @param[in] _num Number of vertices in vertex stream.
/// @param[in] _epsilon Error tolerance for vertex position comparison.
/// @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);
/// Swizzle RGBA8 image to BGRA8.
///
/// @param _width Width of input image (pixels).
/// @param _height Height of input image (pixels).
/// @param _pitch Pitch of input image (bytes).
/// @param _src Source image.
/// @param _dst Destination image. Must be the same size as input image.
/// @param[in] _width Width of input image (pixels).
/// @param[in] _height Height of input image (pixels).
/// @param[in] _pitch Pitch of input image (bytes).
/// @param[in] _src Source image.
/// @param[in] _dst Destination image. Must be the same size as input image.
/// _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);
/// Downsample RGBA8 image with 2x2 pixel average filter.
///
/// @param _width Width of input image (pixels).
/// @param _height Height of input image (pixels).
/// @param _pitch Pitch of input image (bytes).
/// @param _src Source image.
/// @param _dst Destination image. Must be at least quarter size of
/// @param[in] _width Width of input image (pixels).
/// @param[in] _height Height of input image (pixels).
/// @param[in] _pitch Pitch of input image (bytes).
/// @param[in] _src Source image.
/// @param[in] _dst Destination image. Must be at least quarter size of
/// 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);
@ -533,23 +533,23 @@ namespace bgfx
/// 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.
/// 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_AMD` - AMD.
/// - `BGFX_PCI_ID_INTEL` - Intel.
/// - `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.
///
/// @param _callback Provide application specific callback interface.
/// @param[in] _callback Provide application specific callback interface.
/// 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
/// icustom allocator is thread safe.
///
@ -565,9 +565,9 @@ namespace bgfx
/// Reset graphic settings and back-buffer size.
///
/// @param _width Back-buffer width.
/// @param _height Back-buffer height.
/// @param _flags
/// @param[in] _width Back-buffer width.
/// @param[in] _height Back-buffer height.
/// @param[in] _flags
/// - `BGFX_RESET_NONE` - No reset flags.
/// - `BGFX_RESET_FULLSCREEN` - Not supported yet.
/// - `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.
///
/// @param _debug Available flags:
/// @param[in] _debug Available flags:
/// - `BGFX_DEBUG_IFH` - Infinitely fast hardware. When this flag is set
/// all rendering calls will be skipped. It's useful when profiling
/// to quickly assess bottleneck between CPU and GPU.
@ -678,12 +678,12 @@ namespace bgfx
/// Draw image into internal debug text buffer.
///
/// @param _x X position from top-left.
/// @param _y Y position from top-left.
/// @param _width Image width.
/// @param _height Image height.
/// @param _data Raw image data (character/attribute raw encoding).
/// @param _pitch Image pitch in bytes.
/// @param[in] _x X position from top-left.
/// @param[in] _y Y position from top-left.
/// @param[in] _width Image width.
/// @param[in] _height Image height.
/// @param[in] _data Raw image data (character/attribute raw encoding).
/// @param[in] _pitch Image pitch in bytes.
///
/// @attention C99 equivalent is `bgfx_dbg_text_image`.
///
@ -691,8 +691,8 @@ namespace bgfx
/// Create static index buffer.
///
/// @param _mem Index buffer data.
/// @param _flags Buffer creation flags.
/// @param[in] _mem Index buffer data.
/// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags.
/// - `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
@ -717,8 +717,8 @@ namespace bgfx
/// Create static vertex buffer.
///
/// @param _mem Vertex buffer data.
/// @param _decl Vertex declaration.
/// @param[in] _mem Vertex buffer data.
/// @param[in] _decl Vertex declaration.
/// @returns Static vertex buffer handle.
///
/// @attention C99 equivalent is `bgfx_create_vertex_buffer`.
@ -727,7 +727,7 @@ namespace bgfx
/// 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`.
///
@ -735,8 +735,8 @@ namespace bgfx
/// Create empty dynamic index buffer.
///
/// @param _num Number of indices.
/// @param _flags Buffer creation flags.
/// @param[in] _num Number of indices.
/// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags.
/// - `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
@ -755,8 +755,8 @@ namespace bgfx
/// Create dynamic index buffer and initialized it.
///
/// @param _mem Index buffer data.
/// @param _flags Buffer creation flags.
/// @param[in] _mem Index buffer data.
/// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags.
/// - `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
@ -775,9 +775,9 @@ namespace bgfx
/// Update dynamic index buffer.
///
/// @param _handle Dynamic index buffer handle.
/// @param _startIndex Start index.
/// @param _mem Index buffer data.
/// @param[in] _handle Dynamic index buffer handle.
/// @param[in] _startIndex Start index.
/// @param[in] _mem Index buffer data.
///
/// @attention C99 equivalent is `bgfx_update_dynamic_index_buffer`.
///
@ -785,7 +785,7 @@ namespace bgfx
/// 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`.
///
@ -793,9 +793,9 @@ namespace bgfx
/// Create empty dynamic vertex buffer.
///
/// @param _num Number of vertices.
/// @param _decl Vertex declaration.
/// @param _flags Buffer creation flags.
/// @param[in] _num Number of vertices.
/// @param[in] _decl Vertex declaration.
/// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags.
/// - `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
@ -814,9 +814,9 @@ namespace bgfx
/// Create dynamic vertex buffer and initialize it.
///
/// @param _mem Vertex buffer data.
/// @param _decl Vertex declaration.
/// @param _flags Buffer creation flags.
/// @param[in] _mem Vertex buffer data.
/// @param[in] _decl Vertex declaration.
/// @param[in] _flags Buffer creation flags.
/// - `BGFX_BUFFER_NONE` - No flags.
/// - `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
@ -835,9 +835,9 @@ namespace bgfx
/// Update dynamic vertex buffer.
///
/// @param _handle Dynamic vertex buffer handle.
/// @param _startVertex Start vertex.
/// @param _mem Vertex buffer data.
/// @param[in] _handle Dynamic vertex buffer handle.
/// @param[in] _startVertex Start vertex.
/// @param[in] _mem Vertex buffer data.
///
/// @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.
///
/// @param _num Number of indices.
/// @param[in] _num Number of indices.
///
/// @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.
///
/// @param _num Number of vertices.
/// @param _decl Vertex declaration.
/// @param[in] _num Number of vertices.
/// @param[in] _decl Vertex declaration.
///
/// @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.
///
/// @param _num Number of instances.
/// @param _stride Stride per instance.
/// @param[in] _num Number of instances.
/// @param[in] _stride Stride per instance.
///
/// @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
/// enough space.
///
/// @param _numVertices Number of vertices.
/// @param _decl Vertex declaration.
/// @param _numIndices Number of indices.
/// @param[in] _numVertices Number of vertices.
/// @param[in] _decl Vertex declaration.
/// @param[in] _numIndices Number of indices.
///
/// @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
/// for the duration of frame, and it can be reused for multiple draw
/// calls.
/// @param _num Number of indices to allocate.
/// @param[in] _num Number of indices to allocate.
///
/// @remarks
/// 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
/// for the duration of frame, and it can be reused for multiple draw
/// calls.
/// @param _num Number of vertices to allocate.
/// @param _decl Vertex declaration.
/// @param[in] _num Number of vertices to allocate.
/// @param[in] _decl Vertex declaration.
///
/// @remarks
/// 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.
///
/// @param _handle Shader handle.
/// @param _uniforms UniformHandle array where data will be stored.
/// @param _max Maximum capacity of array.
/// @param[in] _handle Shader handle.
/// @param[in] _uniforms UniformHandle array where data will be stored.
/// @param[in] _max Maximum capacity of array.
/// @returns Number of uniforms used by shader.
///
/// @remarks
@ -980,9 +980,9 @@ namespace bgfx
/// Create program with vertex and fragment shaders.
///
/// @param _vsh Vertex shader.
/// @param _fsh Fragment shader.
/// @param _destroyShaders If true, shaders will be destroyed when
/// @param[in] _vsh Vertex shader.
/// @param[in] _fsh Fragment shader.
/// @param[in] _destroyShaders If true, shaders will be destroyed when
/// program is destroyed.
/// @returns Program handle if vertex shader output and fragment shader
/// input are matching, otherwise returns invalid program handle.
@ -993,8 +993,8 @@ namespace bgfx
/// Create program with compute shader.
///
/// @param _csh Compute shader.
/// @param _destroyShader If true, shader will be destroyed when
/// @param[in] _csh Compute shader.
/// @param[in] _destroyShader If true, shader will be destroyed when
/// program is destroyed.
/// @returns Program handle.
///
@ -1193,9 +1193,9 @@ namespace bgfx
/// Create frame buffer.
///
/// @param _num Number of texture attachments.
/// @param _handles Texture attachments.
/// @param _destroyTextures If true, textures will be destroyed when
/// @param[in] _num Number of texture attachments.
/// @param[in] _handles Texture attachments.
/// @param[in] _destroyTextures If true, textures will be destroyed when
/// frame buffer is destroyed.
///
/// @attention C99 equivalent is `bgfx_create_frame_buffer_from_handles`.
@ -1204,10 +1204,10 @@ namespace bgfx
/// Create frame buffer for multiple window rendering.
///
/// @param _nwh OS' target native window handle.
/// @param _width Window back buffer width.
/// @param _height Window back buffer height.
/// @param _depthFormat Window back buffer depth format.
/// @param[in] _nwh OS' target native window handle.
/// @param[in] _width Window back buffer width.
/// @param[in] _height Window back buffer height.
/// @param[in] _depthFormat Window back buffer depth format.
///
/// @returns Handle to frame buffer object.
///
@ -1226,9 +1226,9 @@ namespace bgfx
/// Create shader uniform parameter.
///
/// @param _name Uniform name in shader.
/// @param _type Type of uniform (See: `bgfx::UniformType`).
/// @param _num Number of elements in array.
/// @param[in] _name Uniform name in shader.
/// @param[in] _type Type of uniform (See: `bgfx::UniformType`).
/// @param[in] _num Number of elements in array.
///
/// @returns Handle to uniform object.
///
@ -1256,7 +1256,7 @@ namespace bgfx
/// Destroy shader uniform parameter.
///
/// @param _handle Handle to uniform object.
/// @param[in] _handle Handle to uniform object.
///
/// @attention C99 equivalent is `bgfx_destroy_uniform`.
///
@ -1264,8 +1264,8 @@ namespace bgfx
/// Set clear color palette value.
///
/// @param _index Index into palette.
/// @param _rgba Packed 32-bit RGBA value.
/// @param[in] _index Index into palette.
/// @param[in] _rgba Packed 32-bit RGBA value.
///
/// @attention C99 equivalent is `bgfx_set_clear_color`.
///
@ -1273,8 +1273,8 @@ namespace bgfx
/// Set clear color palette value.
///
/// @param _index Index into palette.
/// @param _r, _g, _b, _a RGBA floating point values.
/// @param[in] _index Index into palette.
/// @param[in] _r, _g, _b, _a RGBA floating point values.
///
/// @attention C99 equivalent is `bgfx_set_clear_color`.
///
@ -1282,8 +1282,8 @@ namespace bgfx
/// Set clear color palette value.
///
/// @param _index Index into palette.
/// @param _rgba RGBA floating point value.
/// @param[in] _index Index into palette.
/// @param[in] _rgba RGBA floating point value.
///
/// @attention C99 equivalent is `bgfx_set_clear_color`.
///
@ -1291,8 +1291,8 @@ namespace bgfx
/// Set view name.
///
/// @param _id View id.
/// @param _name View name.
/// @param[in] _id View id.
/// @param[in] _name View name.
///
/// @remarks
/// This is debug only feature.
@ -1311,11 +1311,11 @@ namespace bgfx
/// Set view rectangle. Draw primitive outside view will be clipped.
///
/// @param _id View id.
/// @param _x Position x from the left corner of the window.
/// @param _y Position y from the top corner of the window.
/// @param _width Width of view port region.
/// @param _height Height of view port region.
/// @param[in] _id View id.
/// @param[in] _x Position x from the left corner of the window.
/// @param[in] _y Position y from the top corner of the window.
/// @param[in] _width Width of view port region.
/// @param[in] _height Height of view port region.
///
/// @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
/// _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 _y Position y from the top corner of the window.
/// @param _width Width of scissor region.
/// @param _height Height of scissor region.
/// @param[in] _x Position x from the left corner of the window.
/// @param[in] _y Position y from the top corner of the window.
/// @param[in] _width Width of scissor region.
/// @param[in] _height Height of scissor region.
///
/// @attention C99 equivalent is `bgfx_set_view_scissor`.
///
@ -1335,12 +1335,12 @@ namespace bgfx
/// Set view clear flags.
///
/// @param _id View id.
/// @param _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear
/// @param[in] _id View id.
/// @param[in] _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear
/// operation. See: `BGFX_CLEAR_*`.
/// @param _rgba Color clear value.
/// @param _depth Depth clear value.
/// @param _stencil Stencil clear value.
/// @param[in] _rgba Color clear value.
/// @param[in] _depth Depth clear value.
/// @param[in] _stencil Stencil clear value.
///
/// @attention C99 equivalent is `bgfx_set_view_clear`.
///
@ -1350,11 +1350,11 @@ namespace bgfx
/// frame buffer texture. Must use setClearColor to setup clear color
/// palette.
///
/// @param _id View id.
/// @param _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear
/// @param[in] _id View id.
/// @param[in] _flags Clear flags. Use `BGFX_CLEAR_NONE` to remove any clear
/// operation. See: `BGFX_CLEAR_*`.
/// @param _depth Depth clear value.
/// @param _stencil Stencil clear value.
/// @param[in] _depth Depth clear value.
/// @param[in] _stencil Stencil clear value.
///
/// @attention C99 equivalent is `bgfx_set_view_clear_mrt`.
///
@ -1369,8 +1369,8 @@ namespace bgfx
/// Set view frame buffer.
///
/// @param _id View id.
/// @param _handle Frame buffer handle. Passing `BGFX_INVALID_HANDLE` as
/// @param[in] _id View id.
/// @param[in] _handle Frame buffer handle. Passing `BGFX_INVALID_HANDLE` as
/// frame buffer handle will draw primitives from this view into
/// default back buffer.
///
@ -1384,15 +1384,15 @@ namespace bgfx
/// Set view view and projection matrices, all draw primitives in this
/// view will use these matrices.
///
/// @param _id View id.
/// @param _view View matrix.
/// @param _projL Projection matrix. When using stereo rendering this projection matrix
/// @param[in] _id View id.
/// @param[in] _view View matrix.
/// @param[in] _projL Projection matrix. When using stereo rendering this projection matrix
/// 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_STEREO` - View will be rendered for both eyes if stereo mode is enabled. When
/// 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`.
///
@ -1400,9 +1400,9 @@ namespace bgfx
/// Post submit view reordering.
///
/// @param _id First view id.
/// @param _num Number of views to remap.
/// @param _remap View remap id table. Passing `NULL` will reset view ids
/// @param[in] _id First view id.
/// @param[in] _num Number of views to remap.
/// @param[in] _remap View remap id table. Passing `NULL` will reset view ids
/// to default state.
///
/// @attention C99 equivalent is `bgfx_set_view_remap`.
@ -1417,7 +1417,7 @@ namespace bgfx
/// 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`.
/// - `BGFX_STATE_ALPHA_WRITE` - Enable alpha write.
/// - `BGFX_STATE_DEPTH_WRITE` - Enable depth write.
@ -1429,7 +1429,7 @@ namespace bgfx
/// - `BGFX_STATE_MSAA` - Enable MSAA.
/// - `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.
///
/// @remarks
@ -1444,8 +1444,8 @@ namespace bgfx
/// Set stencil test state.
///
/// @param _fstencil Front stencil state.
/// @param _bstencil Back stencil state. If back is set to `BGFX_STENCIL_NONE`
/// @param[in] _fstencil Front stencil state.
/// @param[in] _bstencil Back stencil state. If back is set to `BGFX_STENCIL_NONE`
/// _fstencil is applied to both front and back facing primitives.
///
/// @attention C99 equivalent is `bgfx_set_stencil`.
@ -1455,10 +1455,10 @@ namespace bgfx
/// Set scissor for draw primitive. For scissor for all primitives in
/// view see setViewScissor.
///
/// @param _x Position x from the left corner of the window.
/// @param _y Position y from the top corner of the window.
/// @param _width Width of scissor region.
/// @param _height Height of scissor region.
/// @param[in] _x Position x from the left corner of the window.
/// @param[in] _y Position y from the top corner of the window.
/// @param[in] _width Width of scissor region.
/// @param[in] _height Height of scissor region.
/// @returns Scissor cache index.
///
/// @attention C99 equivalent is `bgfx_set_scissor`.
@ -1467,7 +1467,7 @@ namespace bgfx
/// 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.
///
/// @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
/// be rendered with identity model matrix.
///
/// @param _mtx Pointer to first matrix in array.
/// @param _num Number of matrices in array.
/// @param[in] _mtx Pointer to first matrix in array.
/// @param[in] _num Number of matrices in array.
/// @returns index into matrix cache in case the same model matrix has
/// to be used for other draw primitive call.
///
@ -1489,8 +1489,8 @@ namespace bgfx
/// Reserve `_num` matrices in internal matrix cache. Pointer returned
/// can be modifed until `bgfx::frame` is called.
///
/// @param _transform Pointer to `Transform` structure.
/// @param _num Number of matrices.
/// @param[in] _transform Pointer to `Transform` structure.
/// @param[in] _num Number of matrices.
/// @returns index into matrix cache.
///
/// @attention C99 equivalent is `bgfx_alloc_transform`.
@ -1499,8 +1499,8 @@ namespace bgfx
/// Set model matrix from matrix cache for draw primitive.
///
/// @param _cache Index in matrix cache.
/// @param _num Number of matrices from cache.
/// @param[in] _cache Index in matrix cache.
/// @param[in] _num Number of matrices from cache.
///
/// @attention C99 equivalent is `bgfx_set_transform_cached`.
///
@ -1508,60 +1508,93 @@ namespace bgfx
/// 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`.
///
void setUniform(UniformHandle _handle, const void* _value, uint16_t _num = 1);
/// 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`.
///
void setIndexBuffer(IndexBufferHandle _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = UINT32_MAX);
/// 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`.
///
void setIndexBuffer(DynamicIndexBufferHandle _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = UINT32_MAX);
/// Set index buffer for draw primitive.
///
/// @param[in] _tib Transient index buffer.
///
/// @attention C99 equivalent is `bgfx_set_transient_index_buffer`.
///
void setIndexBuffer(const TransientIndexBuffer* _tib);
/// 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`.
///
void setIndexBuffer(const TransientIndexBuffer* _tib, uint32_t _firstIndex, uint32_t _numIndices);
/// Set vertex buffer for draw primitive.
///
/// @param[in] _handle Vertex buffer.
///
/// @attention C99 equivalent is `bgfx_set_vertex_buffer`.
///
void setVertexBuffer(VertexBufferHandle _handle);
/// 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`.
///
void setVertexBuffer(VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices);
/// 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`.
///
void setVertexBuffer(DynamicVertexBufferHandle _handle, uint32_t _numVertices = UINT32_MAX);
/// Set vertex buffer for draw primitive.
///
/// @param[in] _tvb Transient vertex buffer.
///
/// @attention C99 equivalent is `bgfx_set_transient_vertex_buffer`.
///
void setVertexBuffer(const TransientVertexBuffer* _tvb);
/// 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`.
///
void setVertexBuffer(const TransientVertexBuffer* _tvb, uint32_t _startVertex, uint32_t _numVertices);
@ -1586,23 +1619,25 @@ namespace bgfx
/// Set program for draw primitive.
///
/// @param[in] _handle Program.
///
/// @attention C99 equivalent is `bgfx_set_program`.
///
void setProgram(ProgramHandle _handle);
/// Set texture stage for draw primitive.
///
/// @param _stage Texture unit.
/// @param _sampler Program sampler.
/// @param _handle Texture handle.
/// @param _flags Texture sampling mode. Default value UINT32_MAX uses
/// @param[in] _stage Texture unit.
/// @param[in] _sampler Program sampler.
/// @param[in] _handle Texture handle.
/// @param[in] _flags Texture sampling mode. Default value UINT32_MAX uses
/// texture sampling settings from the texture.
/// - `BGFX_TEXTURE_[U/V/W]_[MIRROR/CLAMP]` - Mirror or clamp to edge wrap
/// mode.
/// - `BGFX_TEXTURE_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]` - Point or anisotropic
/// 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.
///
/// @attention C99 equivalent is `bgfx_set_texture`.
@ -1611,11 +1646,11 @@ namespace bgfx
/// Set texture stage for draw primitive.
///
/// @param _stage Texture unit.
/// @param _sampler Program sampler.
/// @param _handle Frame buffer handle.
/// @param _attachment Attachment index.
/// @param _flags Texture sampling mode. Default value UINT32_MAX uses
/// @param[in] _stage Texture unit.
/// @param[in] _sampler Program sampler.
/// @param[in] _handle Frame buffer handle.
/// @param[in] _attachment Attachment index.
/// @param[in] _flags Texture sampling mode. Default value UINT32_MAX uses
/// texture sampling settings from the texture.
/// - `BGFX_TEXTURE_[U/V/W]_[MIRROR/CLAMP]` - Mirror or clamp to edge wrap
/// mode.
@ -1628,8 +1663,8 @@ namespace bgfx
/// Submit primitive for rendering.
///
/// @param _id View id.
/// @param _depth Depth for sorting.
/// @param[in] _id View id.
/// @param[in] _depth Depth for sorting.
/// @returns Number of draw calls.
///
/// @attention C99 equivalent is `bgfx_submit`.
@ -1722,12 +1757,32 @@ namespace bgfx
/// 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`.
///
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.
///
/// @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`.
///
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.
///
/// @param _filePath Will be passed to `bgfx::CallbackI::screenShot` callback.
/// @param[in] _filePath Will be passed to `bgfx::CallbackI::screenShot` callback.
///
/// @remarks
/// `bgfx::CallbackI::screenShot` must be implemented.