.. AUTO GENERATED! DO NOT EDIT! API Reference ============= .. note:: If you're just getting started with bgfx, you might get more out of these simple walkthroughs for how to use bgfx's API: - `Hello, bgfx! (tutorial) `_ - `bgfx-minimal-example (repo on GitHub) `_ - `Using the bgfx library with C++ on Ubuntu (tutorial) `_ - `Getting started with BGFX (playlist on Youtube) `_ - `Getting started with BGFX (repo on GitHub) `_ General ------- General API for initialization, shutdown, frame management, debug, and querying renderer information. Initialization and Shutdown ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. doxygendefine:: BGFX_PCI_ID_NONE .. doxygendefine:: BGFX_PCI_ID_SOFTWARE_RASTERIZER .. doxygendefine:: BGFX_PCI_ID_AMD .. doxygendefine:: BGFX_PCI_ID_APPLE .. doxygendefine:: BGFX_PCI_ID_INTEL .. doxygendefine:: BGFX_PCI_ID_NVIDIA .. doxygendefine:: BGFX_PCI_ID_MICROSOFT .. doxygendefine:: BGFX_PCI_ID_ARM .. doxygenstruct:: bgfx::Resolution :members: .. doxygenstruct:: bgfx::Init :members: .. doxygenfunction:: bgfx::init .. doxygenfunction:: bgfx::shutdown Updating ~~~~~~~~ Reset ***** Reset flags control back-buffer resolution, MSAA, vsync, and other global rendering settings. .. doxygendefine:: BGFX_RESET_NONE .. doxygendefine:: BGFX_RESET_FULLSCREEN .. doxygendefine:: BGFX_RESET_VSYNC .. doxygendefine:: BGFX_RESET_MAXANISOTROPY .. doxygendefine:: BGFX_RESET_CAPTURE .. doxygendefine:: BGFX_RESET_FLUSH_AFTER_RENDER .. doxygendefine:: BGFX_RESET_FLIP_AFTER_RENDER .. doxygendefine:: BGFX_RESET_SRGB_BACKBUFFER .. doxygendefine:: BGFX_RESET_HDR10 .. doxygendefine:: BGFX_RESET_HIDPI .. doxygendefine:: BGFX_RESET_DEPTH_CLAMP .. doxygendefine:: BGFX_RESET_SUSPEND .. doxygendefine:: BGFX_RESET_TRANSPARENT_BACKBUFFER .. doxygenfunction:: bgfx::reset Frame ***** Frame flags and the ``bgfx::frame`` call to advance to the next frame. .. doxygendefine:: BGFX_FRAME_NONE .. doxygendefine:: BGFX_FRAME_DEBUG_CAPTURE .. doxygendefine:: BGFX_FRAME_DISCARD .. doxygendefine:: BGFX_FRAME_FLUSH .. doxygenfunction:: bgfx::frame Debug ~~~~~ Debug Features ************** Enable or disable debug features. .. doxygenfunction:: bgfx::setDebug Debug Flags *********** Flags for ``bgfx::setDebug``. .. doxygendefine:: BGFX_DEBUG_NONE .. doxygendefine:: BGFX_DEBUG_WIREFRAME .. doxygendefine:: BGFX_DEBUG_IFH .. doxygendefine:: BGFX_DEBUG_STATS .. doxygendefine:: BGFX_DEBUG_TEXT .. doxygendefine:: BGFX_DEBUG_PROFILER Debug Text Display ****************** Functions for printing debug text on screen. .. doxygenfunction:: bgfx::dbgTextClear .. doxygenfunction:: bgfx::dbgTextPrintf .. doxygenfunction:: bgfx::dbgTextPrintfVargs .. doxygenfunction:: bgfx::dbgTextImage Querying information ~~~~~~~~~~~~~~~~~~~~ Renderer ******** Query the active rendering backend. .. doxygenstruct:: bgfx::RendererType :members: .. doxygenfunction:: bgfx::getSupportedRenderers .. doxygenfunction:: bgfx::getRendererType Capabilities ************ Query GPU capabilities and limits. Available Caps """""""""""""" Individual capability flags. .. doxygendefine:: BGFX_CAPS_ALPHA_TO_COVERAGE .. doxygendefine:: BGFX_CAPS_BLEND_INDEPENDENT .. doxygendefine:: BGFX_CAPS_COMPUTE .. doxygendefine:: BGFX_CAPS_CONSERVATIVE_RASTER .. doxygendefine:: BGFX_CAPS_DRAW_INDIRECT .. doxygendefine:: BGFX_CAPS_DRAW_INDIRECT_COUNT .. doxygendefine:: BGFX_CAPS_FRAGMENT_DEPTH .. doxygendefine:: BGFX_CAPS_FRAGMENT_ORDERING .. doxygendefine:: BGFX_CAPS_GRAPHICS_DEBUGGER .. doxygendefine:: BGFX_CAPS_HDR10 .. doxygendefine:: BGFX_CAPS_HIDPI .. doxygendefine:: BGFX_CAPS_IMAGE_RW .. doxygendefine:: BGFX_CAPS_INDEX32 .. doxygendefine:: BGFX_CAPS_INSTANCING .. doxygendefine:: BGFX_CAPS_OCCLUSION_QUERY .. doxygendefine:: BGFX_CAPS_PRIMITIVE_ID .. doxygendefine:: BGFX_CAPS_RENDERER_MULTITHREADED .. doxygendefine:: BGFX_CAPS_SWAP_CHAIN .. doxygendefine:: BGFX_CAPS_TEXTURE_BLIT .. doxygendefine:: BGFX_CAPS_TEXTURE_COMPARE_LEQUAL .. doxygendefine:: BGFX_CAPS_TEXTURE_COMPARE_RESERVED .. doxygendefine:: BGFX_CAPS_TEXTURE_CUBE_ARRAY .. doxygendefine:: BGFX_CAPS_TEXTURE_DIRECT_ACCESS .. doxygendefine:: BGFX_CAPS_TEXTURE_EXTERNAL .. doxygendefine:: BGFX_CAPS_TEXTURE_EXTERNAL_SHARED .. doxygendefine:: BGFX_CAPS_TEXTURE_READ_BACK .. doxygendefine:: BGFX_CAPS_TEXTURE_2D_ARRAY .. doxygendefine:: BGFX_CAPS_TEXTURE_3D .. doxygendefine:: BGFX_CAPS_TRANSPARENT_BACKBUFFER .. doxygendefine:: BGFX_CAPS_VARIABLE_RATE_SHADING .. doxygendefine:: BGFX_CAPS_VERTEX_ATTRIB_HALF .. doxygendefine:: BGFX_CAPS_VERTEX_ATTRIB_UINT10 .. doxygendefine:: BGFX_CAPS_VERTEX_ID .. doxygendefine:: BGFX_CAPS_VIEWPORT_LAYER_ARRAY .. doxygendefine:: BGFX_CAPS_TEXTURE_COMPARE_ALL Statistics ********** Per-frame rendering statistics. .. doxygenstruct:: bgfx::ViewStats :members: .. doxygenstruct:: bgfx::EncoderStats :members: .. doxygenstruct:: bgfx::Stats :members: .. doxygenfunction:: bgfx::getStats Platform specific ~~~~~~~~~~~~~~~~~ These are platform specific APIs. It is only necessary to use these APIs in conjunction with creating windows. .. doxygenstruct:: bgfx::RenderFrame :members: .. doxygenstruct:: bgfx::InternalData :members: .. doxygenstruct:: bgfx::PlatformData :members: .. doxygenfunction:: bgfx::renderFrame .. doxygenfunction:: bgfx::setPlatformData .. doxygenfunction:: bgfx::getInternalData .. doxygenfunction:: bgfx::overrideInternal(TextureHandle _handle, uintptr_t _ptr, uint16_t _layerIndex = 0) .. doxygenfunction:: bgfx::overrideInternal(TextureHandle _handle, uint16_t _width, uint16_t _height, uint8_t _numMips, TextureFormat::Enum _format, uint64_t _flags = BGFX_TEXTURE_NONE | BGFX_SAMPLER_NONE) Miscellaneous ~~~~~~~~~~~~~ .. doxygenstruct:: bgfx::TopologyConvert :members: .. doxygenstruct:: bgfx::TopologySort :members: .. doxygenfunction:: bgfx::vertexPack .. doxygenfunction:: bgfx::vertexUnpack .. doxygenfunction:: bgfx::vertexConvert .. doxygenfunction:: bgfx::topologyConvert .. doxygenfunction:: bgfx::topologySortTriList .. doxygenfunction:: bgfx::setPaletteColor(uint8_t _index, const float _rgba[4]) .. doxygenfunction:: bgfx::setPaletteColor(uint8_t _index, float _r, float _g, float _b, float _a) .. doxygenfunction:: bgfx::setPaletteColor(uint8_t _index, uint32_t _rgba) .. doxygenfunction:: bgfx::requestScreenShot .. doxygenfunction:: bgfx::touch .. doxygenfunction:: bgfx::discard Views ----- Views are the primary sorting mechanism in bgfx. They represent buckets of draw and compute calls, or what are often known as 'passes'. When compute calls and draw calls occupy the same bucket, the compute calls will be sorted to execute first. Compute calls are always executed in order of submission, while draw calls are sorted by internal state if the View is not in sequential mode. In most cases where the z-buffer is used, this change in order does not affect the desired output. When draw call order needs to be preserved (e.g. when rendering GUIs), Views can be set to use sequential mode with ``bgfx::setViewMode``. Sequential order is less efficient, because it doesn't allow state change optimization, and should be avoided when possible. By default, Views are sorted by their View ID, in ascending order. For dynamic renderers where the right order might not be known until the last moment, View IDs can be changed to use arbitrary ordering with ``bgfx::setViewOrder``. A View's state is preserved between frames. .. doxygenstruct:: bgfx::ViewMode :members: .. doxygenstruct:: bgfx::ShadingRate :members: .. doxygenfunction:: bgfx::setViewName .. doxygenfunction:: bgfx::setViewRect(ViewId _id, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height) .. doxygenfunction:: bgfx::setViewRect(ViewId _id, uint16_t _x, uint16_t _y, BackbufferRatio::Enum _ratio) .. doxygenfunction:: bgfx::setViewScissor .. doxygenfunction:: bgfx::setViewClear(ViewId _id, uint16_t _flags, uint32_t _rgba = 0x000000ff, float _depth = 1.0f, uint8_t _stencil = 0) .. doxygenfunction:: bgfx::setViewClear(ViewId _id, uint16_t _flags, float _depth, uint8_t _stencil, uint8_t _c0 = UINT8_MAX, uint8_t _c1 = UINT8_MAX, uint8_t _c2 = UINT8_MAX, uint8_t _c3 = UINT8_MAX, uint8_t _c4 = UINT8_MAX, uint8_t _c5 = UINT8_MAX, uint8_t _c6 = UINT8_MAX, uint8_t _c7 = UINT8_MAX) .. doxygenfunction:: bgfx::setViewMode .. doxygenfunction:: bgfx::setViewFrameBuffer .. doxygenfunction:: bgfx::setViewTransform .. doxygenfunction:: bgfx::setViewOrder .. doxygenfunction:: bgfx::setViewShadingRate .. doxygenfunction:: bgfx::resetView Encoder ------- Encoder ~~~~~~~ API for multi-threaded submission. .. doxygenstruct:: bgfx::Encoder :members: .. doxygenfunction:: bgfx::begin .. doxygenfunction:: bgfx::end Draw ~~~~ Draw state is not preserved between two draw calls. All state is cleared after calling ``bgfx::submit``. Debug ***** Debug markers for grouping draw calls in graphics debugging tools. .. doxygenfunction:: bgfx::setName(ShaderHandle _handle, const char* _name, int32_t _len = INT32_MAX) .. doxygenfunction:: bgfx::setName(TextureHandle _handle, const char* _name, int32_t _len = INT32_MAX) .. doxygenfunction:: bgfx::setMarker State ***** Configure render state for draw calls. .. doxygenfunction:: bgfx::setState State Flags *********** Render state flags for depth test, blending, culling, etc. **Write** .. doxygendefine:: BGFX_STATE_WRITE_R .. doxygendefine:: BGFX_STATE_WRITE_G .. doxygendefine:: BGFX_STATE_WRITE_B .. doxygendefine:: BGFX_STATE_WRITE_A .. doxygendefine:: BGFX_STATE_WRITE_Z .. doxygendefine:: BGFX_STATE_WRITE_RGB .. doxygendefine:: BGFX_STATE_WRITE_MASK **Depth Test** .. doxygendefine:: BGFX_STATE_DEPTH_TEST_LESS .. doxygendefine:: BGFX_STATE_DEPTH_TEST_LEQUAL .. doxygendefine:: BGFX_STATE_DEPTH_TEST_EQUAL .. doxygendefine:: BGFX_STATE_DEPTH_TEST_GEQUAL .. doxygendefine:: BGFX_STATE_DEPTH_TEST_GREATER .. doxygendefine:: BGFX_STATE_DEPTH_TEST_NOTEQUAL .. doxygendefine:: BGFX_STATE_DEPTH_TEST_NEVER .. doxygendefine:: BGFX_STATE_DEPTH_TEST_ALWAYS **Blend Mode** .. doxygendefine:: BGFX_STATE_BLEND_ZERO .. doxygendefine:: BGFX_STATE_BLEND_ONE .. doxygendefine:: BGFX_STATE_BLEND_SRC_COLOR .. doxygendefine:: BGFX_STATE_BLEND_INV_SRC_COLOR .. doxygendefine:: BGFX_STATE_BLEND_SRC_ALPHA .. doxygendefine:: BGFX_STATE_BLEND_INV_SRC_ALPHA .. doxygendefine:: BGFX_STATE_BLEND_DST_ALPHA .. doxygendefine:: BGFX_STATE_BLEND_INV_DST_ALPHA .. doxygendefine:: BGFX_STATE_BLEND_DST_COLOR .. doxygendefine:: BGFX_STATE_BLEND_INV_DST_COLOR .. doxygendefine:: BGFX_STATE_BLEND_SRC_ALPHA_SAT .. doxygendefine:: BGFX_STATE_BLEND_FACTOR .. doxygendefine:: BGFX_STATE_BLEND_INV_FACTOR **Blend Equation** .. doxygendefine:: BGFX_STATE_BLEND_EQUATION_ADD .. doxygendefine:: BGFX_STATE_BLEND_EQUATION_SUB .. doxygendefine:: BGFX_STATE_BLEND_EQUATION_REVSUB .. doxygendefine:: BGFX_STATE_BLEND_EQUATION_MIN .. doxygendefine:: BGFX_STATE_BLEND_EQUATION_MAX **Primitive Culling** .. doxygendefine:: BGFX_STATE_CULL_CW .. doxygendefine:: BGFX_STATE_CULL_CCW **Primitive Type** .. doxygendefine:: BGFX_STATE_PT_TRISTRIP .. doxygendefine:: BGFX_STATE_PT_LINES .. doxygendefine:: BGFX_STATE_PT_LINESTRIP .. doxygendefine:: BGFX_STATE_PT_POINTS **Misc** .. doxygendefine:: BGFX_STATE_MSAA .. doxygendefine:: BGFX_STATE_LINEAA .. doxygendefine:: BGFX_STATE_CONSERVATIVE_RASTER .. doxygendefine:: BGFX_STATE_NONE .. doxygendefine:: BGFX_STATE_FRONT_CCW .. doxygendefine:: BGFX_STATE_BLEND_INDEPENDENT .. doxygendefine:: BGFX_STATE_BLEND_ALPHA_TO_COVERAGE .. doxygendefine:: BGFX_STATE_DEFAULT Stencil ******* Configure stencil test for draw calls. .. doxygenfunction:: bgfx::setStencil Stencil Flags ************* Stencil test configuration flags. .. doxygendefine:: BGFX_STENCIL_TEST_LESS .. doxygendefine:: BGFX_STENCIL_TEST_LEQUAL .. doxygendefine:: BGFX_STENCIL_TEST_EQUAL .. doxygendefine:: BGFX_STENCIL_TEST_GEQUAL .. doxygendefine:: BGFX_STENCIL_TEST_GREATER .. doxygendefine:: BGFX_STENCIL_TEST_NOTEQUAL .. doxygendefine:: BGFX_STENCIL_TEST_NEVER .. doxygendefine:: BGFX_STENCIL_TEST_ALWAYS Scissor ******* If the Scissor rectangle needs to be changed for every draw call in a View, use ``bgfx::setScissor``. Otherwise, use ``bgfx::setViewScissor``. .. doxygenfunction:: bgfx::setScissor(uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height) .. doxygenfunction:: bgfx::setScissor(uint16_t _cache = UINT16_MAX) Transform ********* Set model transform matrices for draw calls. .. doxygenfunction:: bgfx::setTransform(const void* _mtx, uint16_t _num = 1) .. doxygenfunction:: bgfx::setTransform(uint32_t _cache, uint16_t _num = 1) .. doxygenfunction:: bgfx::allocTransform Conditional Rendering ********************* Conditionally render based on occlusion query results. .. doxygenfunction:: bgfx::setCondition Buffers ******* Set vertex, index, and instance data buffers for draw calls. .. doxygenstruct:: bgfx::TransientIndexBuffer :members: .. doxygenstruct:: bgfx::TransientVertexBuffer :members: .. doxygenstruct:: bgfx::InstanceDataBuffer :members: .. doxygenfunction:: bgfx::setIndexBuffer(IndexBufferHandle _handle) .. doxygenfunction:: bgfx::setIndexBuffer(IndexBufferHandle _handle, uint32_t _firstIndex, uint32_t _numIndices) .. doxygenfunction:: bgfx::setIndexBuffer(DynamicIndexBufferHandle _handle) .. doxygenfunction:: bgfx::setIndexBuffer(DynamicIndexBufferHandle _handle, uint32_t _firstIndex, uint32_t _numIndices) .. doxygenfunction:: bgfx::setIndexBuffer(const TransientIndexBuffer* _tib) .. doxygenfunction:: bgfx::setIndexBuffer(const TransientIndexBuffer* _tib, uint32_t _firstIndex, uint32_t _numIndices) .. doxygenfunction:: bgfx::setVertexBuffer(uint8_t _stream, VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE) .. doxygenfunction:: bgfx::setVertexBuffer(uint8_t _stream, DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE) .. doxygenfunction:: bgfx::setVertexBuffer(uint8_t _stream, const TransientVertexBuffer* _tvb, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE) .. doxygenfunction:: bgfx::setVertexCount .. doxygenfunction:: bgfx::setInstanceDataBuffer(const InstanceDataBuffer* _idb) .. doxygenfunction:: bgfx::setInstanceDataBuffer(const InstanceDataBuffer* _idb, uint32_t _start, uint32_t _num) .. doxygenfunction:: bgfx::setInstanceDataBuffer(VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _num) .. doxygenfunction:: bgfx::setInstanceDataBuffer(DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _num) .. doxygenfunction:: bgfx::setInstanceCount Textures ******** Bind textures to texture stages for draw calls. .. doxygenfunction:: bgfx::setTexture(uint8_t _stage, UniformHandle _sampler, TextureHandle _handle, uint32_t _flags = UINT32_MAX) .. doxygenfunction:: bgfx::setTexture(uint8_t _stage, UniformHandle _sampler, TextureHandle _handle, uint16_t _firstLayer, uint16_t _numLayers, uint8_t _firstMip, uint8_t _numMips, uint32_t _flags = UINT32_MAX) Uniforms ******** Set shader uniform parameters for draw calls. .. doxygenfunction:: bgfx::setViewUniform .. doxygenfunction:: bgfx::setFrameUniform .. doxygenfunction:: bgfx::setUniform Submit ****** In Views, all draw commands are executed **after** blit and compute commands. .. doxygenfunction:: bgfx::submit(ViewId _id, ProgramHandle _program, uint32_t _depth = 0, uint8_t _flags = BGFX_DISCARD_ALL) .. doxygenfunction:: bgfx::submit(ViewId _id, ProgramHandle _program, OcclusionQueryHandle _occlusionQuery, uint32_t _depth = 0, uint8_t _flags = BGFX_DISCARD_ALL) .. doxygenfunction:: bgfx::submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start = 0, uint32_t _num = 1, uint32_t _depth = 0, uint8_t _flags = BGFX_DISCARD_ALL) .. doxygenfunction:: bgfx::submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, IndexBufferHandle _numHandle, uint32_t _numIndex = 0, uint32_t _numMax = UINT32_MAX, uint32_t _depth = 0, uint8_t _flags = BGFX_DISCARD_ALL) Compute ~~~~~~~ Compute state is not preserved between compute dispatches; all state is cleared after calling ``bgfx::dispatch``. Buffers ******* Bind buffers to compute stages. .. doxygenstruct:: bgfx::Access :members: .. doxygenfunction:: bgfx::setBuffer(uint8_t _stage, IndexBufferHandle _handle, Access::Enum _access) .. doxygenfunction:: bgfx::setBuffer(uint8_t _stage, VertexBufferHandle _handle, Access::Enum _access) .. doxygenfunction:: bgfx::setBuffer(uint8_t _stage, DynamicIndexBufferHandle _handle, Access::Enum _access) .. doxygenfunction:: bgfx::setBuffer(uint8_t _stage, DynamicVertexBufferHandle _handle, Access::Enum _access) .. doxygenfunction:: bgfx::setBuffer(uint8_t _stage, IndirectBufferHandle _handle, Access::Enum _access) Images ****** Bind texture images to compute stages. .. doxygenfunction:: bgfx::setImage Dispatch ******** In Views, all draw commands are executed **after** blit and compute commands. .. doxygenfunction:: bgfx::dispatch(ViewId _id, ProgramHandle _program, uint32_t _numX = 1, uint32_t _numY = 1, uint32_t _numZ = 1, uint8_t _flags = BGFX_DISCARD_ALL) .. doxygenfunction:: bgfx::dispatch(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start = 0, uint32_t _num = 1, uint8_t _flags = BGFX_DISCARD_ALL) Blit ~~~~ In Views, all draw commands are executed **after** blit and compute commands. .. doxygenfunction:: bgfx::blit(ViewId _id, TextureHandle _dst, uint16_t _dstX, uint16_t _dstY, TextureHandle _src, uint16_t _srcX = 0, uint16_t _srcY = 0, uint16_t _width = UINT16_MAX, uint16_t _height = UINT16_MAX) .. doxygenfunction:: bgfx::blit(ViewId _id, TextureHandle _dst, uint8_t _dstMip, uint16_t _dstX, uint16_t _dstY, uint16_t _dstZ, TextureHandle _src, uint8_t _srcMip = 0, uint16_t _srcX = 0, uint16_t _srcY = 0, uint16_t _srcZ = 0, uint16_t _width = UINT16_MAX, uint16_t _height = UINT16_MAX, uint16_t _depth = UINT16_MAX) Resources --------- Shaders and Programs ~~~~~~~~~~~~~~~~~~~~ .. note:: Shaders must be compiled with offline command line tool shaderc. .. doxygenfunction:: bgfx::createShader .. doxygenfunction:: bgfx::getShaderUniforms .. doxygenfunction:: bgfx::destroy(ShaderHandle _handle) .. doxygenfunction:: bgfx::createProgram(ShaderHandle _vsh, ShaderHandle _fsh, bool _destroyShaders) .. doxygenfunction:: bgfx::createProgram(ShaderHandle _csh, bool _destroyShaders) .. doxygenfunction:: bgfx::destroy(ProgramHandle _handle) Uniforms ~~~~~~~~ .. doxygenstruct:: bgfx::UniformType :members: .. doxygenstruct:: bgfx::UniformFreq :members: .. doxygenstruct:: bgfx::UniformInfo :members: .. doxygenfunction:: bgfx::createUniform(const char* _name, UniformType::Enum _type, uint16_t _num = 1) .. doxygenfunction:: bgfx::createUniform(const char* _name, UniformFreq::Enum _freq, UniformType::Enum _type, uint16_t _num = 1) .. doxygenfunction:: bgfx::getUniformInfo .. doxygenfunction:: bgfx::destroy(UniformHandle _handle) Vertex Buffers ~~~~~~~~~~~~~~ .. doxygenstruct:: bgfx::Attrib :members: .. doxygenstruct:: bgfx::AttribType :members: .. doxygenstruct:: bgfx::VertexLayout :members: .. doxygenfunction:: bgfx::createVertexLayout .. doxygenfunction:: bgfx::destroy(VertexLayoutHandle _layoutHandle) .. doxygenfunction:: bgfx::createVertexBuffer .. doxygenfunction:: bgfx::setName(VertexBufferHandle _handle, const char* _name, int32_t _len = INT32_MAX) .. doxygenfunction:: bgfx::destroy(VertexBufferHandle _handle) .. doxygenfunction:: bgfx::createDynamicVertexBuffer(uint32_t _num, const VertexLayout& _layout, uint16_t _flags = BGFX_BUFFER_NONE) .. doxygenfunction:: bgfx::createDynamicVertexBuffer(const Memory* _mem, const VertexLayout& _layout, uint16_t _flags = BGFX_BUFFER_NONE) .. doxygenfunction:: bgfx::update(DynamicVertexBufferHandle _handle, uint32_t _startVertex, const Memory* _mem) .. doxygenfunction:: bgfx::destroy(DynamicVertexBufferHandle _handle) .. doxygenfunction:: bgfx::getAvailTransientVertexBuffer .. doxygenfunction:: bgfx::allocTransientVertexBuffer Index Buffers ~~~~~~~~~~~~~ .. doxygenfunction:: bgfx::createIndexBuffer .. doxygenfunction:: bgfx::setName(IndexBufferHandle _handle, const char* _name, int32_t _len = INT32_MAX) .. doxygenfunction:: bgfx::destroy(IndexBufferHandle _handle) .. doxygenfunction:: bgfx::createDynamicIndexBuffer(uint32_t _num, uint16_t _flags = BGFX_BUFFER_NONE) .. doxygenfunction:: bgfx::createDynamicIndexBuffer(const Memory* _mem, uint16_t _flags = BGFX_BUFFER_NONE) .. doxygenfunction:: bgfx::update(DynamicIndexBufferHandle _handle, uint32_t _startIndex, const Memory* _mem) .. doxygenfunction:: bgfx::destroy(DynamicIndexBufferHandle _handle) .. doxygenfunction:: bgfx::getAvailTransientIndexBuffer .. doxygenfunction:: bgfx::allocTransientIndexBuffer Textures ~~~~~~~~ .. doxygendefine:: BGFX_TEXTURE_NONE .. doxygendefine:: BGFX_TEXTURE_MSAA_SAMPLE .. doxygendefine:: BGFX_TEXTURE_RT .. doxygendefine:: BGFX_TEXTURE_COMPUTE_WRITE .. doxygendefine:: BGFX_TEXTURE_SRGB .. doxygendefine:: BGFX_TEXTURE_BLIT_DST .. doxygendefine:: BGFX_TEXTURE_READ_BACK .. doxygendefine:: BGFX_TEXTURE_EXTERNAL_SHARED .. doxygendefine:: BGFX_TEXTURE_RT_WRITE_ONLY .. doxygenstruct:: bgfx::TextureFormat :members: .. doxygenstruct:: bgfx::TextureInfo :members: .. doxygenfunction:: bgfx::isTextureValid .. doxygenfunction:: bgfx::calcTextureSize .. doxygenfunction:: bgfx::createTexture .. doxygenfunction:: bgfx::createTexture2D(uint16_t _width, uint16_t _height, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags = BGFX_TEXTURE_NONE|BGFX_SAMPLER_NONE, const Memory* _mem = NULL, uint64_t _external = 0) .. doxygenfunction:: bgfx::createTexture2D(BackbufferRatio::Enum _ratio, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags = BGFX_TEXTURE_NONE|BGFX_SAMPLER_NONE) .. doxygenfunction:: bgfx::createTexture3D .. doxygenfunction:: bgfx::createTextureCube .. doxygenfunction:: bgfx::updateTexture2D .. doxygenfunction:: bgfx::updateTexture3D .. doxygenfunction:: bgfx::updateTextureCube .. doxygenfunction:: bgfx::readTexture .. doxygenfunction:: bgfx::getDirectAccessPtr .. doxygenfunction:: bgfx::destroy(TextureHandle _handle) Frame Buffers ~~~~~~~~~~~~~ .. doxygenstruct:: bgfx::Attachment :members: .. doxygenfunction:: bgfx::isFrameBufferValid .. doxygenfunction:: bgfx::createFrameBuffer(uint16_t _width, uint16_t _height, TextureFormat::Enum _format, uint64_t _textureFlags = BGFX_SAMPLER_U_CLAMP|BGFX_SAMPLER_V_CLAMP) .. doxygenfunction:: bgfx::createFrameBuffer(BackbufferRatio::Enum _ratio, TextureFormat::Enum _format, uint64_t _textureFlags = BGFX_SAMPLER_U_CLAMP|BGFX_SAMPLER_V_CLAMP) .. doxygenfunction:: bgfx::createFrameBuffer(uint8_t _num, const TextureHandle* _handles, bool _destroyTexture) .. doxygenfunction:: bgfx::createFrameBuffer(uint8_t _num, const Attachment* _attachment, bool _destroyTexture) .. doxygenfunction:: bgfx::createFrameBuffer(void* _nwh, uint16_t _width, uint16_t _height, TextureFormat::Enum _format = TextureFormat::Count, TextureFormat::Enum _depthFormat = TextureFormat::Count) .. doxygenfunction:: bgfx::setName(FrameBufferHandle _handle, const char* _name, int32_t _len = INT32_MAX) .. doxygenfunction:: bgfx::getTexture .. doxygenfunction:: bgfx::destroy(FrameBufferHandle _handle) Instance Buffer ~~~~~~~~~~~~~~~ .. doxygenfunction:: bgfx::getAvailInstanceDataBuffer .. doxygenfunction:: bgfx::allocInstanceDataBuffer Indirect Buffer ~~~~~~~~~~~~~~~ .. doxygenfunction:: bgfx::createIndirectBuffer .. doxygenfunction:: bgfx::destroy(IndirectBufferHandle _handle) Occlusion Query ~~~~~~~~~~~~~~~ .. doxygenstruct:: bgfx::OcclusionQueryResult :members: .. doxygenfunction:: bgfx::createOcclusionQuery .. doxygenfunction:: bgfx::getResult .. doxygenfunction:: bgfx::destroy(OcclusionQueryHandle _handle)