mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-28 18:45:54 -05:00
Updated docs.
This commit is contained in:
parent
f7c8562f93
commit
c4a94843fa
1 changed files with 229 additions and 174 deletions
403
include/bgfx.h
403
include/bgfx.h
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue