bgfx/bgfx.html
Бранимир Караџић 9aedcb1f32 Updated docs.
2022-07-16 09:43:54 -07:00

7319 lines
703 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>API Reference &mdash; bgfx 1.115.8127 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Tools" href="tools.html" />
<link rel="prev" title="Examples" href="examples.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home" alt="Documentation Home"> bgfx
</a>
<div class="version">
1.115.8127
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="build.html">Building</a></li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">API Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#general">General</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#initialization-and-shutdown">Initialization and Shutdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="#updating">Updating</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#reset">Reset</a></li>
<li class="toctree-l4"><a class="reference internal" href="#frame">Frame</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#debug">Debug</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#debug-features">Debug Features</a></li>
<li class="toctree-l4"><a class="reference internal" href="#debug-flags">Debug Flags</a></li>
<li class="toctree-l4"><a class="reference internal" href="#debug-text-display">Debug Text Display</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#querying-information">Querying information</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#renderer">Renderer</a></li>
<li class="toctree-l4"><a class="reference internal" href="#capabilities">Capabilities</a></li>
<li class="toctree-l4"><a class="reference internal" href="#statistics">Statistics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#platform-specific">Platform specific</a></li>
<li class="toctree-l3"><a class="reference internal" href="#miscellaneous">Miscellaneous</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#views">Views</a></li>
<li class="toctree-l2"><a class="reference internal" href="#encoder">Encoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id1">Encoder</a></li>
<li class="toctree-l3"><a class="reference internal" href="#draw">Draw</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#state">State</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id2">Debug</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id3">State</a></li>
<li class="toctree-l4"><a class="reference internal" href="#state-flags">State Flags</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stencil">Stencil</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stencil-flags">Stencil Flags</a></li>
<li class="toctree-l4"><a class="reference internal" href="#scissor">Scissor</a></li>
<li class="toctree-l4"><a class="reference internal" href="#transform">Transform</a></li>
<li class="toctree-l4"><a class="reference internal" href="#conditional-rendering">Conditional Rendering</a></li>
<li class="toctree-l4"><a class="reference internal" href="#buffers">Buffers</a></li>
<li class="toctree-l4"><a class="reference internal" href="#textures">Textures</a></li>
<li class="toctree-l4"><a class="reference internal" href="#submit">Submit</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#compute">Compute</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id4">Buffers</a></li>
<li class="toctree-l4"><a class="reference internal" href="#images">Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="#dispatch">Dispatch</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#blit">Blit</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#resources">Resources</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#shaders-and-programs">Shaders and Programs</a></li>
<li class="toctree-l3"><a class="reference internal" href="#uniforms">Uniforms</a></li>
<li class="toctree-l3"><a class="reference internal" href="#vertex-buffers">Vertex Buffers</a></li>
<li class="toctree-l3"><a class="reference internal" href="#index-buffers">Index Buffers</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id5">Textures</a></li>
<li class="toctree-l3"><a class="reference internal" href="#frame-buffers">Frame Buffers</a></li>
<li class="toctree-l3"><a class="reference internal" href="#instance-buffer">Instance Buffer</a></li>
<li class="toctree-l3"><a class="reference internal" href="#indirect-buffer">Indirect Buffer</a></li>
<li class="toctree-l3"><a class="reference internal" href="#occlusion-query">Occlusion Query</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="internals.html">Internals</a></li>
<li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">bgfx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>API Reference</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="api-reference">
<h1>API Reference<a class="headerlink" href="#api-reference" title="Permalink to this headline"></a></h1>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If youre just getting started with bgfx, you might get more out of these simple walkthroughs for how to use bgfxs API:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://dev.to/pperon/hello-bgfx-4dka">Hello, bgfx!</a></p></li>
<li><p><a class="reference external" href="https://github.com/jpcy/bgfx-minimal-example#bgfx-minimal-example">bgfx-minimal-example</a></p></li>
<li><p><a class="reference external" href="https://www.sandeepnambiar.com/getting-started-with-bgfx/">Using the bgfx library with C++ on Ubuntu</a></p></li>
</ul>
</div>
<div class="section" id="general">
<h2>General<a class="headerlink" href="#general" title="Permalink to this headline"></a></h2>
<div class="section" id="initialization-and-shutdown">
<h3>Initialization and Shutdown<a class="headerlink" href="#initialization-and-shutdown" title="Permalink to this headline"></a></h3>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx4InitE">
<span id="_CPPv3N4bgfx4InitE"></span><span id="_CPPv2N4bgfx4InitE"></span><span id="bgfx::Init"></span><span class="target" id="structbgfx_1_1_init"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Init</code><a class="headerlink" href="#_CPPv4N4bgfx4InitE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Initialization parameters used by <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref"><span class="pre">bgfx::init</span></span></a></code>. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_init_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init4typeE">
<span id="_CPPv3N4bgfx4Init4typeE"></span><span id="_CPPv2N4bgfx4Init4typeE"></span><span id="bgfx::Init::type__RendererType::Enum"></span><span class="target" id="structbgfx_1_1_init_1a7f399f062439826992e17e095837efa3"></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType">RendererType</a>::<a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum">Enum</a> <code class="sig-name descname">type</code><a class="headerlink" href="#_CPPv4N4bgfx4Init4typeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Select rendering backend. When set to RendererType::Count a default rendering backend will be selected appropriate to the platform. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_renderer_type"><span class="std std-ref"><span class="pre">bgfx::RendererType</span></span></a></code> </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init8vendorIdE">
<span id="_CPPv3N4bgfx4Init8vendorIdE"></span><span id="_CPPv2N4bgfx4Init8vendorIdE"></span><span id="bgfx::Init::vendorId__uint16_t"></span><span class="target" id="structbgfx_1_1_init_1a95acf1a68426ecd7192d6cdf93e02e83"></span>uint16_t <code class="sig-name descname">vendorId</code><a class="headerlink" href="#_CPPv4N4bgfx4Init8vendorIdE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vendor PCI id. If set to <code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NONE</span></code> it will select the first device. </p>
<p><ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NONE</span></code> - Autoselect adapter.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_SOFTWARE_RASTERIZER</span></code> - Software rasterizer.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_AMD</span></code> - AMD adapter.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_INTEL</span></code> - Intel adapter.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NVIDIA</span></code> - nVidia adapter. </p></li>
</ul>
</p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init8deviceIdE">
<span id="_CPPv3N4bgfx4Init8deviceIdE"></span><span id="_CPPv2N4bgfx4Init8deviceIdE"></span><span id="bgfx::Init::deviceId__uint16_t"></span><span class="target" id="structbgfx_1_1_init_1a60ff2d3dd1ccdae79ef96a62eb1bf5e0"></span>uint16_t <code class="sig-name descname">deviceId</code><a class="headerlink" href="#_CPPv4N4bgfx4Init8deviceIdE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Device id. If set to 0 it will select first device, or device with matching id. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init12capabilitiesE">
<span id="_CPPv3N4bgfx4Init12capabilitiesE"></span><span id="_CPPv2N4bgfx4Init12capabilitiesE"></span><span id="bgfx::Init::capabilities__uint64_t"></span><span class="target" id="structbgfx_1_1_init_1ac3a18241d5e9407316390d3c7d523844"></span>uint64_t <code class="sig-name descname">capabilities</code><a class="headerlink" href="#_CPPv4N4bgfx4Init12capabilitiesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Capabilities initialization mask (default: UINT64_MAX). </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init5debugE">
<span id="_CPPv3N4bgfx4Init5debugE"></span><span id="_CPPv2N4bgfx4Init5debugE"></span><span id="bgfx::Init::debug__b"></span><span class="target" id="structbgfx_1_1_init_1a3fc874cff90fe5c279356e92a306f022"></span>bool <code class="sig-name descname">debug</code><a class="headerlink" href="#_CPPv4N4bgfx4Init5debugE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable device for debugging. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init7profileE">
<span id="_CPPv3N4bgfx4Init7profileE"></span><span id="_CPPv2N4bgfx4Init7profileE"></span><span id="bgfx::Init::profile__b"></span><span class="target" id="structbgfx_1_1_init_1a5cf66d060d59a5e1e55147e3d75d32fe"></span>bool <code class="sig-name descname">profile</code><a class="headerlink" href="#_CPPv4N4bgfx4Init7profileE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable device for profiling. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init12platformDataE">
<span id="_CPPv3N4bgfx4Init12platformDataE"></span><span id="_CPPv2N4bgfx4Init12platformDataE"></span><span id="bgfx::Init::platformData__PlatformData"></span><span class="target" id="structbgfx_1_1_init_1a45c9bd57be8ff9a4ecd1fc180d8526c9"></span><a class="reference internal" href="#_CPPv4N4bgfx12PlatformDataE" title="bgfx::PlatformData">PlatformData</a> <code class="sig-name descname">platformData</code><a class="headerlink" href="#_CPPv4N4bgfx4Init12platformDataE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Platform data. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init10resolutionE">
<span id="_CPPv3N4bgfx4Init10resolutionE"></span><span id="_CPPv2N4bgfx4Init10resolutionE"></span><span id="bgfx::Init::resolution__Resolution"></span><span class="target" id="structbgfx_1_1_init_1a12f9e2f7f7a8514e1bd58a8aee137b1a"></span><a class="reference internal" href="#_CPPv4N4bgfx10ResolutionE" title="bgfx::Resolution">Resolution</a> <code class="sig-name descname">resolution</code><a class="headerlink" href="#_CPPv4N4bgfx4Init10resolutionE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer resolution and reset parameters. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_resolution"><span class="std std-ref"><span class="pre">bgfx::Resolution</span></span></a></code>. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init6limitsE">
<span id="_CPPv3N4bgfx4Init6limitsE"></span><span id="_CPPv2N4bgfx4Init6limitsE"></span><span id="bgfx::Init::limits__Limits"></span><span class="target" id="structbgfx_1_1_init_1ac76769c4c0d9d1fbe4eeb5b652cb35d3"></span><a class="reference internal" href="#_CPPv4N4bgfx4Init6LimitsE" title="bgfx::Init::Limits">Limits</a> <code class="sig-name descname">limits</code><a class="headerlink" href="#_CPPv4N4bgfx4Init6limitsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Configurable runtime limits. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init8callbackE">
<span id="_CPPv3N4bgfx4Init8callbackE"></span><span id="_CPPv2N4bgfx4Init8callbackE"></span><span id="bgfx::Init::callback__CallbackIP"></span><span class="target" id="structbgfx_1_1_init_1ae9d15764a47018bbe634615fff85ffd9"></span><a class="reference internal" href="#_CPPv4N4bgfx9CallbackIE" title="bgfx::CallbackI">CallbackI</a> *<code class="sig-name descname">callback</code><a class="headerlink" href="#_CPPv4N4bgfx4Init8callbackE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Provide application specific callback interface. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i"><span class="std std-ref"><span class="pre">bgfx::CallbackI</span></span></a></code> </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init9allocatorE">
<span id="_CPPv3N4bgfx4Init9allocatorE"></span><span id="_CPPv2N4bgfx4Init9allocatorE"></span><span id="bgfx::Init::allocator__bx::AllocatorIP"></span><span class="target" id="structbgfx_1_1_init_1a68cecb542d9c6d5bd6de99427e00bccd"></span>bx::AllocatorI *<code class="sig-name descname">allocator</code><a class="headerlink" href="#_CPPv4N4bgfx4Init9allocatorE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Custom allocator. When a custom allocator is not specified, bgfx uses the CRT allocator. Bgfx assumes custom allocator is thread safe. </p>
</dd></dl>
</div>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx4Init6LimitsE">
<span id="_CPPv3N4bgfx4Init6LimitsE"></span><span id="_CPPv2N4bgfx4Init6LimitsE"></span><span id="bgfx::Init::Limits"></span><span class="target" id="structbgfx_1_1_init_1_1_limits"></span><em class="property">struct </em><code class="sig-name descname">Limits</code><a class="headerlink" href="#_CPPv4N4bgfx4Init6LimitsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Configurable runtime limits parameters. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_init_limits_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init6Limits11maxEncodersE">
<span id="_CPPv3N4bgfx4Init6Limits11maxEncodersE"></span><span id="_CPPv2N4bgfx4Init6Limits11maxEncodersE"></span><span id="bgfx::Init::Limits::maxEncoders__uint16_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1ab5612e1f4040bfafdc409f09cc1b38d1"></span>uint16_t <code class="sig-name descname">maxEncoders</code><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits11maxEncodersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of encoder threads. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init6Limits17minResourceCbSizeE">
<span id="_CPPv3N4bgfx4Init6Limits17minResourceCbSizeE"></span><span id="_CPPv2N4bgfx4Init6Limits17minResourceCbSizeE"></span><span id="bgfx::Init::Limits::minResourceCbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1a37fa7f94ed381d6fdcdcf0cc8b48e6b3"></span>uint32_t <code class="sig-name descname">minResourceCbSize</code><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits17minResourceCbSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Minimum resource command buffer size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init6Limits15transientVbSizeE">
<span id="_CPPv3N4bgfx4Init6Limits15transientVbSizeE"></span><span id="_CPPv2N4bgfx4Init6Limits15transientVbSizeE"></span><span id="bgfx::Init::Limits::transientVbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1a39d39b44ef980d707bc46f31f9f9eb45"></span>uint32_t <code class="sig-name descname">transientVbSize</code><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits15transientVbSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum transient vertex buffer size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Init6Limits15transientIbSizeE">
<span id="_CPPv3N4bgfx4Init6Limits15transientIbSizeE"></span><span id="_CPPv2N4bgfx4Init6Limits15transientIbSizeE"></span><span id="bgfx::Init::Limits::transientIbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1a6665ec7e87e4078fec9937d83449d9c9"></span>uint32_t <code class="sig-name descname">transientIbSize</code><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits15transientIbSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum transient index buffer size. </p>
</dd></dl>
</div>
</dd></dl>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx10ResolutionE">
<span id="_CPPv3N4bgfx10ResolutionE"></span><span id="_CPPv2N4bgfx10ResolutionE"></span><span id="bgfx::Resolution"></span><span class="target" id="structbgfx_1_1_resolution"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Resolution</code><a class="headerlink" href="#_CPPv4N4bgfx10ResolutionE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer resolution and reset parameters. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_resolution_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Resolution6formatE">
<span id="_CPPv3N4bgfx10Resolution6formatE"></span><span id="_CPPv2N4bgfx10Resolution6formatE"></span><span id="bgfx::Resolution::format__TextureFormat::Enum"></span><span class="target" id="structbgfx_1_1_resolution_1a3781358001b210ea4ca4118d9a9df6ce"></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <code class="sig-name descname">format</code><a class="headerlink" href="#_CPPv4N4bgfx10Resolution6formatE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer format. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Resolution5widthE">
<span id="_CPPv3N4bgfx10Resolution5widthE"></span><span id="_CPPv2N4bgfx10Resolution5widthE"></span><span id="bgfx::Resolution::width__uint32_t"></span><span class="target" id="structbgfx_1_1_resolution_1ad310354c75d3b7319ecfeb637b8755d6"></span>uint32_t <code class="sig-name descname">width</code><a class="headerlink" href="#_CPPv4N4bgfx10Resolution5widthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer width. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Resolution6heightE">
<span id="_CPPv3N4bgfx10Resolution6heightE"></span><span id="_CPPv2N4bgfx10Resolution6heightE"></span><span id="bgfx::Resolution::height__uint32_t"></span><span class="target" id="structbgfx_1_1_resolution_1a08cb2efb1e931b334bfbf376a8aa9198"></span>uint32_t <code class="sig-name descname">height</code><a class="headerlink" href="#_CPPv4N4bgfx10Resolution6heightE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer height. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Resolution5resetE">
<span id="_CPPv3N4bgfx10Resolution5resetE"></span><span id="_CPPv2N4bgfx10Resolution5resetE"></span><span id="bgfx::Resolution::reset__uint32_t"></span><span class="target" id="structbgfx_1_1_resolution_1a312be1875802ea5a0b09aafb1f99e1cd"></span>uint32_t <code class="sig-name descname">reset</code><a class="headerlink" href="#_CPPv4N4bgfx10Resolution5resetE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Reset parameters. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Resolution14numBackBuffersE">
<span id="_CPPv3N4bgfx10Resolution14numBackBuffersE"></span><span id="_CPPv2N4bgfx10Resolution14numBackBuffersE"></span><span id="bgfx::Resolution::numBackBuffers__uint8_t"></span><span class="target" id="structbgfx_1_1_resolution_1a12a5dd8b75d88438a2d0b75ad90cef97"></span>uint8_t <code class="sig-name descname">numBackBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx10Resolution14numBackBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of back buffers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Resolution15maxFrameLatencyE">
<span id="_CPPv3N4bgfx10Resolution15maxFrameLatencyE"></span><span id="_CPPv2N4bgfx10Resolution15maxFrameLatencyE"></span><span id="bgfx::Resolution::maxFrameLatency__uint8_t"></span><span class="target" id="structbgfx_1_1_resolution_1a3e7f134dc8917547a41a83946311e4fe"></span>uint8_t <code class="sig-name descname">maxFrameLatency</code><a class="headerlink" href="#_CPPv4N4bgfx10Resolution15maxFrameLatencyE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum frame latency. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx4initERK4Init">
<span id="_CPPv3N4bgfx4initERK4Init"></span><span id="_CPPv2N4bgfx4initERK4Init"></span><span id="bgfx::init__InitCR"></span><span class="target" id="namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"></span>bool <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">init</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx4InitE" title="bgfx::Init">Init</a> &amp;<em>_init</em> = {}<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4initERK4Init" title="Permalink to this definition"></a><br /></dt>
<dd><p>Initialize the bgfx library. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p><code class="docutils literal notranslate"><span class="pre">true</span></code> if initialization was successful.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_init</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_init</span></code>: Initialization parameters. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_init"><span class="std std-ref"><span class="pre">bgfx::Init</span></span></a></code> for more info.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_PCI_ID_NONE">
<span class="target" id="defines_8h_1a92e8db81cd0b751a6abecfd7c1977b61"></span><code class="sig-name descname">BGFX_PCI_ID_NONE</code><a class="headerlink" href="#c.BGFX_PCI_ID_NONE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Autoselect adapter. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_PCI_ID_SOFTWARE_RASTERIZER">
<span class="target" id="defines_8h_1af687d309fb08a21af41cb61dcc17663f"></span><code class="sig-name descname">BGFX_PCI_ID_SOFTWARE_RASTERIZER</code><a class="headerlink" href="#c.BGFX_PCI_ID_SOFTWARE_RASTERIZER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Software rasterizer. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_PCI_ID_AMD">
<span class="target" id="defines_8h_1a98a003376c4fac2e111a2778578660cb"></span><code class="sig-name descname">BGFX_PCI_ID_AMD</code><a class="headerlink" href="#c.BGFX_PCI_ID_AMD" title="Permalink to this definition"></a><br /></dt>
<dd><p>AMD adapter. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_PCI_ID_INTEL">
<span class="target" id="defines_8h_1a2f3ca85ec971d2a6e98f63b60de61755"></span><code class="sig-name descname">BGFX_PCI_ID_INTEL</code><a class="headerlink" href="#c.BGFX_PCI_ID_INTEL" title="Permalink to this definition"></a><br /></dt>
<dd><p>Intel adapter. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_PCI_ID_NVIDIA">
<span class="target" id="defines_8h_1a19a4997d1bcf83055bfd3bf8274b593b"></span><code class="sig-name descname">BGFX_PCI_ID_NVIDIA</code><a class="headerlink" href="#c.BGFX_PCI_ID_NVIDIA" title="Permalink to this definition"></a><br /></dt>
<dd><p>nVidia adapter. </p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx9CallbackIE">
<span id="_CPPv3N4bgfx9CallbackIE"></span><span id="_CPPv2N4bgfx9CallbackIE"></span><span id="bgfx::CallbackI"></span><span class="target" id="structbgfx_1_1_callback_i"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">CallbackI</code><a class="headerlink" href="#_CPPv4N4bgfx9CallbackIE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Callback interface to implement application specific behavior. Cached items are currently used for OpenGL and Direct3D 12 binary shaders. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>fatal and trace callbacks can be called from any thread. Other callbacks are called from the render thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_interface_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Functions</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc">
<span id="_CPPv3N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc"></span><span id="_CPPv2N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc"></span><span id="bgfx::CallbackI::fatal__cCP.uint16_t.Fatal::Enum.cCP"></span><span class="target" id="structbgfx_1_1_callback_i_1af6da8564f008e91fddf441175d18850b"></span>void <code class="sig-name descname">fatal</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_filePath</em>, uint16_t <em>_line</em>, Fatal::Enum <em>_code</em>, <em class="property">const</em> char *<em>_str</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>This callback is called on unrecoverable errors. Its not safe to continue (Excluding _code <code class="docutils literal notranslate"><span class="pre">Fatal::DebugCheck</span></code>), inform the user and terminate the application. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>Not thread safe and it can be called from any thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.fatal</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_filePath</span></code>: File path where fatal message was generated. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_line</span></code>: Line where fatal message was generated. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_code</span></code>: Fatal error code. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_str</span></code>: More information about error.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list">
<span id="_CPPv3N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list"></span><span id="_CPPv2N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list"></span><span id="bgfx::CallbackI::traceVargs__cCP.uint16_t.cCP.va_list"></span><span class="target" id="structbgfx_1_1_callback_i_1a55bde1947f1347a2c9360824d08314da"></span>void <code class="sig-name descname">traceVargs</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_filePath</em>, uint16_t <em>_line</em>, <em class="property">const</em> char *<em>_format</em>, va_list <em>_argList</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list" title="Permalink to this definition"></a><br /></dt>
<dd><p>Print debug message. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>Not thread safe and it can be called from any thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.trace_vargs</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_filePath</span></code>: File path where debug message was generated. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_line</span></code>: Line where debug message was generated. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: <code class="docutils literal notranslate"><span class="pre">printf</span></code> style format. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_argList</span></code>: Variable arguments list initialized with <code class="docutils literal notranslate"><span class="pre">va_start</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t">
<span id="_CPPv3N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t"></span><span id="_CPPv2N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t"></span><span id="bgfx::CallbackI::profilerBegin__cCP.uint32_t.cCP.uint16_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a3bd1177a4621524bd90da103ca3417de"></span>void <code class="sig-name descname">profilerBegin</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_name</em>, uint32_t <em>_abgr</em>, <em class="property">const</em> char *<em>_filePath</em>, uint16_t <em>_line</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Profiler region begin. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>Not thread safe and it can be called from any thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.profiler_begin</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: Region name, contains dynamic string. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_abgr</span></code>: Color of profiler region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_filePath</span></code>: File path where <code class="docutils literal notranslate"><span class="pre">profilerBegin</span></code> was called. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_line</span></code>: Line where <code class="docutils literal notranslate"><span class="pre">profilerBegin</span></code> was called.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t">
<span id="_CPPv3N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t"></span><span id="_CPPv2N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t"></span><span id="bgfx::CallbackI::profilerBeginLiteral__cCP.uint32_t.cCP.uint16_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a4a2875d0cf4a47e4c22df25f0b4d041b"></span>void <code class="sig-name descname">profilerBeginLiteral</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_name</em>, uint32_t <em>_abgr</em>, <em class="property">const</em> char *<em>_filePath</em>, uint16_t <em>_line</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Profiler region begin with string literal name. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>Not thread safe and it can be called from any thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.profiler_begin_literal</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: Region name, contains string literal. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_abgr</span></code>: Color of profiler region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_filePath</span></code>: File path where <code class="docutils literal notranslate"><span class="pre">profilerBeginLiteral</span></code> was called. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_line</span></code>: Line where <code class="docutils literal notranslate"><span class="pre">profilerBeginLiteral</span></code> was called.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI11profilerEndEv">
<span id="_CPPv3N4bgfx9CallbackI11profilerEndEv"></span><span id="_CPPv2N4bgfx9CallbackI11profilerEndEv"></span><span id="bgfx::CallbackI::profilerEnd"></span><span class="target" id="structbgfx_1_1_callback_i_1ac0d86e638d8af10bd5792a3aac3b82b5"></span>void <code class="sig-name descname">profilerEnd</code><span class="sig-paren">(</span><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI11profilerEndEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Profiler region end. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>Not thread safe and it can be called from any thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.profiler_end</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI13cacheReadSizeE8uint64_t">
<span id="_CPPv3N4bgfx9CallbackI13cacheReadSizeE8uint64_t"></span><span id="_CPPv2N4bgfx9CallbackI13cacheReadSizeE8uint64_t"></span><span id="bgfx::CallbackI::cacheReadSize__uint64_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a0e42c49e7a21b94a8866f4ad0e76a317"></span>uint32_t <code class="sig-name descname">cacheReadSize</code><span class="sig-paren">(</span>uint64_t <em>_id</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI13cacheReadSizeE8uint64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns the size of a cached item. Returns 0 if no cached item was found. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Number of bytes to read.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.cache_read_size</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: Cache id. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t">
<span id="_CPPv3N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t"></span><span id="_CPPv2N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t"></span><span id="bgfx::CallbackI::cacheRead__uint64_t.voidP.uint32_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a37f081ba5631e93449e64886190d5c90"></span>bool <code class="sig-name descname">cacheRead</code><span class="sig-paren">(</span>uint64_t <em>_id</em>, void *<em>_data</em>, uint32_t <em>_size</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read cached item. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>True if data is read.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.cache_read</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: Cache id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Buffer where to read data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Size of data to read.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t">
<span id="_CPPv3N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t"></span><span id="_CPPv2N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t"></span><span id="bgfx::CallbackI::cacheWrite__uint64_t.voidCP.uint32_t"></span><span class="target" id="structbgfx_1_1_callback_i_1af4cf9d4f3ce9d5280a5f6cd0cd78600e"></span>void <code class="sig-name descname">cacheWrite</code><span class="sig-paren">(</span>uint64_t <em>_id</em>, <em class="property">const</em> void *<em>_data</em>, uint32_t <em>_size</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write cached item. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.cache_write</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: Cache id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Data to write. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Size of data to write.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb">
<span id="_CPPv3N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb"></span><span id="_CPPv2N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb"></span><span id="bgfx::CallbackI::screenShot__cCP.uint32_t.uint32_t.uint32_t.voidCP.uint32_t.b"></span><span class="target" id="structbgfx_1_1_callback_i_1a44d38debc9d86b9815d55058afc762c6"></span>void <code class="sig-name descname">screenShot</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_filePath</em>, uint32_t <em>_width</em>, uint32_t <em>_height</em>, uint32_t <em>_pitch</em>, <em class="property">const</em> void *<em>_data</em>, uint32_t <em>_size</em>, bool <em>_yflip</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Screenshot captured. Screenshot format is always 4-byte BGRA. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.screen_shot</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_filePath</span></code>: File path. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Image width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Image height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_pitch</span></code>: Number of bytes to skip between the start of each horizontal line of the image. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Image data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Image size. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_yflip</span></code>: If true, image origin is bottom left.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb">
<span id="_CPPv3N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb"></span><span id="_CPPv2N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb"></span><span id="bgfx::CallbackI::captureBegin__uint32_t.uint32_t.uint32_t.TextureFormat::Enum.b"></span><span class="target" id="structbgfx_1_1_callback_i_1afbf52f537e1bf54a4c20f6efb2654231"></span>void <code class="sig-name descname">captureBegin</code><span class="sig-paren">(</span>uint32_t <em>_width</em>, uint32_t <em>_height</em>, uint32_t <em>_pitch</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, bool <em>_yflip</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Called when a video capture begins. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.capture_begin</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Image width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Image height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_pitch</span></code>: Number of bytes to skip between the start of each horizontal line of the image. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_yflip</span></code>: If true, image origin is bottom left.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI10captureEndEv">
<span id="_CPPv3N4bgfx9CallbackI10captureEndEv"></span><span id="_CPPv2N4bgfx9CallbackI10captureEndEv"></span><span id="bgfx::CallbackI::captureEnd"></span><span class="target" id="structbgfx_1_1_callback_i_1af4a233dccba408ad9c0c1fa3a8491c4b"></span>void <code class="sig-name descname">captureEnd</code><span class="sig-paren">(</span><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10captureEndEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Called when a video capture ends. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.capture_end</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9CallbackI12captureFrameEPKv8uint32_t">
<span id="_CPPv3N4bgfx9CallbackI12captureFrameEPKv8uint32_t"></span><span id="_CPPv2N4bgfx9CallbackI12captureFrameEPKv8uint32_t"></span><span id="bgfx::CallbackI::captureFrame__voidCP.uint32_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a02b34e3ca8968184330c8247984c2365"></span>void <code class="sig-name descname">captureFrame</code><span class="sig-paren">(</span><em class="property">const</em> void *<em>_data</em>, uint32_t <em>_size</em><span class="sig-paren">)</span> = 0<a class="headerlink" href="#_CPPv4N4bgfx9CallbackI12captureFrameEPKv8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Captured frame. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.capture_frame</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Image data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Image size.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx8shutdownEv">
<span id="_CPPv3N4bgfx8shutdownEv"></span><span id="_CPPv2N4bgfx8shutdownEv"></span><span id="bgfx::shutdown"></span><span class="target" id="namespacebgfx_1a9611ce9146bff25f2846b7e85c83cc99"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">shutdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8shutdownEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Shutdown bgfx library. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_shutdown</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="updating">
<h3>Updating<a class="headerlink" href="#updating" title="Permalink to this headline"></a></h3>
<div class="section" id="reset">
<h4>Reset<a class="headerlink" href="#reset" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE">
<span id="_CPPv3N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE"></span><span id="bgfx::reset__uint32_t.uint32_t.uint32_t.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1acbf49c89c8ed64ac2ce9fbb08a52f7ab"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">reset</code><span class="sig-paren">(</span>uint32_t <em>_width</em>, uint32_t <em>_height</em>, uint32_t <em>_flags</em> = BGFX_RESET_NONE, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em> = <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count">Count</a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Reset graphic settings and back-buffer size. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>This call doesnt change the window size, it just resizes the back-buffer. Your windowing code controls the window size.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_reset</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Back-buffer width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Back-buffer height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: See: <code class="docutils literal notranslate"><span class="pre">BGFX_RESET_*</span></code> for more info.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_NONE</span></code> - No reset flags.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_FULLSCREEN</span></code> - Not supported yet.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_MSAA_X[2/4/8/16]</span></code> - Enable 2, 4, 8 or 16 x MSAA.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_VSYNC</span></code> - Enable V-Sync.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_MAXANISOTROPY</span></code> - Turn on/off max anisotropy.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_CAPTURE</span></code> - Begin screen capture.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_FLUSH_AFTER_RENDER</span></code> - Flush rendering after submitting to GPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_FLIP_AFTER_RENDER</span></code> - This flag specifies where flip occurs. Default behavior is that flip occurs before rendering new frame. This flag only has effect when <code class="docutils literal notranslate"><span class="pre">BGFX_CONFIG_MULTITHREADED=0</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_SRGB_BACKBUFFER</span></code> - Enable sRGB back-buffer. </p></li>
</ul>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_NONE">
<span class="target" id="defines_8h_1ab4f97fa0a40e27db79f7a778c3da268f"></span><code class="sig-name descname">BGFX_RESET_NONE</code><a class="headerlink" href="#c.BGFX_RESET_NONE" title="Permalink to this definition"></a><br /></dt>
<dd><p>No reset flags. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_FULLSCREEN">
<span class="target" id="defines_8h_1a7a573880db4afc7107e36ea61dc36586"></span><code class="sig-name descname">BGFX_RESET_FULLSCREEN</code><a class="headerlink" href="#c.BGFX_RESET_FULLSCREEN" title="Permalink to this definition"></a><br /></dt>
<dd><p>Not supported yet. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_MSAA_X2">
<span class="target" id="defines_8h_1a11369bfec092c6aecb55c344696cffa8"></span><code class="sig-name descname">BGFX_RESET_MSAA_X2</code><a class="headerlink" href="#c.BGFX_RESET_MSAA_X2" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable 2x MSAA. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_MSAA_X4">
<span class="target" id="defines_8h_1a6288443c87929696f539c60245b59acb"></span><code class="sig-name descname">BGFX_RESET_MSAA_X4</code><a class="headerlink" href="#c.BGFX_RESET_MSAA_X4" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable 4x MSAA. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_MSAA_X8">
<span class="target" id="defines_8h_1a0d9452be0acc82cd9b0921b061abe007"></span><code class="sig-name descname">BGFX_RESET_MSAA_X8</code><a class="headerlink" href="#c.BGFX_RESET_MSAA_X8" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable 8x MSAA. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_MSAA_X16">
<span class="target" id="defines_8h_1a7fc0d9a43da20edb2670854c393127c7"></span><code class="sig-name descname">BGFX_RESET_MSAA_X16</code><a class="headerlink" href="#c.BGFX_RESET_MSAA_X16" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable 16x MSAA. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_VSYNC">
<span class="target" id="defines_8h_1abe5909f7f2d02137660385500409ffd5"></span><code class="sig-name descname">BGFX_RESET_VSYNC</code><a class="headerlink" href="#c.BGFX_RESET_VSYNC" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable V-Sync. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_MAXANISOTROPY">
<span class="target" id="defines_8h_1a94fe821218b7426466f11acf3925a629"></span><code class="sig-name descname">BGFX_RESET_MAXANISOTROPY</code><a class="headerlink" href="#c.BGFX_RESET_MAXANISOTROPY" title="Permalink to this definition"></a><br /></dt>
<dd><p>Turn on/off max anisotropy. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_CAPTURE">
<span class="target" id="defines_8h_1a3342824f93a57411568f665744c1a515"></span><code class="sig-name descname">BGFX_RESET_CAPTURE</code><a class="headerlink" href="#c.BGFX_RESET_CAPTURE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Begin screen capture. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_FLUSH_AFTER_RENDER">
<span class="target" id="defines_8h_1ae01ca78b058a1f7bf2358d61f7b52b03"></span><code class="sig-name descname">BGFX_RESET_FLUSH_AFTER_RENDER</code><a class="headerlink" href="#c.BGFX_RESET_FLUSH_AFTER_RENDER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Flush rendering after submitting to GPU. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_FLIP_AFTER_RENDER">
<span class="target" id="defines_8h_1a1685b3f0489fc8465f3d3c5b70424e38"></span><code class="sig-name descname">BGFX_RESET_FLIP_AFTER_RENDER</code><a class="headerlink" href="#c.BGFX_RESET_FLIP_AFTER_RENDER" title="Permalink to this definition"></a><br /></dt>
<dd><p>This flag specifies where flip occurs. Default behaviour is that flip occurs before rendering new frame. This flag only has effect when <code class="docutils literal notranslate"><span class="pre">BGFX_CONFIG_MULTITHREADED=0</span></code>. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_SRGB_BACKBUFFER">
<span class="target" id="defines_8h_1a74813007bb4401a669842d101bc5da25"></span><code class="sig-name descname">BGFX_RESET_SRGB_BACKBUFFER</code><a class="headerlink" href="#c.BGFX_RESET_SRGB_BACKBUFFER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable sRGB backbuffer. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_HDR10">
<span class="target" id="defines_8h_1a970807be2daa1b810791647ed61371b2"></span><code class="sig-name descname">BGFX_RESET_HDR10</code><a class="headerlink" href="#c.BGFX_RESET_HDR10" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable HDR10 rendering. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_HIDPI">
<span class="target" id="defines_8h_1a8d31334677672b6a92ea3a17110194fa"></span><code class="sig-name descname">BGFX_RESET_HIDPI</code><a class="headerlink" href="#c.BGFX_RESET_HIDPI" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable HiDPI rendering. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_RESET_DEPTH_CLAMP">
<span class="target" id="defines_8h_1af06b6eb7e824929310fd5fb2b2a5e7c4"></span><code class="sig-name descname">BGFX_RESET_DEPTH_CLAMP</code><a class="headerlink" href="#c.BGFX_RESET_DEPTH_CLAMP" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth clamp. </p>
</dd></dl>
</div>
<div class="section" id="frame">
<h4>Frame<a class="headerlink" href="#frame" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx5frameEb">
<span id="_CPPv3N4bgfx5frameEb"></span><span id="_CPPv2N4bgfx5frameEb"></span><span id="bgfx::frame__b"></span><span class="target" id="namespacebgfx_1a7b228b3e83595148e428a248d73480e8"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">frame</code><span class="sig-paren">(</span>bool <em>_capture</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5frameEb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Advance to next frame. When using multithreaded renderer, this call just swaps internal buffers, kicks render thread, and returns. In singlethreaded renderer this call does frame rendering. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Current frame number. This might be used in conjunction with double/multi buffering data outside the library and passing it to library via <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a8dc7bf9f26afcc6f61dc602dfed09044"><span class="std std-ref"><span class="pre">bgfx::makeRef</span></span></a></code> calls.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_frame</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_capture</span></code>: Capture frame with graphics debugger.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</div>
<div class="section" id="debug">
<h3>Debug<a class="headerlink" href="#debug" title="Permalink to this headline"></a></h3>
<div class="section" id="debug-features">
<h4>Debug Features<a class="headerlink" href="#debug-features" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx8setDebugE8uint32_t">
<span id="_CPPv3N4bgfx8setDebugE8uint32_t"></span><span id="_CPPv2N4bgfx8setDebugE8uint32_t"></span><span id="bgfx::setDebug__uint32_t"></span><span class="target" id="namespacebgfx_1ae785eb08ff2f48a96b84d2a37cb6f594"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setDebug</code><span class="sig-paren">(</span>uint32_t <em>_debug</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8setDebugE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set debug flags. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_debug</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_debug</span></code>: Available flags:<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_IFH</span></code> - Infinitely fast hardware. When this flag is set all rendering calls will be skipped. This is useful when profiling to quickly assess potential bottlenecks between CPU and GPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_PROFILER</span></code> - Enable profiler.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_STATS</span></code> - Display internal statistics.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_TEXT</span></code> - Display debug text.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_WIREFRAME</span></code> - Wireframe rendering. All rendering primitives will be rendered as lines.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="debug-flags">
<h4>Debug Flags<a class="headerlink" href="#debug-flags" title="Permalink to this headline"></a></h4>
<dl class="cpp macro">
<dt id="c.BGFX_DEBUG_NONE">
<span class="target" id="defines_8h_1abcdfdffe5c52e7ff366087466c515ea5"></span><code class="sig-name descname">BGFX_DEBUG_NONE</code><a class="headerlink" href="#c.BGFX_DEBUG_NONE" title="Permalink to this definition"></a><br /></dt>
<dd><p>No debug. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_DEBUG_WIREFRAME">
<span class="target" id="defines_8h_1ae489c12ff4b561a2f68ddb0bf727049c"></span><code class="sig-name descname">BGFX_DEBUG_WIREFRAME</code><a class="headerlink" href="#c.BGFX_DEBUG_WIREFRAME" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable wireframe for all primitives. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_DEBUG_IFH">
<span class="target" id="defines_8h_1a01a6722a2d1b1c1948b44191b2dddf48"></span><code class="sig-name descname">BGFX_DEBUG_IFH</code><a class="headerlink" href="#c.BGFX_DEBUG_IFH" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable infinitely fast hardware test. No draw calls will be submitted to driver. Its useful when profiling to quickly assess bottleneck between CPU and GPU. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_DEBUG_STATS">
<span class="target" id="defines_8h_1a337fe1eece8a5d2c6c8e4067541d84b8"></span><code class="sig-name descname">BGFX_DEBUG_STATS</code><a class="headerlink" href="#c.BGFX_DEBUG_STATS" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable statistics display. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_DEBUG_TEXT">
<span class="target" id="defines_8h_1a3a0974b7626334233233d24027b7fd8a"></span><code class="sig-name descname">BGFX_DEBUG_TEXT</code><a class="headerlink" href="#c.BGFX_DEBUG_TEXT" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable debug text display. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_DEBUG_PROFILER">
<span class="target" id="defines_8h_1a35d04d76460ad35cf1c9b3926b4267bb"></span><code class="sig-name descname">BGFX_DEBUG_PROFILER</code><a class="headerlink" href="#c.BGFX_DEBUG_PROFILER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable profiler. This causes per-view statistics to be collected, available through <code class="docutils literal notranslate"><span class="pre">bgfx::Stats::ViewStats</span></code>. This is unrelated to the profiler functions in <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i"><span class="std std-ref"><span class="pre">bgfx::CallbackI</span></span></a></code>. </p>
</dd></dl>
</div>
<div class="section" id="debug-text-display">
<h4>Debug Text Display<a class="headerlink" href="#debug-text-display" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12dbgTextClearE7uint8_tb">
<span id="_CPPv3N4bgfx12dbgTextClearE7uint8_tb"></span><span id="_CPPv2N4bgfx12dbgTextClearE7uint8_tb"></span><span id="bgfx::dbgTextClear__uint8_t.b"></span><span class="target" id="namespacebgfx_1ac7c16eafe7657464ed6fef8eca0c4c2a"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">dbgTextClear</code><span class="sig-paren">(</span>uint8_t <em>_attr</em> = 0, bool <em>_small</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12dbgTextClearE7uint8_tb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Clear internal debug text buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_clear</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attr</span></code>: Background color. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_small</span></code>: Default 8x16 or 8x8 font.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz">
<span id="_CPPv3N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz"></span><span id="_CPPv2N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz"></span><span id="bgfx::dbgTextPrintf__uint16_t.uint16_t.uint8_t.cCP.z"></span><span class="target" id="namespacebgfx_1a2d1c6e189bbfdc2b2458d152a2a08245"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">dbgTextPrintf</code><span class="sig-paren">(</span>uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint8_t <em>_attr</em>, <em class="property">const</em> char *<em>_format</em>, ...<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz" title="Permalink to this definition"></a><br /></dt>
<dd><p>Print into internal debug text character-buffer (VGA-compatible text mode). </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_printf</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span><span class="pre">[in]</span> <span class="pre">_y</span></code>: 2D position from top-left. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attr</span></code>: Color palette. Where top 4-bits represent index of background, and bottom 4-bits represent foreground color from standard VGA text palette (ANSI escape codes). </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: <code class="docutils literal notranslate"><span class="pre">printf</span></code> style format.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list">
<span id="_CPPv3N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list"></span><span id="_CPPv2N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list"></span><span id="bgfx::dbgTextPrintfVargs__uint16_t.uint16_t.uint8_t.cCP.va_list"></span><span class="target" id="namespacebgfx_1ac84afd8d2ad87516bfb770dec920654e"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">dbgTextPrintfVargs</code><span class="sig-paren">(</span>uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint8_t <em>_attr</em>, <em class="property">const</em> char *<em>_format</em>, va_list <em>_argList</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list" title="Permalink to this definition"></a><br /></dt>
<dd><p>Print into internal debug text character-buffer (VGA-compatible text mode). </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_vprintf</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span><span class="pre">[in]</span> <span class="pre">_y</span></code>: 2D position from top-left. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attr</span></code>: Color palette. Where top 4-bits represent index of background, and bottom 4-bits represent foreground color from standard VGA text palette (ANSI escape codes). </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: <code class="docutils literal notranslate"><span class="pre">printf</span></code> style format. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_argList</span></code>: additional arguments for format string</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t">
<span id="_CPPv3N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t"></span><span id="_CPPv2N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t"></span><span id="bgfx::dbgTextImage__uint16_t.uint16_t.uint16_t.uint16_t.voidCP.uint16_t"></span><span class="target" id="namespacebgfx_1ad8f6406578d8886613b4cc48e6c5737a"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">dbgTextImage</code><span class="sig-paren">(</span>uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em>, <em class="property">const</em> void *<em>_data</em>, uint16_t <em>_pitch</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Draw image into internal debug text buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_image</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span><span class="pre">[in]</span> <span class="pre">_y</span></code>: 2D position from top-left. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span><span class="pre">[in]</span> <span class="pre">_height</span></code>: Image width and height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Raw image data (character/attribute raw encoding). </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_pitch</span></code>: Image pitch in bytes.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</div>
<div class="section" id="querying-information">
<h3>Querying information<a class="headerlink" href="#querying-information" title="Permalink to this headline"></a></h3>
<div class="section" id="renderer">
<h4>Renderer<a class="headerlink" href="#renderer" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE">
<span id="_CPPv3N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE"></span><span id="_CPPv2N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE"></span><span id="bgfx::getSupportedRenderers__uint8_t.RendererType::EnumP"></span><span class="target" id="namespacebgfx_1a933cae6e2a887a05049835ac31617a15"></span>uint8_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getSupportedRenderers</code><span class="sig-paren">(</span>uint8_t <em>_max</em> = 0, <a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType">RendererType</a>::<a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum">Enum</a> *<em>_enum</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns supported backend API renderers. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Number of supported renderers.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_supported_renderers</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_max</span></code>: Maximum number of elements in _enum array. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[inout]</span> <span class="pre">_enum</span></code>: Array where supported renderers will be written.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15getRendererTypeEv">
<span id="_CPPv3N4bgfx15getRendererTypeEv"></span><span id="_CPPv2N4bgfx15getRendererTypeEv"></span><span id="bgfx::getRendererType"></span><span class="target" id="namespacebgfx_1ab0c1e47f7ebc790794c0161abaaebc8a"></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType">RendererType</a>::<a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum">Enum</a> <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getRendererType</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15getRendererTypeEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns current renderer backend API type. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>Library must be initialized.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_renderer_type</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx12RendererTypeE">
<span id="_CPPv3N4bgfx12RendererTypeE"></span><span id="_CPPv2N4bgfx12RendererTypeE"></span><span id="bgfx::RendererType"></span><span class="target" id="structbgfx_1_1_renderer_type"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">RendererType</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererTypeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer backend type enum. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_renderer_type_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx12RendererType4EnumE">
<span id="_CPPv3N4bgfx12RendererType4EnumE"></span><span id="_CPPv2N4bgfx12RendererType4EnumE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer types: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum4NoopE">
<span id="_CPPv3N4bgfx12RendererType4Enum4NoopE"></span><span id="_CPPv2N4bgfx12RendererType4Enum4NoopE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32ae119c2ac9204cc917b956053d53110e6"></span><em class="property">enumerator </em><code class="sig-name descname">Noop</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum4NoopE" title="Permalink to this definition"></a><br /></dt>
<dd><p>No rendering. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum3AgcE">
<span id="_CPPv3N4bgfx12RendererType4Enum3AgcE"></span><span id="_CPPv2N4bgfx12RendererType4Enum3AgcE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aa33dbbf0d8c3c0571de5ced9ee09d559"></span><em class="property">enumerator </em><code class="sig-name descname">Agc</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum3AgcE" title="Permalink to this definition"></a><br /></dt>
<dd><p>AGC. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum9Direct3D9E">
<span id="_CPPv3N4bgfx12RendererType4Enum9Direct3D9E"></span><span id="_CPPv2N4bgfx12RendererType4Enum9Direct3D9E"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a10c968bd17c9feceefb823dd2ada0e1e"></span><em class="property">enumerator </em><code class="sig-name descname">Direct3D9</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum9Direct3D9E" title="Permalink to this definition"></a><br /></dt>
<dd><p>Direct3D 9.0. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum10Direct3D11E">
<span id="_CPPv3N4bgfx12RendererType4Enum10Direct3D11E"></span><span id="_CPPv2N4bgfx12RendererType4Enum10Direct3D11E"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a779984af2d8f167e3d81197fe2339342"></span><em class="property">enumerator </em><code class="sig-name descname">Direct3D11</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum10Direct3D11E" title="Permalink to this definition"></a><br /></dt>
<dd><p>Direct3D 11.0. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum10Direct3D12E">
<span id="_CPPv3N4bgfx12RendererType4Enum10Direct3D12E"></span><span id="_CPPv2N4bgfx12RendererType4Enum10Direct3D12E"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a97ff664bd1c66a64c4bfcf2b1397a62c"></span><em class="property">enumerator </em><code class="sig-name descname">Direct3D12</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum10Direct3D12E" title="Permalink to this definition"></a><br /></dt>
<dd><p>Direct3D 12.0. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum3GnmE">
<span id="_CPPv3N4bgfx12RendererType4Enum3GnmE"></span><span id="_CPPv2N4bgfx12RendererType4Enum3GnmE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a960f8f39bfa96702800236af4add67b5"></span><em class="property">enumerator </em><code class="sig-name descname">Gnm</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum3GnmE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GNM. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum5MetalE">
<span id="_CPPv3N4bgfx12RendererType4Enum5MetalE"></span><span id="_CPPv2N4bgfx12RendererType4Enum5MetalE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aa079092a089171e407f97a7d07d63fa7"></span><em class="property">enumerator </em><code class="sig-name descname">Metal</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum5MetalE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Metal. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum3NvnE">
<span id="_CPPv3N4bgfx12RendererType4Enum3NvnE"></span><span id="_CPPv2N4bgfx12RendererType4Enum3NvnE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aeda3a8f82db963a0dae1d24987bb6b02"></span><em class="property">enumerator </em><code class="sig-name descname">Nvn</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum3NvnE" title="Permalink to this definition"></a><br /></dt>
<dd><p>NVN. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum8OpenGLESE">
<span id="_CPPv3N4bgfx12RendererType4Enum8OpenGLESE"></span><span id="_CPPv2N4bgfx12RendererType4Enum8OpenGLESE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32ab88722df715c016f46d3ee90d7a87be5"></span><em class="property">enumerator </em><code class="sig-name descname">OpenGLES</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum8OpenGLESE" title="Permalink to this definition"></a><br /></dt>
<dd><p>OpenGL ES 2.0+. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum6OpenGLE">
<span id="_CPPv3N4bgfx12RendererType4Enum6OpenGLE"></span><span id="_CPPv2N4bgfx12RendererType4Enum6OpenGLE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a484f42aff573002614c5a4ea7cf1a859"></span><em class="property">enumerator </em><code class="sig-name descname">OpenGL</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum6OpenGLE" title="Permalink to this definition"></a><br /></dt>
<dd><p>OpenGL 2.1+. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum6VulkanE">
<span id="_CPPv3N4bgfx12RendererType4Enum6VulkanE"></span><span id="_CPPv2N4bgfx12RendererType4Enum6VulkanE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a427ffdf300bed8d7951452ffb21a7638"></span><em class="property">enumerator </em><code class="sig-name descname">Vulkan</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum6VulkanE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vulkan. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum6WebGPUE">
<span id="_CPPv3N4bgfx12RendererType4Enum6WebGPUE"></span><span id="_CPPv2N4bgfx12RendererType4Enum6WebGPUE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a3f820d8a453e1521afc82ef494e9a977"></span><em class="property">enumerator </em><code class="sig-name descname">WebGPU</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum6WebGPUE" title="Permalink to this definition"></a><br /></dt>
<dd><p>WebGPU. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12RendererType4Enum5CountE">
<span id="_CPPv3N4bgfx12RendererType4Enum5CountE"></span><span id="_CPPv2N4bgfx12RendererType4Enum5CountE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aab03bfb685626b6697f1456fcc1ad3f5"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="capabilities">
<h4>Capabilities<a class="headerlink" href="#capabilities" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7getCapsEv">
<span id="_CPPv3N4bgfx7getCapsEv"></span><span id="_CPPv2N4bgfx7getCapsEv"></span><span id="bgfx::getCaps"></span><span class="target" id="namespacebgfx_1a6ff11d29a4f9646ee6e8ec07454fb2ea"></span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx4CapsE" title="bgfx::Caps">Caps</a> *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getCaps</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7getCapsEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns renderer capabilities. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Pointer to static <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_caps"><span class="std std-ref"><span class="pre">bgfx::Caps</span></span></a></code> structure.</p>
</dd>
<dt><strong>Remark</strong></dt><dd><p>Library must be initialized.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_caps</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx4CapsE">
<span id="_CPPv3N4bgfx4CapsE"></span><span id="_CPPv2N4bgfx4CapsE"></span><span id="bgfx::Caps"></span><span class="target" id="structbgfx_1_1_caps"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Caps</code><a class="headerlink" href="#_CPPv4N4bgfx4CapsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer capabilities. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_caps_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps12rendererTypeE">
<span id="_CPPv3N4bgfx4Caps12rendererTypeE"></span><span id="_CPPv2N4bgfx4Caps12rendererTypeE"></span><span id="bgfx::Caps::rendererType__RendererType::Enum"></span><span class="target" id="structbgfx_1_1_caps_1a68960bb9621a6e4b0cad7e0f326ab3fd"></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType">RendererType</a>::<a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum">Enum</a> <code class="sig-name descname">rendererType</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps12rendererTypeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer backend type. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_renderer_type"><span class="std std-ref"><span class="pre">bgfx::RendererType</span></span></a></code> </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps9supportedE">
<span id="_CPPv3N4bgfx4Caps9supportedE"></span><span id="_CPPv2N4bgfx4Caps9supportedE"></span><span id="bgfx::Caps::supported__uint64_t"></span><span class="target" id="structbgfx_1_1_caps_1a39b666b5fe440ad5e92748bb1fce60cf"></span>uint64_t <code class="sig-name descname">supported</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps9supportedE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Supported functionality. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>See <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_*</span></code> flags at <a class="reference external" href="https://bkaradzic.github.io/bgfx/bgfx.html#available-caps">https://bkaradzic.github.io/bgfx/bgfx.html#available-caps</a> </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps8vendorIdE">
<span id="_CPPv3N4bgfx4Caps8vendorIdE"></span><span id="_CPPv2N4bgfx4Caps8vendorIdE"></span><span id="bgfx::Caps::vendorId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1ac51fdd2bed74e1e71480409bd40bc4bc"></span>uint16_t <code class="sig-name descname">vendorId</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps8vendorIdE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Selected <a class="reference internal" href="#structbgfx_1_1_caps_1_1_g_p_u"><span class="std std-ref">GPU</span></a> vendor PCI id. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps8deviceIdE">
<span id="_CPPv3N4bgfx4Caps8deviceIdE"></span><span id="_CPPv2N4bgfx4Caps8deviceIdE"></span><span id="bgfx::Caps::deviceId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1a7c63448a97f4d09b275c353cdb295a8b"></span>uint16_t <code class="sig-name descname">deviceId</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps8deviceIdE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Selected <a class="reference internal" href="#structbgfx_1_1_caps_1_1_g_p_u"><span class="std std-ref">GPU</span></a> device id. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps16homogeneousDepthE">
<span id="_CPPv3N4bgfx4Caps16homogeneousDepthE"></span><span id="_CPPv2N4bgfx4Caps16homogeneousDepthE"></span><span id="bgfx::Caps::homogeneousDepth__b"></span><span class="target" id="structbgfx_1_1_caps_1af44dfe9ca7538e9e8cf6feecc37656f0"></span>bool <code class="sig-name descname">homogeneousDepth</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps16homogeneousDepthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>True when NDC depth is in [-1, 1] range, otherwise its [0, 1]. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps16originBottomLeftE">
<span id="_CPPv3N4bgfx4Caps16originBottomLeftE"></span><span id="_CPPv2N4bgfx4Caps16originBottomLeftE"></span><span id="bgfx::Caps::originBottomLeft__b"></span><span class="target" id="structbgfx_1_1_caps_1a1f64f782bd68dfc615a2571ca6e1cf72"></span>bool <code class="sig-name descname">originBottomLeft</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps16originBottomLeftE" title="Permalink to this definition"></a><br /></dt>
<dd><p>True when NDC origin is at bottom left. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps7numGPUsE">
<span id="_CPPv3N4bgfx4Caps7numGPUsE"></span><span id="_CPPv2N4bgfx4Caps7numGPUsE"></span><span id="bgfx::Caps::numGPUs__uint8_t"></span><span class="target" id="structbgfx_1_1_caps_1a4b1b11f121ff1ce7df944f4a5538406f"></span>uint8_t <code class="sig-name descname">numGPUs</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps7numGPUsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of enumerated GPUs. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps3gpuE">
<span id="_CPPv3N4bgfx4Caps3gpuE"></span><span id="_CPPv2N4bgfx4Caps3gpuE"></span><span id="bgfx::Caps::gpu__GPUA"></span><span class="target" id="structbgfx_1_1_caps_1ac57ba69338666cbb6b26b50df04d045a"></span><a class="reference internal" href="#_CPPv4N4bgfx4Caps3GPUE" title="bgfx::Caps::GPU">GPU</a> <code class="sig-name descname">gpu</code>[4]<a class="headerlink" href="#_CPPv4N4bgfx4Caps3gpuE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enumerated GPUs. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6limitsE">
<span id="_CPPv3N4bgfx4Caps6limitsE"></span><span id="_CPPv2N4bgfx4Caps6limitsE"></span><span id="bgfx::Caps::limits__Limits"></span><span class="target" id="structbgfx_1_1_caps_1aaee8d2d2fc101a36168af869644dcac3"></span><a class="reference internal" href="#_CPPv4N4bgfx4Caps6LimitsE" title="bgfx::Caps::Limits">Limits</a> <code class="sig-name descname">limits</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6limitsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer runtime limits. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps7formatsE">
<span id="_CPPv3N4bgfx4Caps7formatsE"></span><span id="_CPPv2N4bgfx4Caps7formatsE"></span><span id="bgfx::Caps::formats__uint16_tA"></span><span class="target" id="structbgfx_1_1_caps_1a9d3d8445e5c828669c924e6fa38e9389"></span>uint16_t <code class="sig-name descname">formats</code>[<code class="sig-name descname">Count</code>]<a class="headerlink" href="#_CPPv4N4bgfx4Caps7formatsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Supported texture format capabilities flags: </p>
<p><ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_NONE</span></code> - Texture format is not supported.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_2D</span></code> - Texture format is supported.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB</span></code> - Texture as sRGB format is supported.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_2D_EMULATED</span></code> - Texture format is emulated.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_3D</span></code> - Texture format is supported.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_3D_SRGB</span></code> - Texture as sRGB format is supported.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_3D_EMULATED</span></code> - Texture format is emulated.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_CUBE</span></code> - Texture format is supported.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_CUBE_SRGB</span></code> - Texture as sRGB format is supported.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_CUBE_EMULATED</span></code> - Texture format is emulated.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_VERTEX</span></code> - Texture format can be used from vertex shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_IMAGE_READ</span></code> - Texture format can be used as image and read from.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_IMAGE_WRITE</span></code> - Texture format can be used as image and written to.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER</span></code> - Texture format can be used as frame buffer.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER_MSAA</span></code> - Texture format can be used as MSAA frame buffer.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_MSAA</span></code> - Texture can be sampled as MSAA.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_MIP_AUTOGEN</span></code> - Texture format supports auto-generated mips. </p></li>
</ul>
</p>
</dd></dl>
</div>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx4Caps3GPUE">
<span id="_CPPv3N4bgfx4Caps3GPUE"></span><span id="_CPPv2N4bgfx4Caps3GPUE"></span><span id="bgfx::Caps::GPU"></span><span class="target" id="structbgfx_1_1_caps_1_1_g_p_u"></span><em class="property">struct </em><code class="sig-name descname">GPU</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps3GPUE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_caps_1_1_g_p_u"><span class="std std-ref">GPU</span></a> info. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_caps_gpu_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps3GPU8vendorIdE">
<span id="_CPPv3N4bgfx4Caps3GPU8vendorIdE"></span><span id="_CPPv2N4bgfx4Caps3GPU8vendorIdE"></span><span id="bgfx::Caps::GPU::vendorId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_g_p_u_1a77f4cadafbf81c74f4fb7111a2977f3b"></span>uint16_t <code class="sig-name descname">vendorId</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps3GPU8vendorIdE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vendor PCI id. See <code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_*</span></code>. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps3GPU8deviceIdE">
<span id="_CPPv3N4bgfx4Caps3GPU8deviceIdE"></span><span id="_CPPv2N4bgfx4Caps3GPU8deviceIdE"></span><span id="bgfx::Caps::GPU::deviceId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_g_p_u_1ade4c6123ad7964f039b5c5df9de7e6a8"></span>uint16_t <code class="sig-name descname">deviceId</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps3GPU8deviceIdE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Device id. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx4Caps6LimitsE">
<span id="_CPPv3N4bgfx4Caps6LimitsE"></span><span id="_CPPv2N4bgfx4Caps6LimitsE"></span><span id="bgfx::Caps::Limits"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits"></span><em class="property">struct </em><code class="sig-name descname">Limits</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6LimitsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer runtime limits. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_caps_limits_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits12maxDrawCallsE">
<span id="_CPPv3N4bgfx4Caps6Limits12maxDrawCallsE"></span><span id="_CPPv2N4bgfx4Caps6Limits12maxDrawCallsE"></span><span id="bgfx::Caps::Limits::maxDrawCalls__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ac324029c23579396238cca5af3027a64"></span>uint32_t <code class="sig-name descname">maxDrawCalls</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits12maxDrawCallsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of draw calls. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits8maxBlitsE">
<span id="_CPPv3N4bgfx4Caps6Limits8maxBlitsE"></span><span id="_CPPv2N4bgfx4Caps6Limits8maxBlitsE"></span><span id="bgfx::Caps::Limits::maxBlits__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a98c1429581326942d9d795b732f8d65b"></span>uint32_t <code class="sig-name descname">maxBlits</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits8maxBlitsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of blit calls. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits14maxTextureSizeE">
<span id="_CPPv3N4bgfx4Caps6Limits14maxTextureSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits14maxTextureSizeE"></span><span id="bgfx::Caps::Limits::maxTextureSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a0e2f1e34625efb46c2b27f080879885e"></span>uint32_t <code class="sig-name descname">maxTextureSize</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits14maxTextureSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum texture size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits16maxTextureLayersE">
<span id="_CPPv3N4bgfx4Caps6Limits16maxTextureLayersE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxTextureLayersE"></span><span id="bgfx::Caps::Limits::maxTextureLayers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a47505cd12a2fb1172768b4dfdda3b98c"></span>uint32_t <code class="sig-name descname">maxTextureLayers</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxTextureLayersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum texture layers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits8maxViewsE">
<span id="_CPPv3N4bgfx4Caps6Limits8maxViewsE"></span><span id="_CPPv2N4bgfx4Caps6Limits8maxViewsE"></span><span id="bgfx::Caps::Limits::maxViews__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ab498589784aa6b1cf5b746994634171d"></span>uint32_t <code class="sig-name descname">maxViews</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits8maxViewsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of views. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits15maxFrameBuffersE">
<span id="_CPPv3N4bgfx4Caps6Limits15maxFrameBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits15maxFrameBuffersE"></span><span id="bgfx::Caps::Limits::maxFrameBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a1af60c77dfe82892b03082c623069128"></span>uint32_t <code class="sig-name descname">maxFrameBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits15maxFrameBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of frame buffer handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits16maxFBAttachmentsE">
<span id="_CPPv3N4bgfx4Caps6Limits16maxFBAttachmentsE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxFBAttachmentsE"></span><span id="bgfx::Caps::Limits::maxFBAttachments__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af7cd37b90264f803a0cd32feb38eef15"></span>uint32_t <code class="sig-name descname">maxFBAttachments</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxFBAttachmentsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of frame buffer attachments. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits11maxProgramsE">
<span id="_CPPv3N4bgfx4Caps6Limits11maxProgramsE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxProgramsE"></span><span id="bgfx::Caps::Limits::maxPrograms__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af127d6a3eab65655bf39570ff4b11734"></span>uint32_t <code class="sig-name descname">maxPrograms</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxProgramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of program handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits10maxShadersE">
<span id="_CPPv3N4bgfx4Caps6Limits10maxShadersE"></span><span id="_CPPv2N4bgfx4Caps6Limits10maxShadersE"></span><span id="bgfx::Caps::Limits::maxShaders__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a53e281859a518d7791a8b1246209e1e9"></span>uint32_t <code class="sig-name descname">maxShaders</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits10maxShadersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of shader handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits11maxTexturesE">
<span id="_CPPv3N4bgfx4Caps6Limits11maxTexturesE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxTexturesE"></span><span id="bgfx::Caps::Limits::maxTextures__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a2bcb4e498ce04ceae93ef8a8b54f65f7"></span>uint32_t <code class="sig-name descname">maxTextures</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxTexturesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of texture handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits18maxTextureSamplersE">
<span id="_CPPv3N4bgfx4Caps6Limits18maxTextureSamplersE"></span><span id="_CPPv2N4bgfx4Caps6Limits18maxTextureSamplersE"></span><span id="bgfx::Caps::Limits::maxTextureSamplers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a7fcc0f7cfdb9557ae37e5bde1d1a2a1f"></span>uint32_t <code class="sig-name descname">maxTextureSamplers</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits18maxTextureSamplersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of texture samplers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits18maxComputeBindingsE">
<span id="_CPPv3N4bgfx4Caps6Limits18maxComputeBindingsE"></span><span id="_CPPv2N4bgfx4Caps6Limits18maxComputeBindingsE"></span><span id="bgfx::Caps::Limits::maxComputeBindings__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a2cf3ef61b8359023fd73ba6cd9f47a64"></span>uint32_t <code class="sig-name descname">maxComputeBindings</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits18maxComputeBindingsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of compute bindings. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits16maxVertexLayoutsE">
<span id="_CPPv3N4bgfx4Caps6Limits16maxVertexLayoutsE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxVertexLayoutsE"></span><span id="bgfx::Caps::Limits::maxVertexLayouts__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a05b8eea9730280adb764302e79c573aa"></span>uint32_t <code class="sig-name descname">maxVertexLayouts</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxVertexLayoutsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of vertex format layouts. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits16maxVertexStreamsE">
<span id="_CPPv3N4bgfx4Caps6Limits16maxVertexStreamsE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxVertexStreamsE"></span><span id="bgfx::Caps::Limits::maxVertexStreams__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ae3b60d96f126e89d57a177872f489527"></span>uint32_t <code class="sig-name descname">maxVertexStreams</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxVertexStreamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of vertex streams. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits15maxIndexBuffersE">
<span id="_CPPv3N4bgfx4Caps6Limits15maxIndexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits15maxIndexBuffersE"></span><span id="bgfx::Caps::Limits::maxIndexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a91d6bc8e86abd9eca8cc0fe303d3cf6c"></span>uint32_t <code class="sig-name descname">maxIndexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits15maxIndexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of index buffer handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits16maxVertexBuffersE">
<span id="_CPPv3N4bgfx4Caps6Limits16maxVertexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxVertexBuffersE"></span><span id="bgfx::Caps::Limits::maxVertexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af9f48ed16a60e74e3815daf6df3ed25f"></span>uint32_t <code class="sig-name descname">maxVertexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxVertexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of vertex buffer handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits22maxDynamicIndexBuffersE">
<span id="_CPPv3N4bgfx4Caps6Limits22maxDynamicIndexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits22maxDynamicIndexBuffersE"></span><span id="bgfx::Caps::Limits::maxDynamicIndexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ad64d97f5d9cb0fa5994148656eb2cbaa"></span>uint32_t <code class="sig-name descname">maxDynamicIndexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits22maxDynamicIndexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of dynamic index buffer handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits23maxDynamicVertexBuffersE">
<span id="_CPPv3N4bgfx4Caps6Limits23maxDynamicVertexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits23maxDynamicVertexBuffersE"></span><span id="bgfx::Caps::Limits::maxDynamicVertexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a1e5f37cc9f8e05729852ee2ae363d3c2"></span>uint32_t <code class="sig-name descname">maxDynamicVertexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits23maxDynamicVertexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of dynamic vertex buffer handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits11maxUniformsE">
<span id="_CPPv3N4bgfx4Caps6Limits11maxUniformsE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxUniformsE"></span><span id="bgfx::Caps::Limits::maxUniforms__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af9f56afc24d7287d577c948f8e848f06"></span>uint32_t <code class="sig-name descname">maxUniforms</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxUniformsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of uniform handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits19maxOcclusionQueriesE">
<span id="_CPPv3N4bgfx4Caps6Limits19maxOcclusionQueriesE"></span><span id="_CPPv2N4bgfx4Caps6Limits19maxOcclusionQueriesE"></span><span id="bgfx::Caps::Limits::maxOcclusionQueries__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a64c6f40f46021e9d5fbec9c27d3fbece"></span>uint32_t <code class="sig-name descname">maxOcclusionQueries</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits19maxOcclusionQueriesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of occlusion query handles. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits11maxEncodersE">
<span id="_CPPv3N4bgfx4Caps6Limits11maxEncodersE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxEncodersE"></span><span id="bgfx::Caps::Limits::maxEncoders__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ad8bf1308949450d13fc231179c0d8a2c"></span>uint32_t <code class="sig-name descname">maxEncoders</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxEncodersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum number of encoder threads. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits17minResourceCbSizeE">
<span id="_CPPv3N4bgfx4Caps6Limits17minResourceCbSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits17minResourceCbSizeE"></span><span id="bgfx::Caps::Limits::minResourceCbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ae667994a50bb11dc3da060ba9eee818f"></span>uint32_t <code class="sig-name descname">minResourceCbSize</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits17minResourceCbSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Minimum resource command buffer size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits15transientVbSizeE">
<span id="_CPPv3N4bgfx4Caps6Limits15transientVbSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits15transientVbSizeE"></span><span id="bgfx::Caps::Limits::transientVbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a7612ba54b79f902dcfb278bab1027cdc"></span>uint32_t <code class="sig-name descname">transientVbSize</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits15transientVbSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum transient vertex buffer size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx4Caps6Limits15transientIbSizeE">
<span id="_CPPv3N4bgfx4Caps6Limits15transientIbSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits15transientIbSizeE"></span><span id="bgfx::Caps::Limits::transientIbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a4e604a96366723416a4b19dc4b2d93e9"></span>uint32_t <code class="sig-name descname">transientIbSize</code><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits15transientIbSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum transient index buffer size. </p>
</dd></dl>
</div>
</dd></dl>
</dd></dl>
<div class="section" id="available-caps">
<h5>Available Caps<a class="headerlink" href="#available-caps" title="Permalink to this headline"></a></h5>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_ALPHA_TO_COVERAGE">
<span class="target" id="defines_8h_1abd908a660ce2ecb66ac53f2fede98451"></span><code class="sig-name descname">BGFX_CAPS_ALPHA_TO_COVERAGE</code><a class="headerlink" href="#c.BGFX_CAPS_ALPHA_TO_COVERAGE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Alpha to coverage is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_BLEND_INDEPENDENT">
<span class="target" id="defines_8h_1ac50a011626842799ca8e2041a4760e9f"></span><code class="sig-name descname">BGFX_CAPS_BLEND_INDEPENDENT</code><a class="headerlink" href="#c.BGFX_CAPS_BLEND_INDEPENDENT" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blend independent is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_COMPUTE">
<span class="target" id="defines_8h_1ae843b1802f7876c50ffbd3c5def8a1b4"></span><code class="sig-name descname">BGFX_CAPS_COMPUTE</code><a class="headerlink" href="#c.BGFX_CAPS_COMPUTE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Compute shaders are supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_CONSERVATIVE_RASTER">
<span class="target" id="defines_8h_1a01ba705fe5d7a67c47d2a6bd8ace6869"></span><code class="sig-name descname">BGFX_CAPS_CONSERVATIVE_RASTER</code><a class="headerlink" href="#c.BGFX_CAPS_CONSERVATIVE_RASTER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Conservative rasterization is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_DRAW_INDIRECT">
<span class="target" id="defines_8h_1aa82d6cbe876706321923461ff8973679"></span><code class="sig-name descname">BGFX_CAPS_DRAW_INDIRECT</code><a class="headerlink" href="#c.BGFX_CAPS_DRAW_INDIRECT" title="Permalink to this definition"></a><br /></dt>
<dd><p>Draw indirect is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_FRAGMENT_DEPTH">
<span class="target" id="defines_8h_1ad6427441adff7f8672d4f90eaa40698d"></span><code class="sig-name descname">BGFX_CAPS_FRAGMENT_DEPTH</code><a class="headerlink" href="#c.BGFX_CAPS_FRAGMENT_DEPTH" title="Permalink to this definition"></a><br /></dt>
<dd><p>Fragment depth is available in fragment shader. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_FRAGMENT_ORDERING">
<span class="target" id="defines_8h_1ae63f3a67435d3ab926ef8d7fd19ffe07"></span><code class="sig-name descname">BGFX_CAPS_FRAGMENT_ORDERING</code><a class="headerlink" href="#c.BGFX_CAPS_FRAGMENT_ORDERING" title="Permalink to this definition"></a><br /></dt>
<dd><p>Fragment ordering is available in fragment shader. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_GRAPHICS_DEBUGGER">
<span class="target" id="defines_8h_1a09ab03b89a07295a645d15cc4ac1580d"></span><code class="sig-name descname">BGFX_CAPS_GRAPHICS_DEBUGGER</code><a class="headerlink" href="#c.BGFX_CAPS_GRAPHICS_DEBUGGER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Graphics debugger is present. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_HDR10">
<span class="target" id="defines_8h_1af5cd44ec5f5eec4e8479d54bb9a9497e"></span><code class="sig-name descname">BGFX_CAPS_HDR10</code><a class="headerlink" href="#c.BGFX_CAPS_HDR10" title="Permalink to this definition"></a><br /></dt>
<dd><p>HDR10 rendering is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_HIDPI">
<span class="target" id="defines_8h_1a917840ff950077d8f5964028e5854b42"></span><code class="sig-name descname">BGFX_CAPS_HIDPI</code><a class="headerlink" href="#c.BGFX_CAPS_HIDPI" title="Permalink to this definition"></a><br /></dt>
<dd><p>HiDPI rendering is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_IMAGE_RW">
<span class="target" id="defines_8h_1adac8ada97eb107696b9aa3d287c4ddba"></span><code class="sig-name descname">BGFX_CAPS_IMAGE_RW</code><a class="headerlink" href="#c.BGFX_CAPS_IMAGE_RW" title="Permalink to this definition"></a><br /></dt>
<dd><p>Image Read/Write is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_INDEX32">
<span class="target" id="defines_8h_1ab334337b725ebcfa588afc00ab838e77"></span><code class="sig-name descname">BGFX_CAPS_INDEX32</code><a class="headerlink" href="#c.BGFX_CAPS_INDEX32" title="Permalink to this definition"></a><br /></dt>
<dd><p>32-bit indices are supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_INSTANCING">
<span class="target" id="defines_8h_1a8fa31bcef4c9038b65a7e6e198792e04"></span><code class="sig-name descname">BGFX_CAPS_INSTANCING</code><a class="headerlink" href="#c.BGFX_CAPS_INSTANCING" title="Permalink to this definition"></a><br /></dt>
<dd><p>Instancing is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_OCCLUSION_QUERY">
<span class="target" id="defines_8h_1a35626a97a17fc3e2f3b712a8221c38bf"></span><code class="sig-name descname">BGFX_CAPS_OCCLUSION_QUERY</code><a class="headerlink" href="#c.BGFX_CAPS_OCCLUSION_QUERY" title="Permalink to this definition"></a><br /></dt>
<dd><p>Occlusion query is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_RENDERER_MULTITHREADED">
<span class="target" id="defines_8h_1a7a915158233262d1e3efe18a12b4c3a6"></span><code class="sig-name descname">BGFX_CAPS_RENDERER_MULTITHREADED</code><a class="headerlink" href="#c.BGFX_CAPS_RENDERER_MULTITHREADED" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer is on separate thread. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_SWAP_CHAIN">
<span class="target" id="defines_8h_1afda15c358cd389b8ba58a31bf4406c75"></span><code class="sig-name descname">BGFX_CAPS_SWAP_CHAIN</code><a class="headerlink" href="#c.BGFX_CAPS_SWAP_CHAIN" title="Permalink to this definition"></a><br /></dt>
<dd><p>Multiple windows are supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_2D_ARRAY">
<span class="target" id="defines_8h_1a5722ea49376c1f384e7d542d94454c8e"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_2D_ARRAY</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_2D_ARRAY" title="Permalink to this definition"></a><br /></dt>
<dd><p>2D texture array is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_3D">
<span class="target" id="defines_8h_1ad5f6d21a544dec64de111514b463566b"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_3D</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_3D" title="Permalink to this definition"></a><br /></dt>
<dd><p>3D textures are supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_BLIT">
<span class="target" id="defines_8h_1a7ddb9c7ef30ca6c8b68b686b5122123f"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_BLIT</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_BLIT" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture blit is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_COMPARE_ALL">
<span class="target" id="defines_8h_1a9ebaab5c7f3b4b3289bb6b6b7bae9511"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_COMPARE_ALL</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_COMPARE_ALL" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_COMPARE_LEQUAL">
<span class="target" id="defines_8h_1a1316712571960b2e3c9daf12723041d7"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_COMPARE_LEQUAL</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_COMPARE_LEQUAL" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture compare less equal mode is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_CUBE_ARRAY">
<span class="target" id="defines_8h_1acf8f4db9728d92d43e352ae6abb4eb33"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_CUBE_ARRAY</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_CUBE_ARRAY" title="Permalink to this definition"></a><br /></dt>
<dd><p>Cubemap texture array is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_DIRECT_ACCESS">
<span class="target" id="defines_8h_1a45a99a879cc6d2da668682b435523a52"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_DIRECT_ACCESS</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_DIRECT_ACCESS" title="Permalink to this definition"></a><br /></dt>
<dd><p>CPU direct access to GPU texture memory. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_TEXTURE_READ_BACK">
<span class="target" id="defines_8h_1ac2cd9bdd84fdce3e55b3054413094f0d"></span><code class="sig-name descname">BGFX_CAPS_TEXTURE_READ_BACK</code><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_READ_BACK" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read-back texture is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_VERTEX_ATTRIB_HALF">
<span class="target" id="defines_8h_1ac7de569a09f05f83052c6b77c99db7fc"></span><code class="sig-name descname">BGFX_CAPS_VERTEX_ATTRIB_HALF</code><a class="headerlink" href="#c.BGFX_CAPS_VERTEX_ATTRIB_HALF" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex attribute half-float is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_VERTEX_ATTRIB_UINT10">
<span class="target" id="defines_8h_1a3f092ea38f4d3c1d46eda38393c88be6"></span><code class="sig-name descname">BGFX_CAPS_VERTEX_ATTRIB_UINT10</code><a class="headerlink" href="#c.BGFX_CAPS_VERTEX_ATTRIB_UINT10" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex attribute 10_10_10_2 is supported. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_CAPS_VERTEX_ID">
<span class="target" id="defines_8h_1a63af3c34318335de4b4fa64af87dcc5c"></span><code class="sig-name descname">BGFX_CAPS_VERTEX_ID</code><a class="headerlink" href="#c.BGFX_CAPS_VERTEX_ID" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rendering with VertexID only is supported. </p>
</dd></dl>
</div>
</div>
<div class="section" id="statistics">
<h4>Statistics<a class="headerlink" href="#statistics" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx8getStatsEv">
<span id="_CPPv3N4bgfx8getStatsEv"></span><span id="_CPPv2N4bgfx8getStatsEv"></span><span id="bgfx::getStats"></span><span class="target" id="namespacebgfx_1a404b74593c7c8fd8e591703ec7e8bd4e"></span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx5StatsE" title="bgfx::Stats">Stats</a> *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getStats</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8getStatsEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns performance counters. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Pointer returned is valid until <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is called. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_stats</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx5StatsE">
<span id="_CPPv3N4bgfx5StatsE"></span><span id="_CPPv2N4bgfx5StatsE"></span><span id="bgfx::Stats"></span><span class="target" id="structbgfx_1_1_stats"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Stats</code><a class="headerlink" href="#_CPPv4N4bgfx5StatsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer statistics data. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_stats_t</span></code>.</p>
</dd>
<dt><strong>Remark</strong></dt><dd><p>All time values are high-resolution timestamps, while time frequencies define timestamps-per-second for that hardware. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12cpuTimeFrameE">
<span id="_CPPv3N4bgfx5Stats12cpuTimeFrameE"></span><span id="_CPPv2N4bgfx5Stats12cpuTimeFrameE"></span><span id="bgfx::Stats::cpuTimeFrame__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a8d65ca9e1dcc56a9d2ac505abfa678f9"></span>int64_t <code class="sig-name descname">cpuTimeFrame</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12cpuTimeFrameE" title="Permalink to this definition"></a><br /></dt>
<dd><p>CPU time between two <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> calls. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12cpuTimeBeginE">
<span id="_CPPv3N4bgfx5Stats12cpuTimeBeginE"></span><span id="_CPPv2N4bgfx5Stats12cpuTimeBeginE"></span><span id="bgfx::Stats::cpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1acefc6f6fb9aca5e607a46119162d8a81"></span>int64_t <code class="sig-name descname">cpuTimeBegin</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12cpuTimeBeginE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Render thread CPU submit begin time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats10cpuTimeEndE">
<span id="_CPPv3N4bgfx5Stats10cpuTimeEndE"></span><span id="_CPPv2N4bgfx5Stats10cpuTimeEndE"></span><span id="bgfx::Stats::cpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1ab5275e59d5ebe68200fd3b63ed59cbd2"></span>int64_t <code class="sig-name descname">cpuTimeEnd</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats10cpuTimeEndE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Render thread CPU submit end time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12cpuTimerFreqE">
<span id="_CPPv3N4bgfx5Stats12cpuTimerFreqE"></span><span id="_CPPv2N4bgfx5Stats12cpuTimerFreqE"></span><span id="bgfx::Stats::cpuTimerFreq__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a0ca3b1b43511aa10c9f2ff0f30680ef0"></span>int64_t <code class="sig-name descname">cpuTimerFreq</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12cpuTimerFreqE" title="Permalink to this definition"></a><br /></dt>
<dd><p>CPU timer frequency. Timestamps-per-second. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12gpuTimeBeginE">
<span id="_CPPv3N4bgfx5Stats12gpuTimeBeginE"></span><span id="_CPPv2N4bgfx5Stats12gpuTimeBeginE"></span><span id="bgfx::Stats::gpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a8748ff45b30e72fc6103ceb80b5642b0"></span>int64_t <code class="sig-name descname">gpuTimeBegin</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12gpuTimeBeginE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GPU frame begin time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats10gpuTimeEndE">
<span id="_CPPv3N4bgfx5Stats10gpuTimeEndE"></span><span id="_CPPv2N4bgfx5Stats10gpuTimeEndE"></span><span id="bgfx::Stats::gpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a0588c269d4eefdef1dbe31d3be4c211b"></span>int64_t <code class="sig-name descname">gpuTimeEnd</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats10gpuTimeEndE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GPU frame end time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12gpuTimerFreqE">
<span id="_CPPv3N4bgfx5Stats12gpuTimerFreqE"></span><span id="_CPPv2N4bgfx5Stats12gpuTimerFreqE"></span><span id="bgfx::Stats::gpuTimerFreq__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a98cdb3d5fd558bb7482e01b28ae5751c"></span>int64_t <code class="sig-name descname">gpuTimerFreq</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12gpuTimerFreqE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GPU timer frequency. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats10waitRenderE">
<span id="_CPPv3N4bgfx5Stats10waitRenderE"></span><span id="_CPPv2N4bgfx5Stats10waitRenderE"></span><span id="bgfx::Stats::waitRender__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1abaa38e7ef0d66619d8e5ffe451ed82e2"></span>int64_t <code class="sig-name descname">waitRender</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats10waitRenderE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Time spent waiting for render backend thread to finish issuing draw commands to underlying graphics API. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats10waitSubmitE">
<span id="_CPPv3N4bgfx5Stats10waitSubmitE"></span><span id="_CPPv2N4bgfx5Stats10waitSubmitE"></span><span id="bgfx::Stats::waitSubmit__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a189339cefe5bbaecc1e894584ab6a7d2"></span>int64_t <code class="sig-name descname">waitSubmit</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats10waitSubmitE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Time spent waiting for submit thread to advance to next frame. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats7numDrawE">
<span id="_CPPv3N4bgfx5Stats7numDrawE"></span><span id="_CPPv2N4bgfx5Stats7numDrawE"></span><span id="bgfx::Stats::numDraw__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1aa46abb090da88e02c64abb90c3679d73"></span>uint32_t <code class="sig-name descname">numDraw</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats7numDrawE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of draw calls submitted. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats10numComputeE">
<span id="_CPPv3N4bgfx5Stats10numComputeE"></span><span id="_CPPv2N4bgfx5Stats10numComputeE"></span><span id="bgfx::Stats::numCompute__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1ae9366cfaad6f24d4ab620b3570282c12"></span>uint32_t <code class="sig-name descname">numCompute</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats10numComputeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of compute calls submitted. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats7numBlitE">
<span id="_CPPv3N4bgfx5Stats7numBlitE"></span><span id="_CPPv2N4bgfx5Stats7numBlitE"></span><span id="bgfx::Stats::numBlit__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1a1bc357a640fe58924ad4df927642a451"></span>uint32_t <code class="sig-name descname">numBlit</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats7numBlitE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of blit calls submitted. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats13maxGpuLatencyE">
<span id="_CPPv3N4bgfx5Stats13maxGpuLatencyE"></span><span id="_CPPv2N4bgfx5Stats13maxGpuLatencyE"></span><span id="bgfx::Stats::maxGpuLatency__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1a009e15fb4e8339ed5259d6451d180de5"></span>uint32_t <code class="sig-name descname">maxGpuLatency</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats13maxGpuLatencyE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GPU driver latency. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats22numDynamicIndexBuffersE">
<span id="_CPPv3N4bgfx5Stats22numDynamicIndexBuffersE"></span><span id="_CPPv2N4bgfx5Stats22numDynamicIndexBuffersE"></span><span id="bgfx::Stats::numDynamicIndexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a51aa716928eefd8e704174a738bc2bb6"></span>uint16_t <code class="sig-name descname">numDynamicIndexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats22numDynamicIndexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used dynamic index buffers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats23numDynamicVertexBuffersE">
<span id="_CPPv3N4bgfx5Stats23numDynamicVertexBuffersE"></span><span id="_CPPv2N4bgfx5Stats23numDynamicVertexBuffersE"></span><span id="bgfx::Stats::numDynamicVertexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1ac5d3971e81b0bb79363057e7843d5d00"></span>uint16_t <code class="sig-name descname">numDynamicVertexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats23numDynamicVertexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used dynamic vertex buffers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats15numFrameBuffersE">
<span id="_CPPv3N4bgfx5Stats15numFrameBuffersE"></span><span id="_CPPv2N4bgfx5Stats15numFrameBuffersE"></span><span id="bgfx::Stats::numFrameBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a0aa0e072934671693e948c314f10dab8"></span>uint16_t <code class="sig-name descname">numFrameBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats15numFrameBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used frame buffers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats15numIndexBuffersE">
<span id="_CPPv3N4bgfx5Stats15numIndexBuffersE"></span><span id="_CPPv2N4bgfx5Stats15numIndexBuffersE"></span><span id="bgfx::Stats::numIndexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1ab907700c895ce393d92b823bbcfb127b"></span>uint16_t <code class="sig-name descname">numIndexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats15numIndexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used index buffers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats19numOcclusionQueriesE">
<span id="_CPPv3N4bgfx5Stats19numOcclusionQueriesE"></span><span id="_CPPv2N4bgfx5Stats19numOcclusionQueriesE"></span><span id="bgfx::Stats::numOcclusionQueries__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1aadda2cb25489ee00cf3b4c9446d96a4f"></span>uint16_t <code class="sig-name descname">numOcclusionQueries</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats19numOcclusionQueriesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used occlusion queries. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats11numProgramsE">
<span id="_CPPv3N4bgfx5Stats11numProgramsE"></span><span id="_CPPv2N4bgfx5Stats11numProgramsE"></span><span id="bgfx::Stats::numPrograms__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1af72f976cf678edcebb5fa02f1b880ad7"></span>uint16_t <code class="sig-name descname">numPrograms</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numProgramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used programs. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats10numShadersE">
<span id="_CPPv3N4bgfx5Stats10numShadersE"></span><span id="_CPPv2N4bgfx5Stats10numShadersE"></span><span id="bgfx::Stats::numShaders__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a3a9ca7307a29b18d10bb772b3c8d93e8"></span>uint16_t <code class="sig-name descname">numShaders</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats10numShadersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used shaders. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats11numTexturesE">
<span id="_CPPv3N4bgfx5Stats11numTexturesE"></span><span id="_CPPv2N4bgfx5Stats11numTexturesE"></span><span id="bgfx::Stats::numTextures__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a3806f1bcd00b04c4aa662ae8d3c2fcd0"></span>uint16_t <code class="sig-name descname">numTextures</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numTexturesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used textures. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats11numUniformsE">
<span id="_CPPv3N4bgfx5Stats11numUniformsE"></span><span id="_CPPv2N4bgfx5Stats11numUniformsE"></span><span id="bgfx::Stats::numUniforms__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a5d2f024b98e4a839f156b18ea21309c7"></span>uint16_t <code class="sig-name descname">numUniforms</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numUniformsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used uniforms. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats16numVertexBuffersE">
<span id="_CPPv3N4bgfx5Stats16numVertexBuffersE"></span><span id="_CPPv2N4bgfx5Stats16numVertexBuffersE"></span><span id="bgfx::Stats::numVertexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a262791d85d8b8f67cb395d5e472849ed"></span>uint16_t <code class="sig-name descname">numVertexBuffers</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats16numVertexBuffersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used vertex buffers. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats16numVertexLayoutsE">
<span id="_CPPv3N4bgfx5Stats16numVertexLayoutsE"></span><span id="_CPPv2N4bgfx5Stats16numVertexLayoutsE"></span><span id="bgfx::Stats::numVertexLayouts__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a826f33c143660a937fb16282cc18368c"></span>uint16_t <code class="sig-name descname">numVertexLayouts</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats16numVertexLayoutsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of used vertex layouts. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats17textureMemoryUsedE">
<span id="_CPPv3N4bgfx5Stats17textureMemoryUsedE"></span><span id="_CPPv2N4bgfx5Stats17textureMemoryUsedE"></span><span id="bgfx::Stats::textureMemoryUsed__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1ad209161ed6b9f04105ab55c535e4f4ee"></span>int64_t <code class="sig-name descname">textureMemoryUsed</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats17textureMemoryUsedE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Estimate of texture memory used. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12rtMemoryUsedE">
<span id="_CPPv3N4bgfx5Stats12rtMemoryUsedE"></span><span id="_CPPv2N4bgfx5Stats12rtMemoryUsedE"></span><span id="bgfx::Stats::rtMemoryUsed__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a532fd0f54fd15377cf24309a2ebbd95b"></span>int64_t <code class="sig-name descname">rtMemoryUsed</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12rtMemoryUsedE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Estimate of render target memory used. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats15transientVbUsedE">
<span id="_CPPv3N4bgfx5Stats15transientVbUsedE"></span><span id="_CPPv2N4bgfx5Stats15transientVbUsedE"></span><span id="bgfx::Stats::transientVbUsed__int32_t"></span><span class="target" id="structbgfx_1_1_stats_1af15ba5ebef38a16382762ed84748bc34"></span>int32_t <code class="sig-name descname">transientVbUsed</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats15transientVbUsedE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Amount of transient vertex buffer used. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats15transientIbUsedE">
<span id="_CPPv3N4bgfx5Stats15transientIbUsedE"></span><span id="_CPPv2N4bgfx5Stats15transientIbUsedE"></span><span id="bgfx::Stats::transientIbUsed__int32_t"></span><span class="target" id="structbgfx_1_1_stats_1a57989ed31ef534e59a884c2f39cfdb3f"></span>int32_t <code class="sig-name descname">transientIbUsed</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats15transientIbUsedE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Amount of transient index buffer used. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats8numPrimsE">
<span id="_CPPv3N4bgfx5Stats8numPrimsE"></span><span id="_CPPv2N4bgfx5Stats8numPrimsE"></span><span id="bgfx::Stats::numPrims__uint32_tA"></span><span class="target" id="structbgfx_1_1_stats_1a35ef32f727dd0e81350209549d51cb9d"></span>uint32_t <code class="sig-name descname">numPrims</code>[<code class="sig-name descname">Count</code>]<a class="headerlink" href="#_CPPv4N4bgfx5Stats8numPrimsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of primitives rendered. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12gpuMemoryMaxE">
<span id="_CPPv3N4bgfx5Stats12gpuMemoryMaxE"></span><span id="_CPPv2N4bgfx5Stats12gpuMemoryMaxE"></span><span id="bgfx::Stats::gpuMemoryMax__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1afe5fd057109b00d5a4f760a034c59c8b"></span>int64_t <code class="sig-name descname">gpuMemoryMax</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12gpuMemoryMaxE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Maximum available GPU memory for application. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats13gpuMemoryUsedE">
<span id="_CPPv3N4bgfx5Stats13gpuMemoryUsedE"></span><span id="_CPPv2N4bgfx5Stats13gpuMemoryUsedE"></span><span id="bgfx::Stats::gpuMemoryUsed__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1aa936cf20a5da4419936958f67a594bc1"></span>int64_t <code class="sig-name descname">gpuMemoryUsed</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats13gpuMemoryUsedE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Amount of GPU memory used by the application. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats5widthE">
<span id="_CPPv3N4bgfx5Stats5widthE"></span><span id="_CPPv2N4bgfx5Stats5widthE"></span><span id="bgfx::Stats::width__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a8a225ad7ff3fad833cd7fb783550d4f3"></span>uint16_t <code class="sig-name descname">width</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats5widthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer width in pixels. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats6heightE">
<span id="_CPPv3N4bgfx5Stats6heightE"></span><span id="_CPPv2N4bgfx5Stats6heightE"></span><span id="bgfx::Stats::height__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a1c9c3e5debe856f2e01ba3c723205af7"></span>uint16_t <code class="sig-name descname">height</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats6heightE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer height in pixels. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats9textWidthE">
<span id="_CPPv3N4bgfx5Stats9textWidthE"></span><span id="_CPPv2N4bgfx5Stats9textWidthE"></span><span id="bgfx::Stats::textWidth__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a9a3861eb31ab778df13b8f164af35bac"></span>uint16_t <code class="sig-name descname">textWidth</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats9textWidthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Debug text width in characters. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats10textHeightE">
<span id="_CPPv3N4bgfx5Stats10textHeightE"></span><span id="_CPPv2N4bgfx5Stats10textHeightE"></span><span id="bgfx::Stats::textHeight__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1abc8a033f303af8fbcfeb7d242dcc56ee"></span>uint16_t <code class="sig-name descname">textHeight</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats10textHeightE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Debug text height in characters. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats8numViewsE">
<span id="_CPPv3N4bgfx5Stats8numViewsE"></span><span id="_CPPv2N4bgfx5Stats8numViewsE"></span><span id="bgfx::Stats::numViews__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1ab9ecae87a64e8f540219bec6f2b17f08"></span>uint16_t <code class="sig-name descname">numViews</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats8numViewsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of view stats. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats9viewStatsE">
<span id="_CPPv3N4bgfx5Stats9viewStatsE"></span><span id="_CPPv2N4bgfx5Stats9viewStatsE"></span><span id="bgfx::Stats::viewStats__ViewStatsP"></span><span class="target" id="structbgfx_1_1_stats_1ae16496ef386b462267436e1bbd3d5f72"></span><a class="reference internal" href="#_CPPv4N4bgfx9ViewStatsE" title="bgfx::ViewStats">ViewStats</a> *<code class="sig-name descname">viewStats</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats9viewStatsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Array of View stats. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats11numEncodersE">
<span id="_CPPv3N4bgfx5Stats11numEncodersE"></span><span id="_CPPv2N4bgfx5Stats11numEncodersE"></span><span id="bgfx::Stats::numEncoders__uint8_t"></span><span class="target" id="structbgfx_1_1_stats_1a36cd71d8c46eeb0efd677e0783a5f126"></span>uint8_t <code class="sig-name descname">numEncoders</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numEncodersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of encoders used during frame. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx5Stats12encoderStatsE">
<span id="_CPPv3N4bgfx5Stats12encoderStatsE"></span><span id="_CPPv2N4bgfx5Stats12encoderStatsE"></span><span id="bgfx::Stats::encoderStats__EncoderStatsP"></span><span class="target" id="structbgfx_1_1_stats_1abf32715c9e2f41f01545fa0f0f5dd821"></span><a class="reference internal" href="#_CPPv4N4bgfx12EncoderStatsE" title="bgfx::EncoderStats">EncoderStats</a> *<code class="sig-name descname">encoderStats</code><a class="headerlink" href="#_CPPv4N4bgfx5Stats12encoderStatsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Array of encoder stats. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx9ViewStatsE">
<span id="_CPPv3N4bgfx9ViewStatsE"></span><span id="_CPPv2N4bgfx9ViewStatsE"></span><span id="bgfx::ViewStats"></span><span class="target" id="structbgfx_1_1_view_stats"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">ViewStats</code><a class="headerlink" href="#_CPPv4N4bgfx9ViewStatsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>View stats. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_view_stats_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx9ViewStats4nameE">
<span id="_CPPv3N4bgfx9ViewStats4nameE"></span><span id="_CPPv2N4bgfx9ViewStats4nameE"></span><span id="bgfx::ViewStats::name__cA"></span><span class="target" id="structbgfx_1_1_view_stats_1a8c2383b3c9757cfc5fabf62e28ad5bea"></span>char <code class="sig-name descname">name</code>[256]<a class="headerlink" href="#_CPPv4N4bgfx9ViewStats4nameE" title="Permalink to this definition"></a><br /></dt>
<dd><p>View name. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx9ViewStats4viewE">
<span id="_CPPv3N4bgfx9ViewStats4viewE"></span><span id="_CPPv2N4bgfx9ViewStats4viewE"></span><span id="bgfx::ViewStats::view__ViewId"></span><span class="target" id="structbgfx_1_1_view_stats_1aa66982ced24c30af890b6ef7dcdb8b96"></span>ViewId <code class="sig-name descname">view</code><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats4viewE" title="Permalink to this definition"></a><br /></dt>
<dd><p>View id. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx9ViewStats12cpuTimeBeginE">
<span id="_CPPv3N4bgfx9ViewStats12cpuTimeBeginE"></span><span id="_CPPv2N4bgfx9ViewStats12cpuTimeBeginE"></span><span id="bgfx::ViewStats::cpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1ab3ffb807195481c2d4f98dc86d882f12"></span>int64_t <code class="sig-name descname">cpuTimeBegin</code><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats12cpuTimeBeginE" title="Permalink to this definition"></a><br /></dt>
<dd><p>CPU (submit) begin time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx9ViewStats10cpuTimeEndE">
<span id="_CPPv3N4bgfx9ViewStats10cpuTimeEndE"></span><span id="_CPPv2N4bgfx9ViewStats10cpuTimeEndE"></span><span id="bgfx::ViewStats::cpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1a35146f6d98dad9ed16cf91a2b5616a62"></span>int64_t <code class="sig-name descname">cpuTimeEnd</code><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats10cpuTimeEndE" title="Permalink to this definition"></a><br /></dt>
<dd><p>CPU (submit) end time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx9ViewStats12gpuTimeBeginE">
<span id="_CPPv3N4bgfx9ViewStats12gpuTimeBeginE"></span><span id="_CPPv2N4bgfx9ViewStats12gpuTimeBeginE"></span><span id="bgfx::ViewStats::gpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1a89f01d24a100e29374147bd41cdcee41"></span>int64_t <code class="sig-name descname">gpuTimeBegin</code><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats12gpuTimeBeginE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GPU begin time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx9ViewStats10gpuTimeEndE">
<span id="_CPPv3N4bgfx9ViewStats10gpuTimeEndE"></span><span id="_CPPv2N4bgfx9ViewStats10gpuTimeEndE"></span><span id="bgfx::ViewStats::gpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1abd2a8e720d73f8a3a1947c0f3981d03e"></span>int64_t <code class="sig-name descname">gpuTimeEnd</code><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats10gpuTimeEndE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GPU end time. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx12EncoderStatsE">
<span id="_CPPv3N4bgfx12EncoderStatsE"></span><span id="_CPPv2N4bgfx12EncoderStatsE"></span><span id="bgfx::EncoderStats"></span><span class="target" id="structbgfx_1_1_encoder_stats"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">EncoderStats</code><a class="headerlink" href="#_CPPv4N4bgfx12EncoderStatsE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_encoder"><span class="std std-ref">Encoder</span></a> stats. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_stats_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12EncoderStats12cpuTimeBeginE">
<span id="_CPPv3N4bgfx12EncoderStats12cpuTimeBeginE"></span><span id="_CPPv2N4bgfx12EncoderStats12cpuTimeBeginE"></span><span id="bgfx::EncoderStats::cpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_encoder_stats_1a2bd30a1424393fb1aa91ad0e9bc9d97b"></span>int64_t <code class="sig-name descname">cpuTimeBegin</code><a class="headerlink" href="#_CPPv4N4bgfx12EncoderStats12cpuTimeBeginE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_encoder"><span class="std std-ref">Encoder</span></a> thread CPU submit begin time. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12EncoderStats10cpuTimeEndE">
<span id="_CPPv3N4bgfx12EncoderStats10cpuTimeEndE"></span><span id="_CPPv2N4bgfx12EncoderStats10cpuTimeEndE"></span><span id="bgfx::EncoderStats::cpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_encoder_stats_1a543bd134253fe768a5165b361ab8cfa1"></span>int64_t <code class="sig-name descname">cpuTimeEnd</code><a class="headerlink" href="#_CPPv4N4bgfx12EncoderStats10cpuTimeEndE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_encoder"><span class="std std-ref">Encoder</span></a> thread CPU submit end time. </p>
</dd></dl>
</div>
</dd></dl>
</div>
</div>
<div class="section" id="platform-specific">
<h3>Platform specific<a class="headerlink" href="#platform-specific" title="Permalink to this headline"></a></h3>
<p>These are platform specific APIs.
It is only necessary to use these APIs in conjunction with creating windows.</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx11renderFrameE7int32_t">
<span id="_CPPv3N4bgfx11renderFrameE7int32_t"></span><span id="_CPPv2N4bgfx11renderFrameE7int32_t"></span><span id="bgfx::renderFrame__int32_t"></span><span class="target" id="namespacebgfx_1aa21b96113ad74bf31dd3d417ac5b3e52"></span><a class="reference internal" href="#_CPPv4N4bgfx11RenderFrameE" title="bgfx::RenderFrame">RenderFrame</a>::Enum <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">renderFrame</code><span class="sig-paren">(</span>int32_t <em>_msecs</em> = -1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11renderFrameE7int32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Render frame. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Current renderer state. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_render_frame"><span class="std std-ref"><span class="pre">bgfx::RenderFrame</span></span></a></code>.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p><code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aa21b96113ad74bf31dd3d417ac5b3e52"><span class="std std-ref"><span class="pre">bgfx::renderFrame</span></span></a></code> is blocking call. It waits for <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> to be called from API thread to process frame. If timeout value is passed call will timeout and return even if <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is not called.</p>
</dd>
<dt><strong>Warning</strong></dt><dd><p>This call should be only used on platforms that dont allow creating separate rendering thread. If it is called before to <a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref">bgfx::init</span></a>, render thread wont be created by <a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref">bgfx::init</span></a> call.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_render_frame</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">_msecs</span></code>: Timeout in milliseconds.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx11RenderFrameE">
<span id="_CPPv3N4bgfx11RenderFrameE"></span><span id="_CPPv2N4bgfx11RenderFrameE"></span><span id="bgfx::RenderFrame"></span><span class="target" id="structbgfx_1_1_render_frame"></span><em class="property">struct </em><code class="sig-name descname">RenderFrame</code><a class="headerlink" href="#_CPPv4N4bgfx11RenderFrameE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Render frame enum. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_render_frame_t</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setPlatformDataERK12PlatformData">
<span id="_CPPv3N4bgfx15setPlatformDataERK12PlatformData"></span><span id="_CPPv2N4bgfx15setPlatformDataERK12PlatformData"></span><span id="bgfx::setPlatformData__PlatformDataCR"></span><span class="target" id="namespacebgfx_1a9f0a19eba5fb95835c7f53d5f2b129b3"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setPlatformData</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12PlatformDataE" title="bgfx::PlatformData">PlatformData</a> &amp;<em>_data</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPlatformDataERK12PlatformData" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set platform data. </p>
<p><dl class="simple">
<dt><strong>Warning</strong></dt><dd><p>Must be called before <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref"><span class="pre">bgfx::init</span></span></a></code>.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_platform_data</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx12PlatformDataE">
<span id="_CPPv3N4bgfx12PlatformDataE"></span><span id="_CPPv2N4bgfx12PlatformDataE"></span><span id="bgfx::PlatformData"></span><span class="target" id="structbgfx_1_1_platform_data"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">PlatformData</code><a class="headerlink" href="#_CPPv4N4bgfx12PlatformDataE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Platform data. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_platform_data_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12PlatformData3ndtE">
<span id="_CPPv3N4bgfx12PlatformData3ndtE"></span><span id="_CPPv2N4bgfx12PlatformData3ndtE"></span><span id="bgfx::PlatformData::ndt__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1a4d7268028c9e8626ac3627f36e6331af"></span>void *<code class="sig-name descname">ndt</code><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData3ndtE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Native display type (*nix specific). </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12PlatformData3nwhE">
<span id="_CPPv3N4bgfx12PlatformData3nwhE"></span><span id="_CPPv2N4bgfx12PlatformData3nwhE"></span><span id="bgfx::PlatformData::nwh__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1a1469498f2e4159ab742666b46aaa38b7"></span>void *<code class="sig-name descname">nwh</code><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData3nwhE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Native window handle. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code>, bgfx will create a headless context/device, provided the rendering API supports it. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12PlatformData7contextE">
<span id="_CPPv3N4bgfx12PlatformData7contextE"></span><span id="_CPPv2N4bgfx12PlatformData7contextE"></span><span id="bgfx::PlatformData::context__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1a8ebc31e06aae3ee5a7d18e3cac0adf9b"></span>void *<code class="sig-name descname">context</code><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData7contextE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GL context, D3D device, or Vulkan device. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code>, bgfx will create context/device. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12PlatformData10backBufferE">
<span id="_CPPv3N4bgfx12PlatformData10backBufferE"></span><span id="_CPPv2N4bgfx12PlatformData10backBufferE"></span><span id="bgfx::PlatformData::backBuffer__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1afe014138f2108ace1a4f72aaad1b0d4f"></span>void *<code class="sig-name descname">backBuffer</code><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData10backBufferE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GL back-buffer, or D3D render target view. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code> bgfx will create back-buffer color surface. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12PlatformData12backBufferDSE">
<span id="_CPPv3N4bgfx12PlatformData12backBufferDSE"></span><span id="_CPPv2N4bgfx12PlatformData12backBufferDSE"></span><span id="bgfx::PlatformData::backBufferDS__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1ae1dce3718ab484415ac7b8377aec5dab"></span>void *<code class="sig-name descname">backBufferDS</code><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData12backBufferDSE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Backbuffer depth/stencil. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code>, bgfx will create a back-buffer depth/stencil surface. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15getInternalDataEv">
<span id="_CPPv3N4bgfx15getInternalDataEv"></span><span id="_CPPv2N4bgfx15getInternalDataEv"></span><span id="bgfx::getInternalData"></span><span class="target" id="namespacebgfx_1ab9a78921e4ee1ce8b06287cfc7062a7b"></span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12InternalDataE" title="bgfx::InternalData">InternalData</a> *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getInternalData</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15getInternalDataEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Get internal data for interop. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Its expected you understand some bgfx internals before you use this call.</p>
</dd>
<dt><strong>Warning</strong></dt><dd><p>Must be called only on render thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_internal_data</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx12InternalDataE">
<span id="_CPPv3N4bgfx12InternalDataE"></span><span id="_CPPv2N4bgfx12InternalDataE"></span><span id="bgfx::InternalData"></span><span class="target" id="structbgfx_1_1_internal_data"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">InternalData</code><a class="headerlink" href="#_CPPv4N4bgfx12InternalDataE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Internal data. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_internal_data_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12InternalData4capsE">
<span id="_CPPv3N4bgfx12InternalData4capsE"></span><span id="_CPPv2N4bgfx12InternalData4capsE"></span><span id="bgfx::InternalData::caps__CapsCP"></span><span class="target" id="structbgfx_1_1_internal_data_1ad0e12d34b057c2cf2b7d73ccb3d51a80"></span><em class="property">const</em> <em class="property">struct</em> <a class="reference internal" href="#_CPPv4N4bgfx4CapsE" title="bgfx::Caps">Caps</a> *<code class="sig-name descname">caps</code><a class="headerlink" href="#_CPPv4N4bgfx12InternalData4capsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Renderer capabilities. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12InternalData7contextE">
<span id="_CPPv3N4bgfx12InternalData7contextE"></span><span id="_CPPv2N4bgfx12InternalData7contextE"></span><span id="bgfx::InternalData::context__voidP"></span><span class="target" id="structbgfx_1_1_internal_data_1a9d5f68c848da64f6aa35335bfb1ef762"></span>void *<code class="sig-name descname">context</code><a class="headerlink" href="#_CPPv4N4bgfx12InternalData7contextE" title="Permalink to this definition"></a><br /></dt>
<dd><p>GL context, or D3D device. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx16overrideInternalE13TextureHandle9uintptr_t">
<span id="_CPPv3N4bgfx16overrideInternalE13TextureHandle9uintptr_t"></span><span id="_CPPv2N4bgfx16overrideInternalE13TextureHandle9uintptr_t"></span><span id="bgfx::overrideInternal__TextureHandle.uintptr_t"></span><span class="target" id="namespacebgfx_1a92db2a02970fc179f13be201098dd589"></span>uintptr_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">overrideInternal</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, uintptr_t <em>_ptr</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16overrideInternalE13TextureHandle9uintptr_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Override internal texture with externally created texture. Previously created internal texture will released. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Its expected you understand some bgfx internals before you use this call.</p>
</dd>
<dt><strong>Return</strong></dt><dd><p>Native API pointer to texture. If result is 0, texture is not created yet from the main thread.</p>
</dd>
<dt><strong>Warning</strong></dt><dd><p>Must be called only on render thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_override_internal_texture_ptr</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_ptr</span></code>: Native API pointer to texture.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t">
<span id="_CPPv3N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::overrideInternal__TextureHandle.uint16_t.uint16_t.uint8_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a0eec7cfc413525e405a4c35e1c5fe2ce"></span>uintptr_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">overrideInternal</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em>, uint8_t <em>_numMips</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_flags</em> = BGFX_TEXTURE_NONE | BGFX_SAMPLER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Override internal texture by creating new texture. Previously created internal texture will released. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Its expected you understand some bgfx internals before you use this call.</p>
</dd>
<dt><strong>Return</strong></dt><dd><p>Native API pointer to texture. If result is 0, texture is not created yet from the main thread.</p>
</dd>
<dt><strong>Warning</strong></dt><dd><p>Must be called only on render thread.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_override_internal_texture</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numMips</span></code>: Number of mip-maps. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="miscellaneous">
<h3>Miscellaneous<a class="headerlink" href="#miscellaneous" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx10vertexPackEAL4E_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t">
<span id="_CPPv3N4bgfx10vertexPackEAL4E_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t"></span><span id="_CPPv2N4bgfx10vertexPackEA4_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t"></span><span id="bgfx::vertexPack__floatCA.b.Attrib::Enum.VertexLayoutCR.voidP.uint32_t"></span><span class="target" id="namespacebgfx_1a45c78405bcdbb9ec0855b51f83922997"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">vertexPack</code><span class="sig-paren">(</span><em class="property">const</em> float <em>_input</em>[4], bool <em>_inputNormalized</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib">Attrib</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum">Enum</a> <em>_attr</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em>, void *<em>_data</em>, uint32_t <em>_index</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10vertexPackEAL4E_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Pack vertex attribute into vertex stream format. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_pack</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_input</span></code>: Value to be packed into vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_inputNormalized</span></code>: True if input value is already normalized. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attr</span></code>: Attribute to pack. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex stream layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Destination vertex stream where data will be packed. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index</span></code>: Vertex index that will be modified.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12vertexUnpackEAL4E_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t">
<span id="_CPPv3N4bgfx12vertexUnpackEAL4E_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t"></span><span id="_CPPv2N4bgfx12vertexUnpackEA4_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t"></span><span id="bgfx::vertexUnpack__floatA.Attrib::Enum.VertexLayoutCR.voidCP.uint32_t"></span><span class="target" id="namespacebgfx_1ad1d9ef5b4925631e82d9f060f41b9091"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">vertexUnpack</code><span class="sig-paren">(</span>float <em>_output</em>[4], <a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib">Attrib</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum">Enum</a> <em>_attr</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em>, <em class="property">const</em> void *<em>_data</em>, uint32_t <em>_index</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12vertexUnpackEAL4E_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Unpack vertex attribute from vertex stream format. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_unpack</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_output</span></code>: Result of unpacking. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attr</span></code>: Attribute to unpack. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex stream layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Source vertex stream from where data will be unpacked. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index</span></code>: Vertex index that will be unpacked.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t">
<span id="_CPPv3N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t"></span><span id="_CPPv2N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t"></span><span id="bgfx::vertexConvert__VertexLayoutCR.voidP.VertexLayoutCR.voidCP.uint32_t"></span><span class="target" id="namespacebgfx_1a567e9112ee1919c7d9e2eda3902d2727"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">vertexConvert</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_destLayout</em>, void *<em>_destData</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_srcLayout</em>, <em class="property">const</em> void *<em>_srcData</em>, uint32_t <em>_num</em> = 1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Converts vertex stream data from one vertex stream format to another. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_convert</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_destLayout</span></code>: Destination vertex stream layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_destData</span></code>: Destination vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcLayout</span></code>: Source vertex stream layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcData</span></code>: Source vertex stream data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of vertices to convert from source to destination.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf">
<span id="_CPPv3N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf"></span><span id="_CPPv2N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf"></span><span id="bgfx::weldVertices__voidP.VertexLayoutCR.voidCP.uint32_t.b.float"></span><span class="target" id="namespacebgfx_1a9242a9ab0e66291a8952ec3222519bce"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">weldVertices</code><span class="sig-paren">(</span>void *<em>_output</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em>, <em class="property">const</em> void *<em>_data</em>, uint32_t <em>_num</em>, bool <em>_index32</em>, float <em>_epsilon</em> = 0.001f<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf" title="Permalink to this definition"></a><br /></dt>
<dd><p>Weld vertices. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Number of unique vertices after vertex welding.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_weld_vertices</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_output</span></code>: Welded vertices remapping table. The size of buffer must be the same as number of vertices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex stream layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of vertices in vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index32</span></code>: Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices are 32-bit. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_epsilon</span></code>: Error tolerance for vertex position comparison. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx15TopologyConvertE">
<span id="_CPPv3N4bgfx15TopologyConvertE"></span><span id="_CPPv2N4bgfx15TopologyConvertE"></span><span id="bgfx::TopologyConvert"></span><span class="target" id="structbgfx_1_1_topology_convert"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">TopologyConvert</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvertE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Topology conversion function. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_convert_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx15TopologyConvert4EnumE">
<span id="_CPPv3N4bgfx15TopologyConvert4EnumE"></span><span id="_CPPv2N4bgfx15TopologyConvert4EnumE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Topology conversion functions: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx15TopologyConvert4Enum18TriListFlipWindingE">
<span id="_CPPv3N4bgfx15TopologyConvert4Enum18TriListFlipWindingE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum18TriListFlipWindingE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153af2abfef860edaf36065da1623f581d8a"></span><em class="property">enumerator </em><code class="sig-name descname">TriListFlipWinding</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum18TriListFlipWindingE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Flip winding order of triangle list. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE">
<span id="_CPPv3N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153ab15cde16196aa72a0fe0bad4f389669d"></span><em class="property">enumerator </em><code class="sig-name descname">TriStripFlipWinding</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Flip winding order of trinagle strip. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx15TopologyConvert4Enum17TriListToLineListE">
<span id="_CPPv3N4bgfx15TopologyConvert4Enum17TriListToLineListE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum17TriListToLineListE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a0cf4dc87b95b89d5633e151a286aaeb1"></span><em class="property">enumerator </em><code class="sig-name descname">TriListToLineList</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum17TriListToLineListE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Convert triangle list to line list. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx15TopologyConvert4Enum17TriStripToTriListE">
<span id="_CPPv3N4bgfx15TopologyConvert4Enum17TriStripToTriListE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum17TriStripToTriListE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a85625c725665071c56f097237a5d3d24"></span><em class="property">enumerator </em><code class="sig-name descname">TriStripToTriList</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum17TriStripToTriListE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Convert triangle strip to triangle list. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx15TopologyConvert4Enum19LineStripToLineListE">
<span id="_CPPv3N4bgfx15TopologyConvert4Enum19LineStripToLineListE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum19LineStripToLineListE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a769b8c438cb40e80f4cafa654dc91c82"></span><em class="property">enumerator </em><code class="sig-name descname">LineStripToLineList</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum19LineStripToLineListE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Convert line strip to line list. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx15TopologyConvert4Enum5CountE">
<span id="_CPPv3N4bgfx15TopologyConvert4Enum5CountE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum5CountE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a6e2c38c108d7e6d9c8468bc33c13203d"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb">
<span id="_CPPv3N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb"></span><span id="_CPPv2N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb"></span><span id="bgfx::topologyConvert__TopologyConvert::Enum.voidP.uint32_t.voidCP.uint32_t.b"></span><span class="target" id="namespacebgfx_1a4faf0379f4f649826fa82616a84a4b13"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">topologyConvert</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx15TopologyConvertE" title="bgfx::TopologyConvert">TopologyConvert</a>::<a class="reference internal" href="#_CPPv4N4bgfx15TopologyConvert4EnumE" title="bgfx::TopologyConvert::Enum">Enum</a> <em>_conversion</em>, void *<em>_dst</em>, uint32_t <em>_dstSize</em>, <em class="property">const</em> void *<em>_indices</em>, uint32_t <em>_numIndices</em>, bool <em>_index32</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Convert index buffer for use with different primitive topologies. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Number of output indices after conversion.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_convert</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_conversion</span></code>: Conversion type, see <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153"><span class="std std-ref"><span class="pre">TopologyConvert::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dst</span></code>: Destination index buffer. If this argument is NULL function will return number of indices after conversion. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstSize</span></code>: Destination index buffer in bytes. It must be large enough to contain output indices. If destination size is insufficient index buffer will be truncated. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_indices</span></code>: Source indices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of input indices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index32</span></code>: Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices are 32-bit.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx12TopologySortE">
<span id="_CPPv3N4bgfx12TopologySortE"></span><span id="_CPPv2N4bgfx12TopologySortE"></span><span id="bgfx::TopologySort"></span><span class="target" id="structbgfx_1_1_topology_sort"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">TopologySort</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySortE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Topology sort order. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_sort_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx12TopologySort4EnumE">
<span id="_CPPv3N4bgfx12TopologySort4EnumE"></span><span id="_CPPv2N4bgfx12TopologySort4EnumE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Topology sort order: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE">
<span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a9f867f8e9b573e9ed8beae01282ee39b"></span><em class="property">enumerator </em><code class="sig-name descname">DirectionFrontToBackMin</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE">
<span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1ac03583c71a152650400eab4eca63df2c"></span><em class="property">enumerator </em><code class="sig-name descname">DirectionFrontToBackAvg</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE">
<span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1af5703228e2266d9a8d499bfe0aafecee"></span><em class="property">enumerator </em><code class="sig-name descname">DirectionFrontToBackMax</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE">
<span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a5f27bd27ae8dc25200e8f626c727e92d"></span><em class="property">enumerator </em><code class="sig-name descname">DirectionBackToFrontMin</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE">
<span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a9e62475043c1158962cec9aa56c31447"></span><em class="property">enumerator </em><code class="sig-name descname">DirectionBackToFrontAvg</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE">
<span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1acb9116e807b838f449db00449c4d1cbd"></span><em class="property">enumerator </em><code class="sig-name descname">DirectionBackToFrontMax</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE">
<span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a757e30b6ef8ace5e308a9b6b3368fc68"></span><em class="property">enumerator </em><code class="sig-name descname">DistanceFrontToBackMin</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE">
<span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1aaab1225281f707f4036ba88fc0066a22"></span><em class="property">enumerator </em><code class="sig-name descname">DistanceFrontToBackAvg</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE">
<span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a5c2f181aa35fd8ba9bdb0b0e637beaf1"></span><em class="property">enumerator </em><code class="sig-name descname">DistanceFrontToBackMax</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE">
<span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1af56dda1e9beba76ddd5419e25b87a0f0"></span><em class="property">enumerator </em><code class="sig-name descname">DistanceBackToFrontMin</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE">
<span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1af8535c276d3b2fb92f55c46625142fe8"></span><em class="property">enumerator </em><code class="sig-name descname">DistanceBackToFrontAvg</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE">
<span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1ae7af947893a64ae25f2c5308d768e84d"></span><em class="property">enumerator </em><code class="sig-name descname">DistanceBackToFrontMax</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx12TopologySort4Enum5CountE">
<span id="_CPPv3N4bgfx12TopologySort4Enum5CountE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum5CountE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a112dbbc1ca07323eba9eb361cd1b603e"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tAL3E_KfAL3E_KfPKv8uint32_tPKv8uint32_tb">
<span id="_CPPv3N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tAL3E_KfAL3E_KfPKv8uint32_tPKv8uint32_tb"></span><span id="_CPPv2N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tA3_KfA3_KfPKv8uint32_tPKv8uint32_tb"></span><span id="bgfx::topologySortTriList__TopologySort::Enum.voidP.uint32_t.floatCA.floatCA.voidCP.uint32_t.voidCP.uint32_t.b"></span><span class="target" id="namespacebgfx_1af481c92a166263933b649eced719228d"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">topologySortTriList</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx12TopologySortE" title="bgfx::TopologySort">TopologySort</a>::<a class="reference internal" href="#_CPPv4N4bgfx12TopologySort4EnumE" title="bgfx::TopologySort::Enum">Enum</a> <em>_sort</em>, void *<em>_dst</em>, uint32_t <em>_dstSize</em>, <em class="property">const</em> float <em>_dir</em>[3], <em class="property">const</em> float <em>_pos</em>[3], <em class="property">const</em> void *<em>_vertices</em>, uint32_t <em>_stride</em>, <em class="property">const</em> void *<em>_indices</em>, uint32_t <em>_numIndices</em>, bool <em>_index32</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tAL3E_KfAL3E_KfPKv8uint32_tPKv8uint32_tb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Sort indices. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_sort_tri_list</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_sort</span></code>: Sort order, see <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1"><span class="std std-ref"><span class="pre">TopologySort::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dst</span></code>: Destination index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstSize</span></code>: Destination index buffer in bytes. It must be large enough to contain output indices. If destination size is insufficient index buffer will be truncated. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dir</span></code>: Direction (vector must be normalized). </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_pos</span></code>: Position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_vertices</span></code>: Pointer to first vertex represented as float x, y, z. Must contain at least number of vertices referencende by index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stride</span></code>: Vertex stride. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_indices</span></code>: Source indices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of input indices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index32</span></code>: Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices are 32-bit.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7discardE7uint8_t">
<span id="_CPPv3N4bgfx7discardE7uint8_t"></span><span id="_CPPv2N4bgfx7discardE7uint8_t"></span><span id="bgfx::discard__uint8_t"></span><span class="target" id="namespacebgfx_1aa0ab8d198672917b2f7e92c39589ea57"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">discard</code><span class="sig-paren">(</span>uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7discardE7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Discard all previously set state for draw or compute call. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_discard</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Draw/compute states to discard.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx5touchE6ViewId">
<span id="_CPPv3N4bgfx5touchE6ViewId"></span><span id="_CPPv2N4bgfx5touchE6ViewId"></span><span id="bgfx::touch__ViewId"></span><span class="target" id="namespacebgfx_1aff2b109acf8d4f26daf0c494938837e3"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">touch</code><span class="sig-paren">(</span>ViewId <em>_id</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5touchE6ViewId" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit an empty primitive for rendering. Uniforms and draw state will be applied but no geometry will be submitted. </p>
<p>These empty draw calls will sort before ordinary draw calls.</p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_touch</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setPaletteColorE7uint8_t8uint32_t">
<span id="_CPPv3N4bgfx15setPaletteColorE7uint8_t8uint32_t"></span><span id="_CPPv2N4bgfx15setPaletteColorE7uint8_t8uint32_t"></span><span id="bgfx::setPaletteColor__uint8_t.uint32_t"></span><span class="target" id="namespacebgfx_1ad4ec3f3f2af1b2d69ec0eeefe960c2f0"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setPaletteColor</code><span class="sig-paren">(</span>uint8_t <em>_index</em>, uint32_t <em>_rgba</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set palette color value. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_palette_color</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index</span></code>: Index into palette. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_rgba</span></code>: Packed 32-bit RGBA value.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setPaletteColorE7uint8_tAL4E_Kf">
<span id="_CPPv3N4bgfx15setPaletteColorE7uint8_tAL4E_Kf"></span><span id="_CPPv2N4bgfx15setPaletteColorE7uint8_tA4_Kf"></span><span id="bgfx::setPaletteColor__uint8_t.floatCA"></span><span class="target" id="namespacebgfx_1acd59d0793b3776296a4867ab73338177"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setPaletteColor</code><span class="sig-paren">(</span>uint8_t <em>_index</em>, <em class="property">const</em> float <em>_rgba</em>[4]<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_tAL4E_Kf" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set palette color value. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_palette_color</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index</span></code>: Index into palette. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_rgba</span></code>: RGBA floating point value.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setPaletteColorE7uint8_tffff">
<span id="_CPPv3N4bgfx15setPaletteColorE7uint8_tffff"></span><span id="_CPPv2N4bgfx15setPaletteColorE7uint8_tffff"></span><span id="bgfx::setPaletteColor__uint8_t.float.float.float.float"></span><span class="target" id="namespacebgfx_1a5484a3d28fd5570f6c5920bc584f5fd6"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setPaletteColor</code><span class="sig-paren">(</span>uint8_t <em>_index</em>, float <em>_r</em>, float <em>_g</em>, float <em>_b</em>, float <em>_a</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_tffff" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set palette color value. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_palette_color</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index</span></code>: Index into palette. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_r</span><span class="pre">[in]</span> <span class="pre">_g</span><span class="pre">[in]</span> <span class="pre">_b</span><span class="pre">[in]</span> <span class="pre">_a</span></code>: RGBA floating point values.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17requestScreenShotE17FrameBufferHandlePKc">
<span id="_CPPv3N4bgfx17requestScreenShotE17FrameBufferHandlePKc"></span><span id="_CPPv2N4bgfx17requestScreenShotE17FrameBufferHandlePKc"></span><span id="bgfx::requestScreenShot__FrameBufferHandle.cCP"></span><span class="target" id="namespacebgfx_1acbe6cfb0c11285b9f4a4969d1e3a71d6"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">requestScreenShot</code><span class="sig-paren">(</span>FrameBufferHandle <em>_handle</em>, <em class="property">const</em> char *<em>_filePath</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17requestScreenShotE17FrameBufferHandlePKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Request screen shot of window back buffer. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p><code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i_1a44d38debc9d86b9815d55058afc762c6"><span class="std std-ref"><span class="pre">bgfx::CallbackI::screenShot</span></span></a></code> must be implemented.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Frame buffer handle must be created with OS target native window handle. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_request_screen_shot</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Frame buffer handle. If handle is <code class="docutils literal notranslate"><span class="pre">BGFX_INVALID_HANDLE</span></code> request will be made for main window back buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_filePath</span></code>: Will be passed to <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i_1a44d38debc9d86b9815d55058afc762c6"><span class="std std-ref"><span class="pre">bgfx::CallbackI::screenShot</span></span></a></code> callback.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</div>
<div class="section" id="views">
<h2>Views<a class="headerlink" href="#views" title="Permalink to this headline"></a></h2>
<p>Views are the primary sorting mechanism in bgfx.
They represent buckets of draw and compute calls, or what are often known as passes.</p>
<p>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 <cite>bgfx::setViewMode</cite>.
Sequential order is less efficient, because it doesnt allow state change optimization, and should be avoided when possible.</p>
<p>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 <cite>bgfx::setViewOrder</cite>.</p>
<p>A Views state is preserved between frames.</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx11setViewNameE6ViewIdPKc">
<span id="_CPPv3N4bgfx11setViewNameE6ViewIdPKc"></span><span id="_CPPv2N4bgfx11setViewNameE6ViewIdPKc"></span><span id="bgfx::setViewName__ViewId.cCP"></span><span class="target" id="namespacebgfx_1af08d8fae9b2a2ceff9debcf25c0966fb"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewName</code><span class="sig-paren">(</span>ViewId <em>_id</em>, <em class="property">const</em> char *<em>_name</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewNameE6ViewIdPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view name. </p>
<p><p>In graphics debugger view name will appear as: </p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="s2">&quot;nnnce &lt;view name&gt;&quot;</span>
<span class="o">^</span> <span class="o">^^</span> <span class="o">^</span>
<span class="o">|</span> <span class="o">|+--</span> <span class="n">eye</span> <span class="p">(</span><span class="n">L</span><span class="o">/</span><span class="n">R</span><span class="p">)</span>
<span class="o">|</span> <span class="o">+---</span> <span class="n">compute</span> <span class="p">(</span><span class="n">C</span><span class="p">)</span>
<span class="o">+------</span> <span class="n">view</span> <span class="nb">id</span>
</pre></div>
</div>
<dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>This is debug only feature.</p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: View name.</p></li>
</ul>
</dd>
</dl>
</p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_name</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::setViewRect__ViewId.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a3359fac48262c25cc7bebed179c0e0b0"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewRect</code><span class="sig-paren">(</span>ViewId <em>_id</em>, uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view rectangle. Draw primitive outside view will be clipped. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_rect</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: Position x from the left corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Position y from the top corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of view port region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of view port region.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE">
<span id="_CPPv3N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE"></span><span id="_CPPv2N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE"></span><span id="bgfx::setViewRect__ViewId.uint16_t.uint16_t.BackbufferRatio::Enum"></span><span class="target" id="namespacebgfx_1a97266f78aaaea47de5245eae918e49f8"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewRect</code><span class="sig-paren">(</span>ViewId <em>_id</em>, uint16_t <em>_x</em>, uint16_t <em>_y</em>, BackbufferRatio::Enum <em>_ratio</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view rectangle. Draw primitive outside view will be clipped. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_rect_ratio</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: Position x from the left corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Position y from the top corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_ratio</span></code>: Width and height will be set in respect to back-buffer size. See: <code class="docutils literal notranslate"><span class="pre">BackbufferRatio::Enum</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::setViewScissor__ViewId.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a4c5184c35ba92387e4609f4919a35e05"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewScissor</code><span class="sig-paren">(</span>ViewId <em>_id</em>, uint16_t <em>_x</em> = 0, uint16_t <em>_y</em> = 0, uint16_t <em>_width</em> = 0, uint16_t <em>_height</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view scissor. Draw primitive outside view will be clipped. When _x, _y, _width and _height are set to 0, scissor will be disabled. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_scissor</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: Position x from the left corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Position y from the top corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of scissor region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of scissor region.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t">
<span id="_CPPv3N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t"></span><span id="_CPPv2N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t"></span><span id="bgfx::setViewClear__ViewId.uint16_t.uint32_t.float.uint8_t"></span><span class="target" id="namespacebgfx_1aadac86f70437f5cf694b68e223520316"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewClear</code><span class="sig-paren">(</span>ViewId <em>_id</em>, uint16_t <em>_flags</em>, uint32_t <em>_rgba</em> = 0x000000ff, float <em>_depth</em> = 1.0f, uint8_t <em>_stencil</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view clear flags. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_clear</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Clear flags. Use <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_NONE</span></code> to remove any clear operation. See: <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_*</span></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_rgba</span></code>: Color clear value. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth clear value. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stencil</span></code>: Stencil clear value.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t">
<span id="_CPPv3N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t"></span><span id="_CPPv2N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t"></span><span id="bgfx::setViewClear__ViewId.uint16_t.float.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t"></span><span class="target" id="namespacebgfx_1abf98809ca6f644a2e2fe80013675b054"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewClear</code><span class="sig-paren">(</span>ViewId <em>_id</em>, uint16_t <em>_flags</em>, float <em>_depth</em>, uint8_t <em>_stencil</em>, uint8_t <em>_0</em> = UINT8_MAX, uint8_t <em>_1</em> = UINT8_MAX, uint8_t <em>_2</em> = UINT8_MAX, uint8_t <em>_3</em> = UINT8_MAX, uint8_t <em>_4</em> = UINT8_MAX, uint8_t <em>_5</em> = UINT8_MAX, uint8_t <em>_6</em> = UINT8_MAX, uint8_t <em>_7</em> = UINT8_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view clear flags with different clear color for each frame buffer texture. <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1ad4ec3f3f2af1b2d69ec0eeefe960c2f0"><span class="std std-ref"><span class="pre">bgfx::setPaletteColor</span></span></a></code> must be used to set up a clear color palette. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_clear_mrt</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Clear flags. Use <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_NONE</span></code> to remove any clear operation. See: <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_*</span></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth clear value. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stencil</span></code>: Stencil clear value. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_0</span></code>: Palette index for frame buffer attachment 0. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_1</span></code>: Palette index for frame buffer attachment 1. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_2</span></code>: Palette index for frame buffer attachment 2. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_3</span></code>: Palette index for frame buffer attachment 3. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_4</span></code>: Palette index for frame buffer attachment 4. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_5</span></code>: Palette index for frame buffer attachment 5. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_6</span></code>: Palette index for frame buffer attachment 6. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_7</span></code>: Palette index for frame buffer attachment 7.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx8ViewModeE">
<span id="_CPPv3N4bgfx8ViewModeE"></span><span id="_CPPv2N4bgfx8ViewModeE"></span><span id="bgfx::ViewMode"></span><span class="target" id="structbgfx_1_1_view_mode"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">ViewMode</code><a class="headerlink" href="#_CPPv4N4bgfx8ViewModeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>View mode sets draw call sort order. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_view_mode_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx8ViewMode4EnumE">
<span id="_CPPv3N4bgfx8ViewMode4EnumE"></span><span id="_CPPv2N4bgfx8ViewMode4EnumE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aa"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>View modes: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx8ViewMode4Enum7DefaultE">
<span id="_CPPv3N4bgfx8ViewMode4Enum7DefaultE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum7DefaultE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaacc189b62f09dcf003826e409009ec906"></span><em class="property">enumerator </em><code class="sig-name descname">Default</code><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum7DefaultE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Default sort order. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx8ViewMode4Enum10SequentialE">
<span id="_CPPv3N4bgfx8ViewMode4Enum10SequentialE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum10SequentialE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaa8f3111e262d32c305a93b447fd7326d3"></span><em class="property">enumerator </em><code class="sig-name descname">Sequential</code><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum10SequentialE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Sort in the same order in which submit calls were called. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx8ViewMode4Enum14DepthAscendingE">
<span id="_CPPv3N4bgfx8ViewMode4Enum14DepthAscendingE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum14DepthAscendingE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaa6700d02ac6b36c9e1874bfd4462780db"></span><em class="property">enumerator </em><code class="sig-name descname">DepthAscending</code><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum14DepthAscendingE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Sort draw call depth in ascending order. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx8ViewMode4Enum15DepthDescendingE">
<span id="_CPPv3N4bgfx8ViewMode4Enum15DepthDescendingE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum15DepthDescendingE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaae89536701b2d0a969706fac6c2017db1"></span><em class="property">enumerator </em><code class="sig-name descname">DepthDescending</code><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum15DepthDescendingE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Sort draw call depth in descending order. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx8ViewMode4Enum5CountE">
<span id="_CPPv3N4bgfx8ViewMode4Enum5CountE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum5CountE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaafbbc12d1b61d713f30a996bc296bda11"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE">
<span id="_CPPv3N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE"></span><span id="_CPPv2N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE"></span><span id="bgfx::setViewMode__ViewId.ViewMode::Enum"></span><span class="target" id="namespacebgfx_1ac351af2c0188891568b9c5ec09122d9b"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewMode</code><span class="sig-paren">(</span>ViewId <em>_id</em>, <a class="reference internal" href="#_CPPv4N4bgfx8ViewModeE" title="bgfx::ViewMode">ViewMode</a>::<a class="reference internal" href="#_CPPv4N4bgfx8ViewMode4EnumE" title="bgfx::ViewMode::Enum">Enum</a> <em>_mode</em> = <a class="reference internal" href="#_CPPv4N4bgfx8ViewModeE" title="bgfx::ViewMode">ViewMode</a>::<a class="reference internal" href="#_CPPv4N4bgfx8ViewMode4Enum7DefaultE" title="bgfx::ViewMode::Default">Default</a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view sorting mode. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>View mode must be set prior calling <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aac8f69b1ff11ad6c8a95db9f9e46d019"><span class="std std-ref"><span class="pre">bgfx::submit</span></span></a></code> for the view.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_mode</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mode</span></code>: View sort mode. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aa"><span class="std std-ref"><span class="pre">ViewMode::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle">
<span id="_CPPv3N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle"></span><span id="_CPPv2N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle"></span><span id="bgfx::setViewFrameBuffer__ViewId.FrameBufferHandle"></span><span class="target" id="namespacebgfx_1a25661fb8ab782ebc22ccfe10fe19e016"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewFrameBuffer</code><span class="sig-paren">(</span>ViewId <em>_id</em>, FrameBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set view frame buffer. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p>Not persistent after <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1acbf49c89c8ed64ac2ce9fbb08a52f7ab"><span class="std std-ref"><span class="pre">bgfx::reset</span></span></a></code> call.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_frame_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Frame buffer handle. Passing <code class="docutils literal notranslate"><span class="pre">BGFX_INVALID_HANDLE</span></code> as frame buffer handle will draw primitives from this view into default back buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx16setViewTransformE6ViewIdPKvPKv">
<span id="_CPPv3N4bgfx16setViewTransformE6ViewIdPKvPKv"></span><span id="_CPPv2N4bgfx16setViewTransformE6ViewIdPKvPKv"></span><span id="bgfx::setViewTransform__ViewId.voidCP.voidCP"></span><span class="target" id="namespacebgfx_1acf30c922e9a1abd12f3af7277a873b3f"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewTransform</code><span class="sig-paren">(</span>ViewId <em>_id</em>, <em class="property">const</em> void *<em>_view</em>, <em class="property">const</em> void *<em>_proj</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16setViewTransformE6ViewIdPKvPKv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set views view matrix and projection matrix, all draw primitives in this view will use these two matrices. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_transform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_view</span></code>: View matrix. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_proj</span></code>: Projection matrix.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId">
<span id="_CPPv3N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId"></span><span id="_CPPv2N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId"></span><span id="bgfx::setViewOrder__ViewId.uint16_t.ViewIdCP"></span><span class="target" id="namespacebgfx_1a03baba7d5b3b640b82904a7b4c57d6b4"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setViewOrder</code><span class="sig-paren">(</span>ViewId <em>_id</em> = 0, uint16_t <em>_num</em> = UINT16_MAX, <em class="property">const</em> ViewId *<em>_remap</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId" title="Permalink to this definition"></a><br /></dt>
<dd><p>Post submit view reordering. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_order</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: First view id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of views to remap. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_remap</span></code>: View remap id table. Passing <code class="docutils literal notranslate"><span class="pre">NULL</span></code> will reset view ids to default state.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9resetViewE6ViewId">
<span id="_CPPv3N4bgfx9resetViewE6ViewId"></span><span id="_CPPv2N4bgfx9resetViewE6ViewId"></span><span id="bgfx::resetView__ViewId"></span><span class="target" id="namespacebgfx_1a9346ecd01e2f32d41a0824be501d818c"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">resetView</code><span class="sig-paren">(</span>ViewId <em>_id</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9resetViewE6ViewId" title="Permalink to this definition"></a><br /></dt>
<dd><p>Reset all view settings to default. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_reset_view</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="encoder">
<h2>Encoder<a class="headerlink" href="#encoder" title="Permalink to this headline"></a></h2>
<div class="section" id="id1">
<h3>Encoder<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h3>
<p>API for multi-threaded submission.</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx5beginEb">
<span id="_CPPv3N4bgfx5beginEb"></span><span id="_CPPv2N4bgfx5beginEb"></span><span id="bgfx::begin__b"></span><span class="target" id="namespacebgfx_1ab17077b57dbb5f1aba9911aca555d100"></span><a class="reference internal" href="#_CPPv4N4bgfx7EncoderE" title="bgfx::Encoder">Encoder</a> *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">begin</code><span class="sig-paren">(</span>bool <em>_forThread</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5beginEb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Begin submitting draw calls from thread. </p>
<p><dl class="simple">
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_forThread</span></code>: Explicitly request an encoder for a worker thread. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx3endEP7Encoder">
<span id="_CPPv3N4bgfx3endEP7Encoder"></span><span id="_CPPv2N4bgfx3endEP7Encoder"></span><span id="bgfx::end__EncoderP"></span><span class="target" id="namespacebgfx_1aa107fa4aeb1da2eb1f8984fd6b4aa195"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">end</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx7EncoderE" title="bgfx::Encoder">Encoder</a> *<em>_encoder</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx3endEP7Encoder" title="Permalink to this definition"></a><br /></dt>
<dd><p>End submitting draw calls from thread. </p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx7EncoderE">
<span id="_CPPv3N4bgfx7EncoderE"></span><span id="_CPPv2N4bgfx7EncoderE"></span><span id="bgfx::Encoder"></span><span class="target" id="structbgfx_1_1_encoder"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Encoder</code><a class="headerlink" href="#_CPPv4N4bgfx7EncoderE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Encoders are used for submitting draw calls from multiple threads. Only one encoder per thread should be used. Use <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1ab17077b57dbb5f1aba9911aca555d100"><span class="std std-ref"><span class="pre">bgfx::begin()</span></span></a></code> to obtain an encoder for a thread. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Functions</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder9setMarkerEPKc">
<span id="_CPPv3N4bgfx7Encoder9setMarkerEPKc"></span><span id="_CPPv2N4bgfx7Encoder9setMarkerEPKc"></span><span id="bgfx::Encoder::setMarker__cCP"></span><span class="target" id="structbgfx_1_1_encoder_1a29db6cb6d4cabce115dae0f6c8b0be6d"></span>void <code class="sig-name descname">setMarker</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_marker</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setMarkerEPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Sets a debug marker. This allows you to group graphics calls together for easy browsing in graphics debugging tools. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_marker</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder8setStateE8uint64_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder8setStateE8uint64_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder8setStateE8uint64_t8uint32_t"></span><span id="bgfx::Encoder::setState__uint64_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ae0325e59abbf8628f5e4be92cb886160"></span>void <code class="sig-name descname">setState</code><span class="sig-paren">(</span>uint64_t <em>_state</em>, uint32_t <em>_rgba</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8setStateE8uint64_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set render states for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p><ol class="lowerroman simple">
<li><p>To set up more complex states use: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_ALPHA_REF(_ref)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_POINT_SIZE(_size)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC(_src,</span> <span class="pre">_dst)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC_SEPARATE(_srcRGB,</span> <span class="pre">_dstRGB,</span> <span class="pre">_srcA,</span> <span class="pre">_dstA)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION(_equation)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_SEPARATE(_equationRGB,</span> <span class="pre">_equationA)</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_ADD</span></code> is set when no other blend equation is specified.</p></li>
</ol>
</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_state</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_state</span></code>: State flags. Default state for primitive type is triangles. See: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEFAULT</span></code>.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEPTH_TEST_*</span></code> - Depth test function.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_*</span></code> - See remark 1 about BGFX_STATE_BLEND_FUNC.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_*</span></code> - See remark 2.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_CULL_*</span></code> - Backface culling mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_WRITE_*</span></code> - Enable R, G, B, A or Z write.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_MSAA</span></code> - Enable hardware multisample antialiasing.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_PT_[TRISTRIP/LINES/POINTS]</span></code> - Primitive type.</p></li>
</ul>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_rgba</span></code>: Sets blend factor used by <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FACTOR</span></code> and <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_INV_FACTOR</span></code> blend modes.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb">
<span id="_CPPv3N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb"></span><span id="_CPPv2N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb"></span><span id="bgfx::Encoder::setCondition__OcclusionQueryHandle.b"></span><span class="target" id="structbgfx_1_1_encoder_1acc5a16a11bcfd00a38983bd8b807eb11"></span>void <code class="sig-name descname">setCondition</code><span class="sig-paren">(</span>OcclusionQueryHandle <em>_handle</em>, bool <em>_visible</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set condition for rendering. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_condition</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Occlusion query handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_visible</span></code>: Render if occlusion query is visible.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder10setStencilE8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder10setStencilE8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder10setStencilE8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setStencil__uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a5bf00e5be9ad6cb946cffd519c63b432"></span>void <code class="sig-name descname">setStencil</code><span class="sig-paren">(</span>uint32_t <em>_fstencil</em>, uint32_t <em>_bstencil</em> = BGFX_STENCIL_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setStencilE8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set stencil test state. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_stencil</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_fstencil</span></code>: Front stencil state. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_bstencil</span></code>: Back stencil state. If back is set to <code class="docutils literal notranslate"><span class="pre">BGFX_STENCIL_NONE</span></code> _fstencil is applied to both front and back facing primitives.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::Encoder::setScissor__uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a37472617364a0c6db4f2229bcfe8ea62"></span>uint16_t <code class="sig-name descname">setScissor</code><span class="sig-paren">(</span>uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set scissor for draw primitive. To scissor for all primitives in view see <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a4c5184c35ba92387e4609f4919a35e05"><span class="std std-ref"><span class="pre">bgfx::setViewScissor</span></span></a></code>. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Scissor cache index.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_scissor</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: Position x from the left side of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Position y from the top of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of scissor region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of scissor region. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder10setScissorE8uint16_t">
<span id="_CPPv3N4bgfx7Encoder10setScissorE8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder10setScissorE8uint16_t"></span><span id="bgfx::Encoder::setScissor__uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a0d4775b75c096869e87072949029f36c"></span>void <code class="sig-name descname">setScissor</code><span class="sig-paren">(</span>uint16_t <em>_cache</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setScissorE8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set scissor from cache for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_scissor_cached</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_cache</span></code>: Index in scissor cache. Pass UINT16_MAX to have primitive use view scissor instead.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder12setTransformEPKv8uint16_t">
<span id="_CPPv3N4bgfx7Encoder12setTransformEPKv8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder12setTransformEPKv8uint16_t"></span><span id="bgfx::Encoder::setTransform__voidCP.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a429104d3ae2e43ca7f9fecd947427c76"></span>uint32_t <code class="sig-name descname">setTransform</code><span class="sig-paren">(</span><em class="property">const</em> void *<em>_mtx</em>, uint16_t <em>_num</em> = 1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder12setTransformEPKv8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set model matrix for draw primitive. If it is not called, model will be rendered with identity model matrix. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Index into matrix cache in case the same model matrix has to be used for other draw primitive call.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mtx</span></code>: Pointer to first matrix in array. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of matrices in array. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14allocTransformEP9Transform8uint16_t">
<span id="_CPPv3N4bgfx7Encoder14allocTransformEP9Transform8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder14allocTransformEP9Transform8uint16_t"></span><span id="bgfx::Encoder::allocTransform__TransformP.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1ab9e5be71b42efd0af21d1686eb1c350c"></span>uint32_t <code class="sig-name descname">allocTransform</code><span class="sig-paren">(</span>Transform *<em>_transform</em>, uint16_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14allocTransformEP9Transform8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Reserve <code class="docutils literal notranslate"><span class="pre">_num</span></code> matrices in internal matrix cache. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Index into matrix cache.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Pointer returned can be modified until <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is called. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_alloc_transform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_transform</span></code>: Pointer to <code class="docutils literal notranslate"><span class="pre">Transform</span></code> structure. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of matrices. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder12setTransformE8uint32_t8uint16_t">
<span id="_CPPv3N4bgfx7Encoder12setTransformE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder12setTransformE8uint32_t8uint16_t"></span><span id="bgfx::Encoder::setTransform__uint32_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1ac998aeaafffec67a147d158f68333f67"></span>void <code class="sig-name descname">setTransform</code><span class="sig-paren">(</span>uint32_t <em>_cache</em>, uint16_t <em>_num</em> = 1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder12setTransformE8uint32_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set model matrix from matrix cache for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transform_cached</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_cache</span></code>: Index in matrix cache. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of matrices from cache.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t">
<span id="_CPPv3N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t"></span><span id="bgfx::Encoder::setUniform__UniformHandle.voidCP.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a0cb3b27753bbbfd722344d47023de07e"></span>void <code class="sig-name descname">setUniform</code><span class="sig-paren">(</span>UniformHandle <em>_handle</em>, <em class="property">const</em> void *<em>_value</em>, uint16_t <em>_num</em> = 1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set shader uniform parameter for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_uniform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Uniform. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_value</span></code>: Pointer to uniform data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of elements. Passing <code class="docutils literal notranslate"><span class="pre">UINT16_MAX</span></code> will use the _num passed on uniform creation.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle">
<span id="_CPPv3N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle"></span><span id="bgfx::Encoder::setIndexBuffer__IndexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a29b6203c38cfe6faf584d5dc458a24dc"></span>void <code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>IndexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Index buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setIndexBuffer__IndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ae89b8f384c1fa58345b8e0d6d4c6d5dd"></span>void <code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>IndexBufferHandle <em>_handle</em>, uint32_t <em>_firstIndex</em>, uint32_t <em>_numIndices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_firstIndex</span></code>: First index to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of indices to render.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle">
<span id="_CPPv3N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="bgfx::Encoder::setIndexBuffer__DynamicIndexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1aeb7869c500e780b84de6342bd2b70ae0"></span>void <code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>DynamicIndexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setIndexBuffer__DynamicIndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1aff23b1df245c0bf5400bb5b9609a75a1"></span>void <code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>DynamicIndexBufferHandle <em>_handle</em>, uint32_t <em>_firstIndex</em>, uint32_t <em>_numIndices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_firstIndex</span></code>: First index to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of indices to render.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer">
<span id="_CPPv3N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer"></span><span id="bgfx::Encoder::setIndexBuffer__TransientIndexBufferCP"></span><span class="target" id="structbgfx_1_1_encoder_1a111617d3f649d957be50b91079a9c052"></span>void <code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer">TransientIndexBuffer</a> *<em>_tib</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tib</span></code>: Transient index buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setIndexBuffer__TransientIndexBufferCP.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a2a2273ecc04472bd1c6fe9c0c05e530f"></span>void <code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer">TransientIndexBuffer</a> *<em>_tib</em>, uint32_t <em>_firstIndex</em>, uint32_t <em>_numIndices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tib</span></code>: Transient index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_firstIndex</span></code>: First index to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of indices to render.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle">
<span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.VertexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a7187107e8a5f8daa48a97482582f66c1"></span>void <code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, VertexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
<span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.VertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a88d229a9ee484dcf2b1c5f02b6371c59"></span>void <code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, VertexBufferHandle <em>_handle</em>, uint32_t <em>_startVertex</em>, uint32_t <em>_numVertices</em>, VertexLayoutHandle <em>_layoutHandle</em> = BGFX_INVALID_HANDLE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startVertex</span></code>: First vertex to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layoutHandle</span></code>: Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle">
<span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.DynamicVertexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a85c20c041e5dca255f058aa91e434bc9"></span>void <code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, DynamicVertexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
<span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.DynamicVertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_encoder_1ac08df8ca1b657e6990963c921d0b1122"></span>void <code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, DynamicVertexBufferHandle <em>_handle</em>, uint32_t <em>_startVertex</em>, uint32_t <em>_numVertices</em>, VertexLayoutHandle <em>_layoutHandle</em> = BGFX_INVALID_HANDLE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startVertex</span></code>: First vertex to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layoutHandle</span></code>: Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer">
<span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.TransientVertexBufferCP"></span><span class="target" id="structbgfx_1_1_encoder_1a4d17b54519e2a8c8c2a806368df50080"></span>void <code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer">TransientVertexBuffer</a> *<em>_tvb</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tvb</span></code>: Transient vertex buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle">
<span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.TransientVertexBufferCP.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a4f2908eda6f4771a2a06774edb390122"></span>void <code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer">TransientVertexBuffer</a> *<em>_tvb</em>, uint32_t <em>_startVertex</em>, uint32_t <em>_numVertices</em>, VertexLayoutHandle <em>_layoutHandle</em> = BGFX_INVALID_HANDLE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tvb</span></code>: Transient vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startVertex</span></code>: First vertex to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layoutHandle</span></code>: Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder14setVertexCountE8uint32_t">
<span id="_CPPv3N4bgfx7Encoder14setVertexCountE8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setVertexCountE8uint32_t"></span><span id="bgfx::Encoder::setVertexCount__uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a6bec8d7a72516210170abcd6b1fd98aa"></span>void <code class="sig-name descname">setVertexCount</code><span class="sig-paren">(</span>uint32_t <em>_numVertices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setVertexCountE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set number of vertices for auto generated vertices use in conjunction with gl_VertexID. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_vertex_count</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer">
<span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="bgfx::Encoder::setInstanceDataBuffer__InstanceDataBufferCP"></span><span class="target" id="structbgfx_1_1_encoder_1afadc5fbe3874159961d5552220328622"></span>void <code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer">InstanceDataBuffer</a> *<em>_idb</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_idb</span></code>: Transient instance data buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setInstanceDataBuffer__InstanceDataBufferCP.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1adf6c147ada3e5338eb517d0c33faf01d"></span>void <code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer">InstanceDataBuffer</a> *<em>_idb</em>, uint32_t <em>_start</em>, uint32_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_idb</span></code>: Transient instance data buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First instance data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of data instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setInstanceDataBuffer__VertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a67c4f46964ff32c170699939158434c5"></span>void <code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span>VertexBufferHandle <em>_handle</em>, uint32_t <em>_start</em>, uint32_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_from_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First instance data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of data instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setInstanceDataBuffer__DynamicVertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1af7464e8909bd5aa11811151c0650e56d"></span>void <code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span>DynamicVertexBufferHandle <em>_handle</em>, uint32_t <em>_start</em>, uint32_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_from_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First instance data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of data instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder16setInstanceCountE8uint32_t">
<span id="_CPPv3N4bgfx7Encoder16setInstanceCountE8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder16setInstanceCountE8uint32_t"></span><span id="bgfx::Encoder::setInstanceCount__uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ac8450ebbbf04678db6d2c59ea86178a8"></span>void <code class="sig-name descname">setInstanceCount</code><span class="sig-paren">(</span>uint32_t <em>_numInstances</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder16setInstanceCountE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set number of instances for auto generated instances use in conjunction with gl_InstanceID. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_count</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numInstances</span></code>: Number of instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t">
<span id="_CPPv3N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="bgfx::Encoder::setTexture__uint8_t.UniformHandle.TextureHandle.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ababcdc9b1bf89fe863573c5629c1ea31"></span>void <code class="sig-name descname">setTexture</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, UniformHandle <em>_sampler</em>, TextureHandle <em>_handle</em>, uint32_t <em>_flags</em> = UINT32_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set texture stage for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_texture</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Texture unit. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_sampler</span></code>: Program sampler. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture sampling mode. Default value UINT32_MAX uses texture sampling settings from the texture.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder5touchE6ViewId">
<span id="_CPPv3N4bgfx7Encoder5touchE6ViewId"></span><span id="_CPPv2N4bgfx7Encoder5touchE6ViewId"></span><span id="bgfx::Encoder::touch__ViewId"></span><span class="target" id="structbgfx_1_1_encoder_1a57dd7836d684ce252f915fda652dd4d9"></span>void <code class="sig-name descname">touch</code><span class="sig-paren">(</span>ViewId <em>_id</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder5touchE6ViewId" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit an empty primitive for rendering. Uniforms and draw state will be applied but no geometry will be submitted. Useful in cases when no other draw/compute primitive is submitted to view, but its desired to execute clear view. </p>
<p>These empty draw calls will sort before ordinary draw calls.</p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_touch</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="bgfx::Encoder::submit__ViewId.ProgramHandle.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1a1708b62838d2213c50197c5ece829344"></span>void <code class="sig-name descname">submit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_program</em>, uint32_t <em>_depth</em> = 0, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit primitive for rendering. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_submit</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_program</span></code>: Program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth for sorting. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="bgfx::Encoder::submit__ViewId.ProgramHandle.OcclusionQueryHandle.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1a54d8ad0fccee2039389d7665b2e7f21d"></span>void <code class="sig-name descname">submit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_program</em>, OcclusionQueryHandle <em>_occlusionQuery</em>, uint32_t <em>_depth</em> = 0, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit primitive with occlusion query for rendering. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_submit_occlusion_query</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_program</span></code>: Program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_occlusionQuery</span></code>: Occlusion query. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth for sorting. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t"></span><span id="bgfx::Encoder::submit__ViewId.ProgramHandle.IndirectBufferHandle.uint16_t.uint16_t.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1a7d59c0c289f18f176602f2aa4115b151"></span>void <code class="sig-name descname">submit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_program</em>, IndirectBufferHandle <em>_indirectHandle</em>, uint16_t <em>_start</em> = 0, uint16_t <em>_num</em> = 1, uint32_t <em>_depth</em> = 0, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit primitive for rendering with index and instance data info from indirect buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_submit_indirect</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_program</span></code>: Program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_indirectHandle</span></code>: Indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First element in indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of dispatches. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth for sorting. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.IndexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1abbcd6de6e5e97a7fe957eda92ad0822f"></span>void <code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, IndexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Index buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.VertexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a5f7f342edc7994cd4d3bc490bc2fd871"></span>void <code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, VertexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.DynamicIndexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1ac33eb79ca4276af07beeed8814d4cf8c"></span>void <code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, DynamicIndexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute dynamic index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.DynamicVertexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a0a7b96ce730a411113f8701b2773df2c"></span>void <code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, DynamicVertexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute dynamic vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.IndirectBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a0b796ad4a8fdadaf1128f76d132f1d15"></span>void <code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, IndirectBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute indirect buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_indirect_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Indirect buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE">
<span id="_CPPv3N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="bgfx::Encoder::setImage__uint8_t.TextureHandle.uint8_t.Access::Enum.TextureFormat::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a93ccfe0d5e9ddf32373b1d5ecdd5b05e"></span>void <code class="sig-name descname">setImage</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, TextureHandle <em>_handle</em>, uint8_t <em>_mip</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em> = <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count">Count</a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute image from texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_image</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Texture unit. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mip</span></code>: Mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Texture access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::Encoder::dispatch__ViewId.ProgramHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1ab3840b6c16e8fa53dd64d474ac9a49c1"></span>void <code class="sig-name descname">dispatch</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_handle</em>, uint32_t <em>_numX</em> = 1, uint32_t <em>_numY</em> = 1, uint32_t <em>_numZ</em> = 1, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Dispatch compute. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_dispatch</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Compute program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numX</span></code>: Number of groups X. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numY</span></code>: Number of groups Y. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numZ</span></code>: Number of groups Z. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t">
<span id="_CPPv3N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t"></span><span id="bgfx::Encoder::dispatch__ViewId.ProgramHandle.IndirectBufferHandle.uint16_t.uint16_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1aa968c235cfb56103dd913950ae6d385b"></span>void <code class="sig-name descname">dispatch</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_handle</em>, IndirectBufferHandle <em>_indirectHandle</em>, uint16_t <em>_start</em> = 0, uint16_t <em>_num</em> = 1, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Dispatch compute indirect. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_dispatch_indirect</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Compute program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_indirectHandle</span></code>: Indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First element in indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of dispatches. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder7discardE7uint8_t">
<span id="_CPPv3N4bgfx7Encoder7discardE7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder7discardE7uint8_t"></span><span id="bgfx::Encoder::discard__uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1ace2445411468c04fe35c617ade2a98b7"></span>void <code class="sig-name descname">discard</code><span class="sig-paren">(</span>uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder7discardE7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Discard all previously set state for draw or compute call. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_discard</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Draw/compute states to discard.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::Encoder::blit__ViewId.TextureHandle.uint16_t.uint16_t.TextureHandle.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a99af0d97b74d4ae3659088947e265761"></span>void <code class="sig-name descname">blit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, TextureHandle <em>_dst</em>, uint16_t <em>_dstX</em>, uint16_t <em>_dstY</em>, TextureHandle <em>_src</em>, uint16_t <em>_srcX</em> = 0, uint16_t <em>_srcY</em> = 0, uint16_t <em>_width</em> = UINT16_MAX, uint16_t <em>_height</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blit texture 2D region between two 2D textures. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_blit</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dst</span></code>: Destination texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstX</span></code>: Destination texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstY</span></code>: Destination texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_src</span></code>: Source texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcX</span></code>: Source texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcY</span></code>: Source texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of region.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::Encoder::blit__ViewId.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a5bb0375324fcb6bb95d46a040f6caaf3"></span>void <code class="sig-name descname">blit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, TextureHandle <em>_dst</em>, uint8_t <em>_dstMip</em>, uint16_t <em>_dstX</em>, uint16_t <em>_dstY</em>, uint16_t <em>_dstZ</em>, TextureHandle <em>_src</em>, uint8_t <em>_srcMip</em> = 0, uint16_t <em>_srcX</em> = 0, uint16_t <em>_srcY</em> = 0, uint16_t <em>_srcZ</em> = 0, uint16_t <em>_width</em> = UINT16_MAX, uint16_t <em>_height</em> = UINT16_MAX, uint16_t <em>_depth</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blit texture region between two textures. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_blit</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dst</span></code>: Destination texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstMip</span></code>: Destination texture mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstX</span></code>: Destination texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstY</span></code>: Destination texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstZ</span></code>: If texture is 2D this argument should be 0. If destination texture is cube this argument represents destination texture cube face. For 3D texture this argument represents destination texture Z position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_src</span></code>: Source texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcMip</span></code>: Source texture mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcX</span></code>: Source texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcY</span></code>: Source texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcZ</span></code>: If texture is 2D this argument should be 0. If source texture is cube this argument represents source texture cube face. For 3D texture this argument represents source texture Z position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: If texture is 3D this argument represents depth of region, otherwise its unused.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="draw">
<h3>Draw<a class="headerlink" href="#draw" title="Permalink to this headline"></a></h3>
<p>Draw state is not preserved between two draw calls.
All state is cleared after calling <cite>bgfx::submit</cite>.</p>
<div class="section" id="state">
<h4>State<a class="headerlink" href="#state" title="Permalink to this headline"></a></h4>
</div>
<div class="section" id="id2">
<h4>Debug<a class="headerlink" href="#id2" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9setMarkerEPKc">
<span id="_CPPv3N4bgfx9setMarkerEPKc"></span><span id="_CPPv2N4bgfx9setMarkerEPKc"></span><span id="bgfx::setMarker__cCP"></span><span class="target" id="namespacebgfx_1a826b5408b0fe0e104625e179e115576b"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setMarker</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_marker</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setMarkerEPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Sets debug marker. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_marker</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7setNameE12ShaderHandlePKc7int32_t">
<span id="_CPPv3N4bgfx7setNameE12ShaderHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE12ShaderHandlePKc7int32_t"></span><span id="bgfx::setName__ShaderHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a7d44c7ebbc42932b4f22ea9d8aa9047a"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setName</code><span class="sig-paren">(</span>ShaderHandle <em>_handle</em>, <em class="property">const</em> char *<em>_name</em>, int32_t <em>_len</em> = INT32_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE12ShaderHandlePKc7int32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set shader debug name. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_shader_name</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Shader handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: Shader name. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_len</span></code>: Shader name length (if length is INT32_MAX, its expected that _name is zero terminated string.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7setNameE13TextureHandlePKc7int32_t">
<span id="_CPPv3N4bgfx7setNameE13TextureHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE13TextureHandlePKc7int32_t"></span><span id="bgfx::setName__TextureHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a852d5743e0942806741f3d1790bab783"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setName</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, <em class="property">const</em> char *<em>_name</em>, int32_t <em>_len</em> = INT32_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE13TextureHandlePKc7int32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set texture debug name. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_texture_name</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: Texture name. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_len</span></code>: Texture name length (if length is INT32_MAX, its expected that _name is zero terminated string.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="id3">
<h4>State<a class="headerlink" href="#id3" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx8setStateE8uint64_t8uint32_t">
<span id="_CPPv3N4bgfx8setStateE8uint64_t8uint32_t"></span><span id="_CPPv2N4bgfx8setStateE8uint64_t8uint32_t"></span><span id="bgfx::setState__uint64_t.uint32_t"></span><span class="target" id="namespacebgfx_1a3e5edf50886f88e8f022e18a3e53ba4d"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setState</code><span class="sig-paren">(</span>uint64_t <em>_state</em>, uint32_t <em>_rgba</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8setStateE8uint64_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set render states for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Remark</strong></dt><dd><p><ol class="loweralpha simple">
<li><p>To set up more complex states use: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_ALPHA_REF(_ref)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_POINT_SIZE(_size)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC(_src,</span> <span class="pre">_dst)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC_SEPARATE(_srcRGB,</span> <span class="pre">_dstRGB,</span> <span class="pre">_srcA,</span> <span class="pre">_dstA)</span></code> <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION(_equation)</span></code> <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_SEPARATE(_equationRGB,</span> <span class="pre">_equationA)</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_ADD</span></code> is set when no other blend equation is specified.</p></li>
</ol>
</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_state</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_state</span></code>: State flags. Default state for primitive type is triangles. See: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEFAULT</span></code>.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEPTH_TEST_*</span></code> - Depth test function.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_*</span></code> - See remark 1 about BGFX_STATE_BLEND_FUNC.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_*</span></code> - See remark 2.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_CULL_*</span></code> - Backface culling mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_WRITE_*</span></code> - Enable R, G, B, A or Z write.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_MSAA</span></code> - Enable MSAA.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_PT_[TRISTRIP/LINES/POINTS]</span></code> - Primitive type.</p></li>
</ul>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_rgba</span></code>: Sets blend factor used by <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FACTOR</span></code> and <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_INV_FACTOR</span></code> blend modes.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="state-flags">
<h4>State Flags<a class="headerlink" href="#state-flags" title="Permalink to this headline"></a></h4>
<p><strong>Write</strong></p>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_WRITE_R">
<span class="target" id="defines_8h_1af089d9292e8742a9bbc8f31e9959ac8f"></span><code class="sig-name descname">BGFX_STATE_WRITE_R</code><a class="headerlink" href="#c.BGFX_STATE_WRITE_R" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable R write. </p>
<p>Color RGB/alpha/depth write. When its not specified write will be disabled. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_WRITE_G">
<span class="target" id="defines_8h_1a67607d6d1f9a225c1b2ff4e9d12f815d"></span><code class="sig-name descname">BGFX_STATE_WRITE_G</code><a class="headerlink" href="#c.BGFX_STATE_WRITE_G" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable G write. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_WRITE_B">
<span class="target" id="defines_8h_1acf95680646da08e7457c76f7f9eef258"></span><code class="sig-name descname">BGFX_STATE_WRITE_B</code><a class="headerlink" href="#c.BGFX_STATE_WRITE_B" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable B write. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_WRITE_RGB">
<span class="target" id="defines_8h_1a62234af4b2f8561cc9f63625d2f87e13"></span><code class="sig-name descname">BGFX_STATE_WRITE_RGB</code><a class="headerlink" href="#c.BGFX_STATE_WRITE_RGB" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_WRITE_A">
<span class="target" id="defines_8h_1a83b7df77e4daba5f403757d272262f0e"></span><code class="sig-name descname">BGFX_STATE_WRITE_A</code><a class="headerlink" href="#c.BGFX_STATE_WRITE_A" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable alpha write. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_WRITE_Z">
<span class="target" id="defines_8h_1a648e6de360193486206989233d94a7f7"></span><code class="sig-name descname">BGFX_STATE_WRITE_Z</code><a class="headerlink" href="#c.BGFX_STATE_WRITE_Z" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth write. Enable RGB write. </p>
</dd></dl>
<p><strong>Depth Test</strong></p>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_LESS">
<span class="target" id="defines_8h_1a82f539526fd6c6bcd358183eadff8aee"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_LESS</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_LESS" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, less. </p>
<p>Depth test state. When <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEPTH_</span></code> is not specified depth test will be disabled. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_LEQUAL">
<span class="target" id="defines_8h_1a338abca053787cd01d39109b8e8a9af5"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_LEQUAL</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_LEQUAL" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, less or equal. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_EQUAL">
<span class="target" id="defines_8h_1ad208b703e5d4b4f59b7ffffecf9c9c83"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_EQUAL</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_EQUAL" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, equal. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_GEQUAL">
<span class="target" id="defines_8h_1a2242d82ed1763b25c407663565f77c5b"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_GEQUAL</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_GEQUAL" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, greater or equal. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_GREATER">
<span class="target" id="defines_8h_1a73192746d5c1af9691a62ff933b8dcc4"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_GREATER</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_GREATER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, greater. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_NOTEQUAL">
<span class="target" id="defines_8h_1a3fee8e3c5e964b83de7ccc48f2c622f9"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_NOTEQUAL</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_NOTEQUAL" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, not equal. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_NEVER">
<span class="target" id="defines_8h_1af07451bb52a9a7cdac6f7866eb8d3be8"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_NEVER</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_NEVER" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, never. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_DEPTH_TEST_ALWAYS">
<span class="target" id="defines_8h_1a68a8a92967cc243e2709f9c847161944"></span><code class="sig-name descname">BGFX_STATE_DEPTH_TEST_ALWAYS</code><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_ALWAYS" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable depth test, always. </p>
</dd></dl>
<p><strong>Blend Mode</strong></p>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_ZERO">
<span class="target" id="defines_8h_1a83c6a122447a96a550121522d24bffd0"></span><code class="sig-name descname">BGFX_STATE_BLEND_ZERO</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_ZERO" title="Permalink to this definition"></a><br /></dt>
<dd><p>0, 0, 0, 0 </p>
<p>Use BGFX_STATE_BLEND_FUNC(_src, _dst) or BGFX_STATE_BLEND_FUNC_SEPARATE(_srcRGB, _dstRGB, _srcA, _dstA) helper macros. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_ONE">
<span class="target" id="defines_8h_1a4c95af5b187ce05923cace405c675ca7"></span><code class="sig-name descname">BGFX_STATE_BLEND_ONE</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_ONE" title="Permalink to this definition"></a><br /></dt>
<dd><p>1, 1, 1, 1 </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_SRC_COLOR">
<span class="target" id="defines_8h_1aa47f521f6912a95bb27f9d88301a69f1"></span><code class="sig-name descname">BGFX_STATE_BLEND_SRC_COLOR</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_SRC_COLOR" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rs, Gs, Bs, As. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_INV_SRC_COLOR">
<span class="target" id="defines_8h_1abde93bba126cc742dc4fdc7044b25578"></span><code class="sig-name descname">BGFX_STATE_BLEND_INV_SRC_COLOR</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_SRC_COLOR" title="Permalink to this definition"></a><br /></dt>
<dd><p>1-Rs, 1-Gs, 1-Bs, 1-As </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_SRC_ALPHA">
<span class="target" id="defines_8h_1a1b45f14c0d16f731be0c09aeb480ca48"></span><code class="sig-name descname">BGFX_STATE_BLEND_SRC_ALPHA</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_SRC_ALPHA" title="Permalink to this definition"></a><br /></dt>
<dd><p>As, As, As, As. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_INV_SRC_ALPHA">
<span class="target" id="defines_8h_1a5a97ef785bca9f4b8dbac77918487ced"></span><code class="sig-name descname">BGFX_STATE_BLEND_INV_SRC_ALPHA</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_SRC_ALPHA" title="Permalink to this definition"></a><br /></dt>
<dd><p>1-As, 1-As, 1-As, 1-As </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_DST_ALPHA">
<span class="target" id="defines_8h_1a706fd845bc836aa9ffe4559765bb9610"></span><code class="sig-name descname">BGFX_STATE_BLEND_DST_ALPHA</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_DST_ALPHA" title="Permalink to this definition"></a><br /></dt>
<dd><p>Ad, Ad, Ad, Ad. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_INV_DST_ALPHA">
<span class="target" id="defines_8h_1a58d78040bf888a9612a1c4e1cf9c21a6"></span><code class="sig-name descname">BGFX_STATE_BLEND_INV_DST_ALPHA</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_DST_ALPHA" title="Permalink to this definition"></a><br /></dt>
<dd><p>1-Ad, 1-Ad, 1-Ad ,1-Ad </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_DST_COLOR">
<span class="target" id="defines_8h_1a7391b64b51d2b74c3c2ad517d2f6d4ff"></span><code class="sig-name descname">BGFX_STATE_BLEND_DST_COLOR</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_DST_COLOR" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rd, Gd, Bd, Ad. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_INV_DST_COLOR">
<span class="target" id="defines_8h_1ac502ca5c583f0702a8c20405ca4f49cc"></span><code class="sig-name descname">BGFX_STATE_BLEND_INV_DST_COLOR</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_DST_COLOR" title="Permalink to this definition"></a><br /></dt>
<dd><p>1-Rd, 1-Gd, 1-Bd, 1-Ad </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_SRC_ALPHA_SAT">
<span class="target" id="defines_8h_1a6177100a26b919276943bf3a524820ca"></span><code class="sig-name descname">BGFX_STATE_BLEND_SRC_ALPHA_SAT</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_SRC_ALPHA_SAT" title="Permalink to this definition"></a><br /></dt>
<dd><p>f, f, f, 1; f = min(As, 1-Ad) </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_FACTOR">
<span class="target" id="defines_8h_1a9acab36d73abf4b321564049d85ce435"></span><code class="sig-name descname">BGFX_STATE_BLEND_FACTOR</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_FACTOR" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blend factor. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_INV_FACTOR">
<span class="target" id="defines_8h_1a14e3f8dcce6f420eeedb63f3978d9b36"></span><code class="sig-name descname">BGFX_STATE_BLEND_INV_FACTOR</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_FACTOR" title="Permalink to this definition"></a><br /></dt>
<dd><p>1-Blend factor </p>
</dd></dl>
<p><strong>Blend Equaation</strong></p>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_EQUATION_ADD">
<span class="target" id="defines_8h_1a2ffd46032b927db10fcce998d1a3fddd"></span><code class="sig-name descname">BGFX_STATE_BLEND_EQUATION_ADD</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_ADD" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blend add: src + dst. </p>
<p>Use BGFX_STATE_BLEND_EQUATION(_equation) or BGFX_STATE_BLEND_EQUATION_SEPARATE(_equationRGB, _equationA) helper macros. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_EQUATION_SUB">
<span class="target" id="defines_8h_1a076e59b04d2620ad7177aa5fb1f88a72"></span><code class="sig-name descname">BGFX_STATE_BLEND_EQUATION_SUB</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_SUB" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blend subtract: src - dst. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_EQUATION_REVSUB">
<span class="target" id="defines_8h_1a1e33171674e13e6b2026eacaca5153ce"></span><code class="sig-name descname">BGFX_STATE_BLEND_EQUATION_REVSUB</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_REVSUB" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blend reverse subtract: dst - src. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_EQUATION_MIN">
<span class="target" id="defines_8h_1ada996865b2ed3b57838384365d0fd54f"></span><code class="sig-name descname">BGFX_STATE_BLEND_EQUATION_MIN</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_MIN" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blend min: min(src, dst). </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_EQUATION_MAX">
<span class="target" id="defines_8h_1adc74502a8c753f009e2b4d64cb6ebeb6"></span><code class="sig-name descname">BGFX_STATE_BLEND_EQUATION_MAX</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_MAX" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blend max: max(src, dst). </p>
</dd></dl>
<p><strong>Primitive Culling</strong></p>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_CULL_CW">
<span class="target" id="defines_8h_1ab73af147b6161cea1a3d2e92940e0452"></span><code class="sig-name descname">BGFX_STATE_CULL_CW</code><a class="headerlink" href="#c.BGFX_STATE_CULL_CW" title="Permalink to this definition"></a><br /></dt>
<dd><p>Cull clockwise triangles. </p>
<p>Cull state. When <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_CULL_*</span></code> is not specified culling will be disabled. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_CULL_CCW">
<span class="target" id="defines_8h_1adc22d33e1b38799d1c0da7d94123004d"></span><code class="sig-name descname">BGFX_STATE_CULL_CCW</code><a class="headerlink" href="#c.BGFX_STATE_CULL_CCW" title="Permalink to this definition"></a><br /></dt>
<dd><p>Cull counter-clockwise triangles. </p>
</dd></dl>
<p><strong>Primitive Type</strong></p>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_PT_TRISTRIP">
<span class="target" id="defines_8h_1a7b2bc219533a33b2010affe65087591f"></span><code class="sig-name descname">BGFX_STATE_PT_TRISTRIP</code><a class="headerlink" href="#c.BGFX_STATE_PT_TRISTRIP" title="Permalink to this definition"></a><br /></dt>
<dd><p>Tristrip. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_PT_LINES">
<span class="target" id="defines_8h_1adb0d8c8504ff0615c4fcfba6b55bfa57"></span><code class="sig-name descname">BGFX_STATE_PT_LINES</code><a class="headerlink" href="#c.BGFX_STATE_PT_LINES" title="Permalink to this definition"></a><br /></dt>
<dd><p>Lines. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_PT_LINESTRIP">
<span class="target" id="defines_8h_1a15538233471ae90244e5c52380f16270"></span><code class="sig-name descname">BGFX_STATE_PT_LINESTRIP</code><a class="headerlink" href="#c.BGFX_STATE_PT_LINESTRIP" title="Permalink to this definition"></a><br /></dt>
<dd><p>Line strip. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_PT_POINTS">
<span class="target" id="defines_8h_1ab4afe6a6879f20b9e5b7ce8e0d94bc1c"></span><code class="sig-name descname">BGFX_STATE_PT_POINTS</code><a class="headerlink" href="#c.BGFX_STATE_PT_POINTS" title="Permalink to this definition"></a><br /></dt>
<dd><p>Points. </p>
</dd></dl>
<p><strong>Misc</strong></p>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_INDEPENDENT">
<span class="target" id="defines_8h_1a292f5264de6046161f4d20a008db6c23"></span><code class="sig-name descname">BGFX_STATE_BLEND_INDEPENDENT</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_INDEPENDENT" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable blend independent. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_BLEND_ALPHA_TO_COVERAGE">
<span class="target" id="defines_8h_1aa2831e25d0b111f009b11ff82a2799a7"></span><code class="sig-name descname">BGFX_STATE_BLEND_ALPHA_TO_COVERAGE</code><a class="headerlink" href="#c.BGFX_STATE_BLEND_ALPHA_TO_COVERAGE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable alpha to coverage. Default state is write to RGB, alpha, and depth with depth test less enabled, with clockwise culling and MSAA (when writing into MSAA frame buffer, otherwise this flag is ignored). </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_MSAA">
<span class="target" id="defines_8h_1aed65ada612c8d17b6002a0f36c453e55"></span><code class="sig-name descname">BGFX_STATE_MSAA</code><a class="headerlink" href="#c.BGFX_STATE_MSAA" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable MSAA rasterization. </p>
<p>Enable MSAA write when writing into MSAA frame buffer. This flag is ignored when not writing into MSAA frame buffer. </p>
</dd></dl>
<dl class="cpp macro">
<dt id="c.BGFX_STATE_LINEAA">
<span class="target" id="defines_8h_1a0668fde1f928de351846c15cc574aea7"></span><code class="sig-name descname">BGFX_STATE_LINEAA</code><a class="headerlink" href="#c.BGFX_STATE_LINEAA" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable line AA rasterization. </p>
</dd></dl>
</div>
<div class="section" id="stencil">
<h4>Stencil<a class="headerlink" href="#stencil" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx10setStencilE8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx10setStencilE8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx10setStencilE8uint32_t8uint32_t"></span><span id="bgfx::setStencil__uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1aec7be9fc28858c7cdcc78a8e9f504434"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setStencil</code><span class="sig-paren">(</span>uint32_t <em>_fstencil</em>, uint32_t <em>_bstencil</em> = BGFX_STENCIL_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setStencilE8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set stencil test state. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_stencil</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_fstencil</span></code>: Front stencil state. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_bstencil</span></code>: Back stencil state. If back is set to <code class="docutils literal notranslate"><span class="pre">BGFX_STENCIL_NONE</span></code> _fstencil is applied to both front and back facing primitives.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="stencil-flags">
<h4>Stencil Flags<a class="headerlink" href="#stencil-flags" title="Permalink to this headline"></a></h4>
<dl class="cpp macro">
<dt id="c.BGFX_STENCIL_TEST_LESS">
<span class="target" id="defines_8h_1ad5a495c48408fb31c50a8fd8872c6efe"></span><code class="sig-name descname">BGFX_STENCIL_TEST_LESS</code><a class="headerlink" href="#c.BGFX_STENCIL_TEST_LESS" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable stencil test, less. </p>
</dd></dl>
</div>
<div class="section" id="scissor">
<h4>Scissor<a class="headerlink" href="#scissor" title="Permalink to this headline"></a></h4>
<p>If the Scissor rectangle needs to be changed for
every draw call in a View, use <cite>bgfx::setScissor</cite>.
Otherwise, use <cite>bgfx::setViewScissor</cite>.</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::setScissor__uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a044469089552c76b36ec5e5ac57cf695"></span>uint16_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setScissor</code><span class="sig-paren">(</span>uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set scissor for draw primitive. For scissor for all primitives in view see <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a4c5184c35ba92387e4609f4919a35e05"><span class="std std-ref"><span class="pre">bgfx::setViewScissor</span></span></a></code>. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Scissor cache index.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_scissor</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: Position x from the left corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Position y from the top corner of the window. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of scissor region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of scissor region. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx10setScissorE8uint16_t">
<span id="_CPPv3N4bgfx10setScissorE8uint16_t"></span><span id="_CPPv2N4bgfx10setScissorE8uint16_t"></span><span id="bgfx::setScissor__uint16_t"></span><span class="target" id="namespacebgfx_1a2cad724d5941acf0719c007792fcde3e"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setScissor</code><span class="sig-paren">(</span>uint16_t <em>_cache</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setScissorE8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set scissor from cache for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_scissor_cached</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_cache</span></code>: Index in scissor cache. Passing UINT16_MAX unset primitive scissor and primitive will use view scissor instead.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="transform">
<h4>Transform<a class="headerlink" href="#transform" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14allocTransformEP9Transform8uint16_t">
<span id="_CPPv3N4bgfx14allocTransformEP9Transform8uint16_t"></span><span id="_CPPv2N4bgfx14allocTransformEP9Transform8uint16_t"></span><span id="bgfx::allocTransform__TransformP.uint16_t"></span><span class="target" id="namespacebgfx_1a659b2048c1d0720027307fcdc5ce65e5"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">allocTransform</code><span class="sig-paren">(</span>Transform *<em>_transform</em>, uint16_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14allocTransformEP9Transform8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Reserve <code class="docutils literal notranslate"><span class="pre">_num</span></code> matrices in internal matrix cache. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>index into matrix cache.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Pointer returned can be modified until <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is called. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_transform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_transform</span></code>: Pointer to <code class="docutils literal notranslate"><span class="pre">Transform</span></code> structure. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of matrices. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12setTransformEPKv8uint16_t">
<span id="_CPPv3N4bgfx12setTransformEPKv8uint16_t"></span><span id="_CPPv2N4bgfx12setTransformEPKv8uint16_t"></span><span id="bgfx::setTransform__voidCP.uint16_t"></span><span class="target" id="namespacebgfx_1a1a8cda55b0d751df8cdd5c1d6080f622"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setTransform</code><span class="sig-paren">(</span><em class="property">const</em> void *<em>_mtx</em>, uint16_t <em>_num</em> = 1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setTransformEPKv8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set model matrix for draw primitive. If it is not called, the model will be rendered with an identity model matrix. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>index into matrix cache in case the same model matrix has to be used for other draw primitive call.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mtx</span></code>: Pointer to first matrix in array. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of matrices in array. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12setTransformE8uint32_t8uint16_t">
<span id="_CPPv3N4bgfx12setTransformE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx12setTransformE8uint32_t8uint16_t"></span><span id="bgfx::setTransform__uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1a7ab5e0c5e43e4456d51a06a755a824ce"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setTransform</code><span class="sig-paren">(</span>uint32_t <em>_cache</em>, uint16_t <em>_num</em> = 1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setTransformE8uint32_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set model matrix from matrix cache for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transform_cached</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_cache</span></code>: Index in matrix cache. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of matrices from cache.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="conditional-rendering">
<h4>Conditional Rendering<a class="headerlink" href="#conditional-rendering" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12setConditionE20OcclusionQueryHandleb">
<span id="_CPPv3N4bgfx12setConditionE20OcclusionQueryHandleb"></span><span id="_CPPv2N4bgfx12setConditionE20OcclusionQueryHandleb"></span><span id="bgfx::setCondition__OcclusionQueryHandle.b"></span><span class="target" id="namespacebgfx_1ab3d4234c579854aeafffbbc3a0b8a436"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setCondition</code><span class="sig-paren">(</span>OcclusionQueryHandle <em>_handle</em>, bool <em>_visible</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setConditionE20OcclusionQueryHandleb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set condition for rendering. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_condition</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Occlusion query handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_visible</span></code>: Render if occlusion query is visible.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="buffers">
<h4>Buffers<a class="headerlink" href="#buffers" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle">
<span id="_CPPv3N4bgfx14setIndexBufferE17IndexBufferHandle"></span><span id="_CPPv2N4bgfx14setIndexBufferE17IndexBufferHandle"></span><span id="bgfx::setIndexBuffer__IndexBufferHandle"></span><span class="target" id="namespacebgfx_1a788bf7feee1fd76127e628fcc0e879d4"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>IndexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Index buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setIndexBuffer__IndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a557d08e2d163054e7642206ac00b6724"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>IndexBufferHandle <em>_handle</em>, uint32_t <em>_firstIndex</em>, uint32_t <em>_numIndices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_firstIndex</span></code>: First index to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of indices to render.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle">
<span id="_CPPv3N4bgfx14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="_CPPv2N4bgfx14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="bgfx::setIndexBuffer__DynamicIndexBufferHandle"></span><span class="target" id="namespacebgfx_1abdf5b7249100abcb08ec8195e65bbb66"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>DynamicIndexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setIndexBuffer__DynamicIndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a97f7ff081c65d9d14bab89286dacc8c2"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span>DynamicIndexBufferHandle <em>_handle</em>, uint32_t <em>_firstIndex</em>, uint32_t <em>_numIndices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_firstIndex</span></code>: First index to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of indices to render.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx20TransientIndexBufferE">
<span id="_CPPv3N4bgfx20TransientIndexBufferE"></span><span id="_CPPv2N4bgfx20TransientIndexBufferE"></span><span id="bgfx::TransientIndexBuffer"></span><span class="target" id="structbgfx_1_1_transient_index_buffer"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">TransientIndexBuffer</code><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Transient index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_transient_index_buffer_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx20TransientIndexBuffer4dataE">
<span id="_CPPv3N4bgfx20TransientIndexBuffer4dataE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer4dataE"></span><span id="bgfx::TransientIndexBuffer::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a56bca703d287253ac57f38dcb283fa1e"></span>uint8_t *<code class="sig-name descname">data</code><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer4dataE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Pointer to data. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx20TransientIndexBuffer4sizeE">
<span id="_CPPv3N4bgfx20TransientIndexBuffer4sizeE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer4sizeE"></span><span id="bgfx::TransientIndexBuffer::size__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a7de478d2ab89e7c7129455984457a9be"></span>uint32_t <code class="sig-name descname">size</code><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer4sizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Data size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx20TransientIndexBuffer10startIndexE">
<span id="_CPPv3N4bgfx20TransientIndexBuffer10startIndexE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer10startIndexE"></span><span id="bgfx::TransientIndexBuffer::startIndex__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a62c632b13cd7dc677fb192524b34f8a0"></span>uint32_t <code class="sig-name descname">startIndex</code><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer10startIndexE" title="Permalink to this definition"></a><br /></dt>
<dd><p>First index. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx20TransientIndexBuffer6handleE">
<span id="_CPPv3N4bgfx20TransientIndexBuffer6handleE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer6handleE"></span><span id="bgfx::TransientIndexBuffer::handle__IndexBufferHandle"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a434b4d95281489af1710cf6ed68f8979"></span>IndexBufferHandle <code class="sig-name descname">handle</code><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer6handleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Index buffer handle. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx20TransientIndexBuffer9isIndex16E">
<span id="_CPPv3N4bgfx20TransientIndexBuffer9isIndex16E"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer9isIndex16E"></span><span id="bgfx::TransientIndexBuffer::isIndex16__b"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a5844bd46c5af48c77430b8a323b5ecc5"></span>bool <code class="sig-name descname">isIndex16</code><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer9isIndex16E" title="Permalink to this definition"></a><br /></dt>
<dd><p>Index buffer format is 16-bits if true, otherwise it is 32-bit. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer">
<span id="_CPPv3N4bgfx14setIndexBufferEPK20TransientIndexBuffer"></span><span id="_CPPv2N4bgfx14setIndexBufferEPK20TransientIndexBuffer"></span><span id="bgfx::setIndexBuffer__TransientIndexBufferCP"></span><span class="target" id="namespacebgfx_1a31bede5af454ba8b2c802d15ee84abab"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer">TransientIndexBuffer</a> *<em>_tib</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tib</span></code>: Transient index buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="bgfx::setIndexBuffer__TransientIndexBufferCP.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a1ff04459d5f92944634903ab4bdfe8bc"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setIndexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer">TransientIndexBuffer</a> *<em>_tib</em>, uint32_t <em>_firstIndex</em>, uint32_t <em>_numIndices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set index buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tib</span></code>: Transient index buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_firstIndex</span></code>: First index to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numIndices</span></code>: Number of indices to render.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle">
<span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.VertexBufferHandle"></span><span class="target" id="namespacebgfx_1a29c3a6c07434061bea917120bcc4175d"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, VertexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
<span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.VertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1aafb3a52cdbe7f27d5677ee9ac8dc5e78"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, VertexBufferHandle <em>_handle</em>, uint32_t <em>_startVertex</em>, uint32_t <em>_numVertices</em>, VertexLayoutHandle <em>_layoutHandle</em> = BGFX_INVALID_HANDLE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startVertex</span></code>: First vertex to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layoutHandle</span></code>: Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle">
<span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.DynamicVertexBufferHandle"></span><span class="target" id="namespacebgfx_1ad6b0c076f266b1b7954ddc60c2e21571"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, DynamicVertexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
<span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.DynamicVertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1a2c56422c88d052f09ba3144c9e200287"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, DynamicVertexBufferHandle <em>_handle</em>, uint32_t <em>_startVertex</em>, uint32_t <em>_numVertices</em>, VertexLayoutHandle <em>_layoutHandle</em> = BGFX_INVALID_HANDLE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startVertex</span></code>: First vertex to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layoutHandle</span></code>: Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx21TransientVertexBufferE">
<span id="_CPPv3N4bgfx21TransientVertexBufferE"></span><span id="_CPPv2N4bgfx21TransientVertexBufferE"></span><span id="bgfx::TransientVertexBuffer"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">TransientVertexBuffer</code><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Transient vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_transient_vertex_buffer_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx21TransientVertexBuffer4dataE">
<span id="_CPPv3N4bgfx21TransientVertexBuffer4dataE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer4dataE"></span><span id="bgfx::TransientVertexBuffer::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1af7347b77991e133505e1291db44b6953"></span>uint8_t *<code class="sig-name descname">data</code><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer4dataE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Pointer to data. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx21TransientVertexBuffer4sizeE">
<span id="_CPPv3N4bgfx21TransientVertexBuffer4sizeE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer4sizeE"></span><span id="bgfx::TransientVertexBuffer::size__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1a1bcf038e6540ba4ea9b717f4d3336747"></span>uint32_t <code class="sig-name descname">size</code><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer4sizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Data size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx21TransientVertexBuffer11startVertexE">
<span id="_CPPv3N4bgfx21TransientVertexBuffer11startVertexE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer11startVertexE"></span><span id="bgfx::TransientVertexBuffer::startVertex__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1a94bf9b08164f27ef2aa599871945e227"></span>uint32_t <code class="sig-name descname">startVertex</code><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer11startVertexE" title="Permalink to this definition"></a><br /></dt>
<dd><p>First vertex. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx21TransientVertexBuffer6strideE">
<span id="_CPPv3N4bgfx21TransientVertexBuffer6strideE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer6strideE"></span><span id="bgfx::TransientVertexBuffer::stride__uint16_t"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1afb88e19c370bc99c1facb5ba92ee1e50"></span>uint16_t <code class="sig-name descname">stride</code><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer6strideE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex stride. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx21TransientVertexBuffer6handleE">
<span id="_CPPv3N4bgfx21TransientVertexBuffer6handleE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer6handleE"></span><span id="bgfx::TransientVertexBuffer::handle__VertexBufferHandle"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1aabfe2320c5979036798f5794ab21f977"></span>VertexBufferHandle <code class="sig-name descname">handle</code><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer6handleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex buffer handle. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx21TransientVertexBuffer12layoutHandleE">
<span id="_CPPv3N4bgfx21TransientVertexBuffer12layoutHandleE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer12layoutHandleE"></span><span id="bgfx::TransientVertexBuffer::layoutHandle__VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1a300fbc41ad9358c59aeb4614773c4a10"></span>VertexLayoutHandle <code class="sig-name descname">layoutHandle</code><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer12layoutHandleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex layout handle. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer">
<span id="_CPPv3N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="bgfx::setVertexBuffer__uint8_t.TransientVertexBufferCP"></span><span class="target" id="namespacebgfx_1adedeea9d83dc33076177b6c0657dbf6f"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer">TransientVertexBuffer</a> *<em>_tvb</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tvb</span></code>: Transient vertex buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle">
<span id="_CPPv3N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.TransientVertexBufferCP.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1ab64ad6773a7ee049a59b366b139a7dc3"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setVertexBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stream</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer">TransientVertexBuffer</a> *<em>_tvb</em>, uint32_t <em>_startVertex</em>, uint32_t <em>_numVertices</em>, VertexLayoutHandle <em>_layoutHandle</em> = BGFX_INVALID_HANDLE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set vertex buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stream</span></code>: Vertex stream. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_tvb</span></code>: Transient vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startVertex</span></code>: First vertex to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices to render. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layoutHandle</span></code>: Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14setVertexCountE8uint32_t">
<span id="_CPPv3N4bgfx14setVertexCountE8uint32_t"></span><span id="_CPPv2N4bgfx14setVertexCountE8uint32_t"></span><span id="bgfx::setVertexCount__uint32_t"></span><span class="target" id="namespacebgfx_1ad86de33993e8c57ee016d5af8a2c51bd"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setVertexCount</code><span class="sig-paren">(</span>uint32_t <em>_numVertices</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setVertexCountE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set number of vertices for auto generated vertices use in conjunction with gl_VertexID. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_count</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numVertices</span></code>: Number of vertices.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx18InstanceDataBufferE">
<span id="_CPPv3N4bgfx18InstanceDataBufferE"></span><span id="_CPPv2N4bgfx18InstanceDataBufferE"></span><span id="bgfx::InstanceDataBuffer"></span><span class="target" id="structbgfx_1_1_instance_data_buffer"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">InstanceDataBuffer</code><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Instance data buffer info. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_instance_data_buffer_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx18InstanceDataBuffer4dataE">
<span id="_CPPv3N4bgfx18InstanceDataBuffer4dataE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer4dataE"></span><span id="bgfx::InstanceDataBuffer::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a3ca64a920d51d545a2d55f9f4a07676b"></span>uint8_t *<code class="sig-name descname">data</code><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer4dataE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Pointer to data. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx18InstanceDataBuffer4sizeE">
<span id="_CPPv3N4bgfx18InstanceDataBuffer4sizeE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer4sizeE"></span><span id="bgfx::InstanceDataBuffer::size__uint32_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a9756b029b7456ff8968877ce74ab37df"></span>uint32_t <code class="sig-name descname">size</code><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer4sizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Data size. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx18InstanceDataBuffer6offsetE">
<span id="_CPPv3N4bgfx18InstanceDataBuffer6offsetE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer6offsetE"></span><span id="bgfx::InstanceDataBuffer::offset__uint32_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a91b8b832bbb281e48803f38a5f732f36"></span>uint32_t <code class="sig-name descname">offset</code><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer6offsetE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Offset in vertex buffer. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx18InstanceDataBuffer3numE">
<span id="_CPPv3N4bgfx18InstanceDataBuffer3numE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer3numE"></span><span id="bgfx::InstanceDataBuffer::num__uint32_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a1990052b31322da9be730efd026f24c4"></span>uint32_t <code class="sig-name descname">num</code><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer3numE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of instances. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx18InstanceDataBuffer6strideE">
<span id="_CPPv3N4bgfx18InstanceDataBuffer6strideE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer6strideE"></span><span id="bgfx::InstanceDataBuffer::stride__uint16_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a3dcc99168a618a698abaca9dc62033d6"></span>uint16_t <code class="sig-name descname">stride</code><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer6strideE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex buffer stride. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx18InstanceDataBuffer6handleE">
<span id="_CPPv3N4bgfx18InstanceDataBuffer6handleE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer6handleE"></span><span id="bgfx::InstanceDataBuffer::handle__VertexBufferHandle"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1ab24765df1ccf358a491f27931f0c91cc"></span>VertexBufferHandle <code class="sig-name descname">handle</code><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer6handleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex buffer object handle. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer">
<span id="_CPPv3N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="bgfx::setInstanceDataBuffer__InstanceDataBufferCP"></span><span class="target" id="namespacebgfx_1aa99e46d4c06aacf639114d727eac87dd"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer">InstanceDataBuffer</a> *<em>_idb</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_idb</span></code>: Transient instance data buffer.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="bgfx::setInstanceDataBuffer__InstanceDataBufferCP.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1ad9b9b9217c22449bc4d18af7abe4651e"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer">InstanceDataBuffer</a> *<em>_idb</em>, uint32_t <em>_start</em>, uint32_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_idb</span></code>: Transient instance data buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First instance data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of data instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setInstanceDataBuffer__VertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a20b0e58f00d16430069e045755e72bb0"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span>VertexBufferHandle <em>_handle</em>, uint32_t <em>_start</em>, uint32_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_from_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First instance data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of data instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t">
<span id="_CPPv3N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setInstanceDataBuffer__DynamicVertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1af5f5a928ce18fe1d2ea45e52e6d20238"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setInstanceDataBuffer</code><span class="sig-paren">(</span>DynamicVertexBufferHandle <em>_handle</em>, uint32_t <em>_start</em>, uint32_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set instance data buffer for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_from_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First instance data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of data instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx16setInstanceCountE8uint32_t">
<span id="_CPPv3N4bgfx16setInstanceCountE8uint32_t"></span><span id="_CPPv2N4bgfx16setInstanceCountE8uint32_t"></span><span id="bgfx::setInstanceCount__uint32_t"></span><span class="target" id="namespacebgfx_1aa41e297fd85870c1773f498cb7e51b05"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setInstanceCount</code><span class="sig-paren">(</span>uint32_t <em>_numInstances</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16setInstanceCountE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set number of instances for auto generated instances use in conjunction with gl_InstanceID. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_count</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numInstances</span></code>: Number of instances.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="textures">
<h4>Textures<a class="headerlink" href="#textures" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t">
<span id="_CPPv3N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="_CPPv2N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="bgfx::setTexture__uint8_t.UniformHandle.TextureHandle.uint32_t"></span><span class="target" id="namespacebgfx_1a62ed3fb0f144798a2a8ba2e19d0e2dc0"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setTexture</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, UniformHandle <em>_sampler</em>, TextureHandle <em>_handle</em>, uint32_t <em>_flags</em> = UINT32_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set texture stage for draw primitive. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_texture</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Texture unit. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_sampler</span></code>: Program sampler. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture sampling mode. Default value UINT32_MAX uses texture sampling settings from the texture.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="submit">
<h4>Submit<a class="headerlink" href="#submit" title="Permalink to this headline"></a></h4>
<p>In Views, all draw commands are executed <strong>after</strong> blit and compute commands.</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="bgfx::submit__ViewId.ProgramHandle.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1aac8f69b1ff11ad6c8a95db9f9e46d019"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">submit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_program</em>, uint32_t <em>_depth</em> = 0, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit primitive for rendering. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_submit</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_program</span></code>: Program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth for sorting. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="bgfx::submit__ViewId.ProgramHandle.OcclusionQueryHandle.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1a469d2c9d5eae99e063a091d9b1816d26"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">submit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_program</em>, OcclusionQueryHandle <em>_occlusionQuery</em>, uint32_t <em>_depth</em> = 0, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit primitive with occlusion query for rendering. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_submit_occlusion_query</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_program</span></code>: Program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_occlusionQuery</span></code>: Occlusion query. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth for sorting. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t"></span><span id="bgfx::submit__ViewId.ProgramHandle.IndirectBufferHandle.uint16_t.uint16_t.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1ab1dc0005156e66966d04e4978e9f84d3"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">submit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_program</em>, IndirectBufferHandle <em>_indirectHandle</em>, uint16_t <em>_start</em> = 0, uint16_t <em>_num</em> = 1, uint32_t <em>_depth</em> = 0, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Submit primitive for rendering with index and instance data info from indirect buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_submit_indirect</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_program</span></code>: Program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_indirectHandle</span></code>: Indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First element in indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of dispatches. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth for sorting. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</div>
<div class="section" id="compute">
<h3>Compute<a class="headerlink" href="#compute" title="Permalink to this headline"></a></h3>
<p>Compute state is not preserved between compute dispatches; all state is cleared after calling <cite>bgfx::dispatch</cite>.</p>
<div class="section" id="id4">
<h4>Buffers<a class="headerlink" href="#id4" title="Permalink to this headline"></a></h4>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx6AccessE">
<span id="_CPPv3N4bgfx6AccessE"></span><span id="_CPPv2N4bgfx6AccessE"></span><span id="bgfx::Access"></span><span class="target" id="structbgfx_1_1_access"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Access</code><a class="headerlink" href="#_CPPv4N4bgfx6AccessE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_access"><span class="std std-ref">Access</span></a> mode enum. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_access_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx6Access4EnumE">
<span id="_CPPv3N4bgfx6Access4EnumE"></span><span id="_CPPv2N4bgfx6Access4EnumE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_access"><span class="std std-ref">Access</span></a>: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Access4Enum4ReadE">
<span id="_CPPv3N4bgfx6Access4Enum4ReadE"></span><span id="_CPPv2N4bgfx6Access4Enum4ReadE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180aa8c5d200b47f6eba1f1ad2dc4149bcd4"></span><em class="property">enumerator </em><code class="sig-name descname">Read</code><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum4ReadE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Access4Enum5WriteE">
<span id="_CPPv3N4bgfx6Access4Enum5WriteE"></span><span id="_CPPv2N4bgfx6Access4Enum5WriteE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180a10ed39a89f1207269328309b7238ad74"></span><em class="property">enumerator </em><code class="sig-name descname">Write</code><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum5WriteE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Access4Enum9ReadWriteE">
<span id="_CPPv3N4bgfx6Access4Enum9ReadWriteE"></span><span id="_CPPv2N4bgfx6Access4Enum9ReadWriteE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180a844968ef8ec9575127437553bd0b128b"></span><em class="property">enumerator </em><code class="sig-name descname">ReadWrite</code><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum9ReadWriteE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read and write. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Access4Enum5CountE">
<span id="_CPPv3N4bgfx6Access4Enum5CountE"></span><span id="_CPPv2N4bgfx6Access4Enum5CountE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180af48902f20e66734d9cf257c4f1f31340"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.IndexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a94c3195ced868b94a232428561a21d56"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, IndexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Index buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.VertexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a85f8bcfd59b5d298e0e0cfd69cdcf4ce"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, VertexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Vertex buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.DynamicIndexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a353d269041bba99cc86345ad7ac6dd9f"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, DynamicIndexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute dynamic index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.DynamicVertexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a02cd00cdf0cb59d423d03b7358331bff"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, DynamicVertexBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute dynamic vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE">
<span id="_CPPv3N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.IndirectBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a52b241b7370222eea882474910cd49b4"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setBuffer</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, IndirectBufferHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute indirect buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_indirect_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Compute stage. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Indirect buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="images">
<h4>Images<a class="headerlink" href="#images" title="Permalink to this headline"></a></h4>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE">
<span id="_CPPv3N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="bgfx::setImage__uint8_t.TextureHandle.uint8_t.Access::Enum.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1aff6a7e1638d103b42340e553eed29796"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setImage</code><span class="sig-paren">(</span>uint8_t <em>_stage</em>, TextureHandle <em>_handle</em>, uint8_t <em>_mip</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em> = <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count">Count</a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set compute image from texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_image</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stage</span></code>: Texture unit. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mip</span></code>: Mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: Texture access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="dispatch">
<h4>Dispatch<a class="headerlink" href="#dispatch" title="Permalink to this headline"></a></h4>
<p>In Views, all draw commands are executed <strong>after</strong> blit and compute commands.</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t">
<span id="_CPPv3N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::dispatch__ViewId.ProgramHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1a3f99f5af2f277674422b56e60b5d8a91"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">dispatch</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_handle</em>, uint32_t <em>_numX</em> = 1, uint32_t <em>_numY</em> = 1, uint32_t <em>_numZ</em> = 1, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Dispatch compute. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dispatch</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Compute program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numX</span></code>: Number of groups X. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numY</span></code>: Number of groups Y. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numZ</span></code>: Number of groups Z. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t">
<span id="_CPPv3N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t"></span><span id="_CPPv2N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t"></span><span id="bgfx::dispatch__ViewId.ProgramHandle.IndirectBufferHandle.uint16_t.uint16_t.uint8_t"></span><span class="target" id="namespacebgfx_1a67c9b630c2b48baf101c66fc64aa5919"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">dispatch</code><span class="sig-paren">(</span>ViewId <em>_id</em>, ProgramHandle <em>_handle</em>, IndirectBufferHandle <em>_indirectHandle</em>, uint16_t <em>_start</em> = 0, uint16_t <em>_num</em> = 1, uint8_t <em>_flags</em> = BGFX_DISCARD_ALL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint16_t8uint16_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Dispatch compute indirect. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dispatch_indirect</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Compute program. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_indirectHandle</span></code>: Indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_start</span></code>: First element in indirect buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of dispatches. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</div>
<div class="section" id="blit">
<h3>Blit<a class="headerlink" href="#blit" title="Permalink to this headline"></a></h3>
<p>In Views, all draw commands are executed <strong>after</strong> blit and compute commands.</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::blit__ViewId.TextureHandle.uint16_t.uint16_t.TextureHandle.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1aebd5560001cdeb76b4fa88ac04b660d6"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">blit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, TextureHandle <em>_dst</em>, uint16_t <em>_dstX</em>, uint16_t <em>_dstY</em>, TextureHandle <em>_src</em>, uint16_t <em>_srcX</em> = 0, uint16_t <em>_srcY</em> = 0, uint16_t <em>_width</em> = UINT16_MAX, uint16_t <em>_height</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blit 2D texture region between two 2D textures. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_blit</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dst</span></code>: Destination texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstX</span></code>: Destination texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstY</span></code>: Destination texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_src</span></code>: Source texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcX</span></code>: Source texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcY</span></code>: Source texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of region.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t">
<span id="_CPPv3N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::blit__ViewId.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a3a1768b60ba0a0f162afa485bd013844"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">blit</code><span class="sig-paren">(</span>ViewId <em>_id</em>, TextureHandle <em>_dst</em>, uint8_t <em>_dstMip</em>, uint16_t <em>_dstX</em>, uint16_t <em>_dstY</em>, uint16_t <em>_dstZ</em>, TextureHandle <em>_src</em>, uint8_t <em>_srcMip</em> = 0, uint16_t <em>_srcX</em> = 0, uint16_t <em>_srcY</em> = 0, uint16_t <em>_srcZ</em> = 0, uint16_t <em>_width</em> = UINT16_MAX, uint16_t <em>_height</em> = UINT16_MAX, uint16_t <em>_depth</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Blit texture region between two textures. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_blit</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_id</span></code>: View id. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dst</span></code>: Destination texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstMip</span></code>: Destination texture mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstX</span></code>: Destination texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstY</span></code>: Destination texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_dstZ</span></code>: If texture is 2D this argument should be 0. If destination texture is cube this argument represents destination texture cube face. For 3D texture this argument represents destination texture Z position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_src</span></code>: Source texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcMip</span></code>: Source texture mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcX</span></code>: Source texture X position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcY</span></code>: Source texture Y position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_srcZ</span></code>: If texture is 2D this argument should be 0. If source texture is cube this argument represents source texture cube face. For 3D texture this argument represents source texture Z position. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of region. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: If texture is 3D this argument represents depth of region, otherwise its unused.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</div>
<div class="section" id="resources">
<h2>Resources<a class="headerlink" href="#resources" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx6MemoryE">
<span id="_CPPv3N4bgfx6MemoryE"></span><span id="_CPPv2N4bgfx6MemoryE"></span><span id="bgfx::Memory"></span><span class="target" id="structbgfx_1_1_memory"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Memory</code><a class="headerlink" href="#_CPPv4N4bgfx6MemoryE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_memory"><span class="std std-ref">Memory</span></a> must be obtained by calling <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aef1ce8b4b2523171deb7a0dd48cafe38"><span class="std std-ref"><span class="pre">bgfx::alloc</span></span></a></code>, <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1abef77615b85f71391e7eda16f24dc5b7"><span class="std std-ref"><span class="pre">bgfx::copy</span></span></a></code>, or <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a8dc7bf9f26afcc6f61dc602dfed09044"><span class="std std-ref"><span class="pre">bgfx::makeRef</span></span></a></code>. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>It is illegal to create this structure on stack and pass it to any bgfx API.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_memory_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx6Memory4dataE">
<span id="_CPPv3N4bgfx6Memory4dataE"></span><span id="_CPPv2N4bgfx6Memory4dataE"></span><span id="bgfx::Memory::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_memory_1a074d49f89140737540e6fb377ee02859"></span>uint8_t *<code class="sig-name descname">data</code><a class="headerlink" href="#_CPPv4N4bgfx6Memory4dataE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Pointer to data. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx6Memory4sizeE">
<span id="_CPPv3N4bgfx6Memory4sizeE"></span><span id="_CPPv2N4bgfx6Memory4sizeE"></span><span id="bgfx::Memory::size__uint32_t"></span><span class="target" id="structbgfx_1_1_memory_1af2daa4c1c380a5055a5adb33d5cfaa0a"></span>uint32_t <code class="sig-name descname">size</code><a class="headerlink" href="#_CPPv4N4bgfx6Memory4sizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Data size. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx5allocE8uint32_t">
<span id="_CPPv3N4bgfx5allocE8uint32_t"></span><span id="_CPPv2N4bgfx5allocE8uint32_t"></span><span id="bgfx::alloc__uint32_t"></span><span class="target" id="namespacebgfx_1aef1ce8b4b2523171deb7a0dd48cafe38"></span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">alloc</code><span class="sig-paren">(</span>uint32_t <em>_size</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5allocE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Allocate buffer to pass to bgfx calls. Data will be freed inside bgfx. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Size to allocate.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx4copyEPKv8uint32_t">
<span id="_CPPv3N4bgfx4copyEPKv8uint32_t"></span><span id="_CPPv2N4bgfx4copyEPKv8uint32_t"></span><span id="bgfx::copy__voidCP.uint32_t"></span><span class="target" id="namespacebgfx_1abef77615b85f71391e7eda16f24dc5b7"></span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">copy</code><span class="sig-paren">(</span><em class="property">const</em> void *<em>_data</em>, uint32_t <em>_size</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4copyEPKv8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Allocate buffer and copy data into it. Data will be freed inside bgfx. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_copy</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Pointer to data to be copied. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Size of data to be copied.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv">
<span id="_CPPv3N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv"></span><span id="_CPPv2N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv"></span><span id="bgfx::makeRef__voidCP.uint32_t.ReleaseFn.voidP"></span><span class="target" id="namespacebgfx_1a8dc7bf9f26afcc6f61dc602dfed09044"></span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">makeRef</code><span class="sig-paren">(</span><em class="property">const</em> void *<em>_data</em>, uint32_t <em>_size</em>, ReleaseFn <em>_releaseFn</em> = NULL, void *<em>_userData</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Make reference to data to pass to bgfx. Unlike <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aef1ce8b4b2523171deb7a0dd48cafe38"><span class="std std-ref"><span class="pre">bgfx::alloc</span></span></a></code>, this call doesnt allocate memory for data. It just copies the _data pointer. You can pass <code class="docutils literal notranslate"><span class="pre">ReleaseFn</span></code> function pointer to release this memory after its consumed, otherwise you must make sure _data is available for at least 2 <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> calls. <code class="docutils literal notranslate"><span class="pre">ReleaseFn</span></code> function must be able to be called from any thread. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Data passed must be available for at least 2 <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> calls. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent bindings are <code class="docutils literal notranslate"><span class="pre">bgfx_make_ref</span></code>, <code class="docutils literal notranslate"><span class="pre">bgfx_make_ref_release</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Pointer to data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Size of data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_releaseFn</span></code>: Callback function to release memory after use. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_userData</span></code>: User data to be passed to callback function.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<div class="section" id="shaders-and-programs">
<h3>Shaders and Programs<a class="headerlink" href="#shaders-and-programs" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12createShaderEPK6Memory">
<span id="_CPPv3N4bgfx12createShaderEPK6Memory"></span><span id="_CPPv2N4bgfx12createShaderEPK6Memory"></span><span id="bgfx::createShader__MemoryCP"></span><span class="target" id="namespacebgfx_1af575a29f8b3e555cb1b13f01fadbeb37"></span>ShaderHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createShader</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12createShaderEPK6Memory" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create shader from memory buffer. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Shader handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_shader</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t">
<span id="_CPPv3N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t"></span><span id="_CPPv2N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t"></span><span id="bgfx::getShaderUniforms__ShaderHandle.UniformHandleP.uint16_t"></span><span class="target" id="namespacebgfx_1a2e9de394b0d4aac971efa7b7f2fa3d3e"></span>uint16_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getShaderUniforms</code><span class="sig-paren">(</span>ShaderHandle <em>_handle</em>, UniformHandle *<em>_uniforms</em> = NULL, uint16_t <em>_max</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns the number of uniforms and uniform handles used inside a shader. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Number of uniforms used by shader.</p>
</dd>
<dt><strong>Remark</strong></dt><dd><p>Only non-predefined uniforms are returned.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_shader_uniforms</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Shader handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_uniforms</span></code>: UniformHandle array where data will be stored. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_max</span></code>: Maximum capacity of array. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE12ShaderHandle">
<span id="_CPPv3N4bgfx7destroyE12ShaderHandle"></span><span id="_CPPv2N4bgfx7destroyE12ShaderHandle"></span><span id="bgfx::destroy__ShaderHandle"></span><span class="target" id="namespacebgfx_1aee6eab22226f936cc82291b261792597"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>ShaderHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE12ShaderHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy shader. Once a shader program is created with _handle, it is safe to destroy that shader. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_shader</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Shader handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx13createProgramE12ShaderHandle12ShaderHandleb">
<span id="_CPPv3N4bgfx13createProgramE12ShaderHandle12ShaderHandleb"></span><span id="_CPPv2N4bgfx13createProgramE12ShaderHandle12ShaderHandleb"></span><span id="bgfx::createProgram__ShaderHandle.ShaderHandle.b"></span><span class="target" id="namespacebgfx_1a5b3bafcd7948f54136c7b731236e3b7a"></span>ProgramHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createProgram</code><span class="sig-paren">(</span>ShaderHandle <em>_vsh</em>, ShaderHandle <em>_fsh</em>, bool <em>_destroyShaders</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createProgramE12ShaderHandle12ShaderHandleb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create program with vertex and fragment shaders. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Program handle if vertex shader output and fragment shader input are matching, otherwise returns invalid program handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_program</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_vsh</span></code>: Vertex shader. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_fsh</span></code>: Fragment shader. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_destroyShaders</span></code>: If true, shaders will be destroyed when program is destroyed. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx13createProgramE12ShaderHandleb">
<span id="_CPPv3N4bgfx13createProgramE12ShaderHandleb"></span><span id="_CPPv2N4bgfx13createProgramE12ShaderHandleb"></span><span id="bgfx::createProgram__ShaderHandle.b"></span><span class="target" id="namespacebgfx_1aca7241539155409a3aaa0f81e2a9c7ff"></span>ProgramHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createProgram</code><span class="sig-paren">(</span>ShaderHandle <em>_csh</em>, bool <em>_destroyShader</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createProgramE12ShaderHandleb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create program with compute shader. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Program handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_compute_program</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_csh</span></code>: Compute shader. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_destroyShader</span></code>: If true, shader will be destroyed when program is destroyed. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE13ProgramHandle">
<span id="_CPPv3N4bgfx7destroyE13ProgramHandle"></span><span id="_CPPv2N4bgfx7destroyE13ProgramHandle"></span><span id="bgfx::destroy__ProgramHandle"></span><span class="target" id="namespacebgfx_1a2b851eb71165e274b9a3d83388e45ed0"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>ProgramHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE13ProgramHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy program. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_program</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Program handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="uniforms">
<h3>Uniforms<a class="headerlink" href="#uniforms" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t">
<span id="_CPPv3N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t"></span><span id="_CPPv2N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t"></span><span id="bgfx::createUniform__cCP.UniformType::Enum.uint16_t"></span><span class="target" id="namespacebgfx_1a45614b96172b438fd644c858e2c434b2"></span>UniformHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createUniform</code><span class="sig-paren">(</span><em class="property">const</em> char *<em>_name</em>, <a class="reference internal" href="#_CPPv4N4bgfx11UniformTypeE" title="bgfx::UniformType">UniformType</a>::<a class="reference internal" href="#_CPPv4N4bgfx11UniformType4EnumE" title="bgfx::UniformType::Enum">Enum</a> <em>_type</em>, uint16_t <em>_num</em> = 1<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create shader uniform parameter. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Handle to uniform object.</p>
</dd>
<dt><strong>Remark</strong></dt><dd><p><ol class="loweralpha simple">
<li><p>Uniform names are unique. Its valid to call <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a45614b96172b438fd644c858e2c434b2"><span class="std std-ref"><span class="pre">bgfx::createUniform</span></span></a></code> multiple times with the same uniform name. The library will always return the same handle, but the handle reference count will be incremented. This means that the same number of <code class="docutils literal notranslate"><span class="pre">bgfx::destroyUniform</span></code> must be called to properly destroy the uniform.</p></li>
<li><p>Predefined uniforms (declared in <code class="docutils literal notranslate"><span class="pre">bgfx_shader.sh</span></code>):<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">u_viewRect</span> <span class="pre">vec4(x,</span> <span class="pre">y,</span> <span class="pre">width,</span> <span class="pre">height)</span></code> - view rectangle for current view, in pixels.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_viewTexel</span> <span class="pre">vec4(1.0/width,</span> <span class="pre">1.0/height,</span> <span class="pre">undef,</span> <span class="pre">undef)</span></code> - inverse width and height</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_view</span> <span class="pre">mat4</span></code> - view matrix</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_invView</span> <span class="pre">mat4</span></code> - inverted view matrix</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_proj</span> <span class="pre">mat4</span></code> - projection matrix</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_invProj</span> <span class="pre">mat4</span></code> - inverted projection matrix</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_viewProj</span> <span class="pre">mat4</span></code> - concatenated view projection matrix</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_invViewProj</span> <span class="pre">mat4</span></code> - concatenated inverted view projection matrix</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_model</span> <span class="pre">mat4[BGFX_CONFIG_MAX_BONES]</span></code> - array of model matrices.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_modelView</span> <span class="pre">mat4</span></code> - concatenated model view matrix, only first model matrix from array is used.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_modelViewProj</span> <span class="pre">mat4</span></code> - concatenated model view projection matrix.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">u_alphaRef</span> <span class="pre">float</span></code> - alpha reference value for alpha test.</p></li>
</ul>
</p></li>
</ol>
</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_uniform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: Uniform name in shader. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_type</span></code>: Type of uniform (See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_uniform_type"><span class="std std-ref"><span class="pre">bgfx::UniformType</span></span></a></code>). </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of elements in array.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo">
<span id="_CPPv3N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo"></span><span id="_CPPv2N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo"></span><span id="bgfx::getUniformInfo__UniformHandle.UniformInfoR"></span><span class="target" id="namespacebgfx_1aa57213d4971e397983c217ee97326e37"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getUniformInfo</code><span class="sig-paren">(</span>UniformHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx11UniformInfoE" title="bgfx::UniformInfo">UniformInfo</a> &amp;<em>_info</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo" title="Permalink to this definition"></a><br /></dt>
<dd><p>Retrieve uniform info. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_uniform_info</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Handle to uniform object. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_info</span></code>: Uniform info.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE13UniformHandle">
<span id="_CPPv3N4bgfx7destroyE13UniformHandle"></span><span id="_CPPv2N4bgfx7destroyE13UniformHandle"></span><span id="bgfx::destroy__UniformHandle"></span><span class="target" id="namespacebgfx_1a3758fba789e327a1f3b02f887a95052b"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>UniformHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE13UniformHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy shader uniform parameter. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_uniform</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Handle to uniform object.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx11UniformTypeE">
<span id="_CPPv3N4bgfx11UniformTypeE"></span><span id="_CPPv2N4bgfx11UniformTypeE"></span><span id="bgfx::UniformType"></span><span class="target" id="structbgfx_1_1_uniform_type"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">UniformType</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformTypeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Uniform type enum. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_uniform_type_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx11UniformType4EnumE">
<span id="_CPPv3N4bgfx11UniformType4EnumE"></span><span id="_CPPv2N4bgfx11UniformType4EnumE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Uniform types: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx11UniformType4Enum7SamplerE">
<span id="_CPPv3N4bgfx11UniformType4Enum7SamplerE"></span><span id="_CPPv2N4bgfx11UniformType4Enum7SamplerE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79ace9711112b33ae973d0c3fa9c2e14c2e"></span><em class="property">enumerator </em><code class="sig-name descname">Sampler</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum7SamplerE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Sampler. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx11UniformType4Enum3EndE">
<span id="_CPPv3N4bgfx11UniformType4Enum3EndE"></span><span id="_CPPv2N4bgfx11UniformType4Enum3EndE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79af032fc38d9876bbc4f4609116ced94c9"></span><em class="property">enumerator </em><code class="sig-name descname">End</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum3EndE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Reserved, do not use. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx11UniformType4Enum4Vec4E">
<span id="_CPPv3N4bgfx11UniformType4Enum4Vec4E"></span><span id="_CPPv2N4bgfx11UniformType4Enum4Vec4E"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79ad3a487a974362da30ed861d5e60134dd"></span><em class="property">enumerator </em><code class="sig-name descname">Vec4</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum4Vec4E" title="Permalink to this definition"></a><br /></dt>
<dd><p>4 floats vector. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx11UniformType4Enum4Mat3E">
<span id="_CPPv3N4bgfx11UniformType4Enum4Mat3E"></span><span id="_CPPv2N4bgfx11UniformType4Enum4Mat3E"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79a4912934f4e16efd08a14a396fed267f2"></span><em class="property">enumerator </em><code class="sig-name descname">Mat3</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum4Mat3E" title="Permalink to this definition"></a><br /></dt>
<dd><p>3x3 matrix. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx11UniformType4Enum4Mat4E">
<span id="_CPPv3N4bgfx11UniformType4Enum4Mat4E"></span><span id="_CPPv2N4bgfx11UniformType4Enum4Mat4E"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79ac875f375dfc3adf73780a4114c6cc851"></span><em class="property">enumerator </em><code class="sig-name descname">Mat4</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum4Mat4E" title="Permalink to this definition"></a><br /></dt>
<dd><p>4x4 matrix. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx11UniformType4Enum5CountE">
<span id="_CPPv3N4bgfx11UniformType4Enum5CountE"></span><span id="_CPPv2N4bgfx11UniformType4Enum5CountE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79aa7cf5e8e3c979dcb60476fe4dc891dd1"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx11UniformInfoE">
<span id="_CPPv3N4bgfx11UniformInfoE"></span><span id="_CPPv2N4bgfx11UniformInfoE"></span><span id="bgfx::UniformInfo"></span><span class="target" id="structbgfx_1_1_uniform_info"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">UniformInfo</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformInfoE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Uniform info. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_uniform_info_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11UniformInfo4nameE">
<span id="_CPPv3N4bgfx11UniformInfo4nameE"></span><span id="_CPPv2N4bgfx11UniformInfo4nameE"></span><span id="bgfx::UniformInfo::name__cA"></span><span class="target" id="structbgfx_1_1_uniform_info_1a31297c5b74a406c6a3aeb992524076ad"></span>char <code class="sig-name descname">name</code>[256]<a class="headerlink" href="#_CPPv4N4bgfx11UniformInfo4nameE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Uniform name. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11UniformInfo4typeE">
<span id="_CPPv3N4bgfx11UniformInfo4typeE"></span><span id="_CPPv2N4bgfx11UniformInfo4typeE"></span><span id="bgfx::UniformInfo::type__UniformType::Enum"></span><span class="target" id="structbgfx_1_1_uniform_info_1a0f485153be537102d0350111bb58efbd"></span><a class="reference internal" href="#_CPPv4N4bgfx11UniformTypeE" title="bgfx::UniformType">UniformType</a>::<a class="reference internal" href="#_CPPv4N4bgfx11UniformType4EnumE" title="bgfx::UniformType::Enum">Enum</a> <code class="sig-name descname">type</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformInfo4typeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Uniform type. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11UniformInfo3numE">
<span id="_CPPv3N4bgfx11UniformInfo3numE"></span><span id="_CPPv2N4bgfx11UniformInfo3numE"></span><span id="bgfx::UniformInfo::num__uint16_t"></span><span class="target" id="structbgfx_1_1_uniform_info_1acab624b397b0c788e6bd011f92823e88"></span>uint16_t <code class="sig-name descname">num</code><a class="headerlink" href="#_CPPv4N4bgfx11UniformInfo3numE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of elements in array. </p>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="vertex-buffers">
<h3>Vertex Buffers<a class="headerlink" href="#vertex-buffers" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx18createVertexLayoutERK12VertexLayout">
<span id="_CPPv3N4bgfx18createVertexLayoutERK12VertexLayout"></span><span id="_CPPv2N4bgfx18createVertexLayoutERK12VertexLayout"></span><span id="bgfx::createVertexLayout__VertexLayoutCR"></span><span class="target" id="namespacebgfx_1a72d2f7b66a243675ac264ec16aae514e"></span>VertexLayoutHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createVertexLayout</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18createVertexLayoutERK12VertexLayout" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create vertex layout. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_vertex_layout</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE18VertexLayoutHandle">
<span id="_CPPv3N4bgfx7destroyE18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7destroyE18VertexLayoutHandle"></span><span id="bgfx::destroy__VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1a56766b21d7adc66ea907d29f8a6300f0"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>VertexLayoutHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE18VertexLayoutHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy vertex layout. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_vertex_layout</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t">
<span id="_CPPv3N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="_CPPv2N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="bgfx::createVertexBuffer__MemoryCP.VertexLayoutCR.uint16_t"></span><span class="target" id="namespacebgfx_1ae1bcdc7c5de06d95b484e85e5b294859"></span>VertexBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createVertexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em>, uint16_t <em>_flags</em> = BGFX_BUFFER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create static vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Static vertex buffer handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Vertex buffer data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Buffer creation flags.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7setNameE18VertexBufferHandlePKc7int32_t">
<span id="_CPPv3N4bgfx7setNameE18VertexBufferHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE18VertexBufferHandlePKc7int32_t"></span><span id="bgfx::setName__VertexBufferHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a5772f1aa8ef386f46e185b8f6c4d0ee5"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setName</code><span class="sig-paren">(</span>VertexBufferHandle <em>_handle</em>, <em class="property">const</em> char *<em>_name</em>, int32_t <em>_len</em> = INT32_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE18VertexBufferHandlePKc7int32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set static vertex buffer debug name. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_buffer_name</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Static vertex buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: Static vertex buffer name. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_len</span></code>: Static vertex buffer name length (if length is INT32_MAX, its expected that _name is zero terminated string.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE18VertexBufferHandle">
<span id="_CPPv3N4bgfx7destroyE18VertexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE18VertexBufferHandle"></span><span id="bgfx::destroy__VertexBufferHandle"></span><span class="target" id="namespacebgfx_1aca9e51180be7d3e391cc8601e443e9ea"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>VertexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE18VertexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy static vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Static vertex buffer handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx12VertexLayoutE">
<span id="_CPPv3N4bgfx12VertexLayoutE"></span><span id="_CPPv2N4bgfx12VertexLayoutE"></span><span id="bgfx::VertexLayout"></span><span class="target" id="structbgfx_1_1_vertex_layout"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">VertexLayout</code><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayoutE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex layout. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Functions</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12VertexLayout5beginEN12RendererType4EnumE">
<span id="_CPPv3N4bgfx12VertexLayout5beginEN12RendererType4EnumE"></span><span id="_CPPv2N4bgfx12VertexLayout5beginEN12RendererType4EnumE"></span><span id="bgfx::VertexLayout::begin__RendererType::Enum"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a2b2998347928166ddf7b4c3a295b9bd9"></span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<code class="sig-name descname">begin</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType">RendererType</a>::<a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum">Enum</a> <em>_renderer</em> = <a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType">RendererType</a>::<a class="reference internal" href="#_CPPv4N4bgfx12RendererType4Enum4NoopE" title="bgfx::RendererType::Noop">Noop</a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout5beginEN12RendererType4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Start <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a>. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Returns itself.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_begin</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_renderer</span></code>: Renderer backend type. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_renderer_type"><span class="std std-ref"><span class="pre">bgfx::RendererType</span></span></a></code> </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12VertexLayout3endEv">
<span id="_CPPv3N4bgfx12VertexLayout3endEv"></span><span id="_CPPv2N4bgfx12VertexLayout3endEv"></span><span id="bgfx::VertexLayout::end"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a65d865c726182c68165c507316a48772"></span>void <code class="sig-name descname">end</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout3endEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>End <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a>. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_end</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb">
<span id="_CPPv3N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb"></span><span id="_CPPv2N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb"></span><span id="bgfx::VertexLayout::add__Attrib::Enum.uint8_t.AttribType::Enum.b.b"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a3110387d08504540dcf93701b55ca4e5"></span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<code class="sig-name descname">add</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib">Attrib</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum">Enum</a> <em>_attrib</em>, uint8_t <em>_num</em>, <a class="reference internal" href="#_CPPv4N4bgfx10AttribTypeE" title="bgfx::AttribType">AttribType</a>::<a class="reference internal" href="#_CPPv4N4bgfx10AttribType4EnumE" title="bgfx::AttribType::Enum">Enum</a> <em>_type</em>, bool <em>_normalized</em> = false, bool <em>_asInt</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Add attribute to <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a>. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Returns itself.</p>
</dd>
<dt><strong>Remark</strong></dt><dd><p>Must be called between begin/end.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_add</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attrib</span></code>: Attribute semantics. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attrib"><span class="std std-ref"><span class="pre">bgfx::Attrib</span></span></a></code> </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of elements 1, 2, 3 or 4. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_type</span></code>: Element type. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_normalized</span></code>: When using fixed point <a class="reference internal" href="#structbgfx_1_1_attrib_type"><span class="std std-ref">AttribType</span></a> (f.e. Uint8) value will be normalized for vertex shader usage. When normalized is set to true, <a class="reference internal" href="#structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a68937a9abcfa9556980f9e127e234748"><span class="std std-ref">AttribType::Uint8</span></a> value in range 0-255 will be in range 0.0-1.0 in vertex shader. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_asInt</span></code>: Packaging rule for vertexPack, vertexUnpack, and vertexConvert for <a class="reference internal" href="#structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a68937a9abcfa9556980f9e127e234748"><span class="std std-ref">AttribType::Uint8</span></a> and <a class="reference internal" href="#structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ae0cd559664652e9d0086ea4316280f1b"><span class="std std-ref">AttribType::Int16</span></a>. Unpacking code must be implemented inside vertex shader. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx12VertexLayout4skipE7uint8_t">
<span id="_CPPv3N4bgfx12VertexLayout4skipE7uint8_t"></span><span id="_CPPv2N4bgfx12VertexLayout4skipE7uint8_t"></span><span id="bgfx::VertexLayout::skip__uint8_t"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a5b4ce3b9628b22a886508a0548c1e0cb"></span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<code class="sig-name descname">skip</code><span class="sig-paren">(</span>uint8_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout4skipE7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Skip _num bytes in vertex stream. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Returns itself.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_skip</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb">
<span id="_CPPv3NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb"></span><span id="_CPPv2NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb"></span><span id="bgfx::VertexLayout::decode__Attrib::Enum.uint8_tR.AttribType::EnumR.bR.bRC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a706fb12268b81c666ddcfbbb0a6ecc20"></span>void <code class="sig-name descname">decode</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib">Attrib</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum">Enum</a> <em>_attrib</em>, uint8_t &amp;<em>_num</em>, <a class="reference internal" href="#_CPPv4N4bgfx10AttribTypeE" title="bgfx::AttribType">AttribType</a>::<a class="reference internal" href="#_CPPv4N4bgfx10AttribType4EnumE" title="bgfx::AttribType::Enum">Enum</a> &amp;<em>_type</em>, bool &amp;<em>_normalized</em>, bool &amp;<em>_asInt</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Decode attribute. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_decode</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4NK4bgfx12VertexLayout3hasEN6Attrib4EnumE">
<span id="_CPPv3NK4bgfx12VertexLayout3hasEN6Attrib4EnumE"></span><span id="_CPPv2NK4bgfx12VertexLayout3hasEN6Attrib4EnumE"></span><span id="bgfx::VertexLayout::has__Attrib::EnumC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a1da9c673f86b51221a30ee3626783c78"></span>bool <code class="sig-name descname">has</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib">Attrib</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum">Enum</a> <em>_attrib</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout3hasEN6Attrib4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns <code class="docutils literal notranslate"><span class="pre">true</span></code> if <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a> contains attribute. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>True if <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a> contains attribute.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_has</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attrib</span></code>: Attribute semantics. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attrib"><span class="std std-ref"><span class="pre">bgfx::Attrib</span></span></a></code> </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE">
<span id="_CPPv3NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE"></span><span id="_CPPv2NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE"></span><span id="bgfx::VertexLayout::getOffset__Attrib::EnumC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a754e7b0c5a0c27b9e3aaad13566151a9"></span>uint16_t <code class="sig-name descname">getOffset</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib">Attrib</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum">Enum</a> <em>_attrib</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns relative attribute offset from the vertex. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Relative attribute offset from the vertex. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attrib</span></code>: Attribute semantics. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attrib"><span class="std std-ref"><span class="pre">bgfx::Attrib</span></span></a></code> </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4NK4bgfx12VertexLayout9getStrideEv">
<span id="_CPPv3NK4bgfx12VertexLayout9getStrideEv"></span><span id="_CPPv2NK4bgfx12VertexLayout9getStrideEv"></span><span id="bgfx::VertexLayout::getStrideC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a1f12bca7a530bc1c01cfca30266a85de"></span>uint16_t <code class="sig-name descname">getStride</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout9getStrideEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns vertex stride. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Vertex stride. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4NK4bgfx12VertexLayout7getSizeE8uint32_t">
<span id="_CPPv3NK4bgfx12VertexLayout7getSizeE8uint32_t"></span><span id="_CPPv2NK4bgfx12VertexLayout7getSizeE8uint32_t"></span><span id="bgfx::VertexLayout::getSize__uint32_tC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a269660c1f51a12dda654f1d69cffd69a"></span>uint32_t <code class="sig-name descname">getSize</code><span class="sig-paren">(</span>uint32_t <em>_num</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout7getSizeE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns size of vertex buffer for number of vertices. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Size of vertex buffer for number of vertices. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of vertices. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12VertexLayout6m_hashE">
<span id="_CPPv3N4bgfx12VertexLayout6m_hashE"></span><span id="_CPPv2N4bgfx12VertexLayout6m_hashE"></span><span id="bgfx::VertexLayout::m_hash__uint32_t"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a32439f8faf9f68d9ac021a91fe16d424"></span>uint32_t <code class="sig-name descname">m_hash</code><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout6m_hashE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Hash. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12VertexLayout8m_strideE">
<span id="_CPPv3N4bgfx12VertexLayout8m_strideE"></span><span id="_CPPv2N4bgfx12VertexLayout8m_strideE"></span><span id="bgfx::VertexLayout::m_stride__uint16_t"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a80a56f976bde20a46dd471a7cea9e445"></span>uint16_t <code class="sig-name descname">m_stride</code><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout8m_strideE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Stride. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12VertexLayout8m_offsetE">
<span id="_CPPv3N4bgfx12VertexLayout8m_offsetE"></span><span id="_CPPv2N4bgfx12VertexLayout8m_offsetE"></span><span id="bgfx::VertexLayout::m_offset__uint16_tA"></span><span class="target" id="structbgfx_1_1_vertex_layout_1ae5cfc316c1df05a165ad50cb6ce0177c"></span>uint16_t <code class="sig-name descname">m_offset</code>[<code class="sig-name descname">Count</code>]<a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout8m_offsetE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Attribute offsets. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx12VertexLayout12m_attributesE">
<span id="_CPPv3N4bgfx12VertexLayout12m_attributesE"></span><span id="_CPPv2N4bgfx12VertexLayout12m_attributesE"></span><span id="bgfx::VertexLayout::m_attributes__uint16_tA"></span><span class="target" id="structbgfx_1_1_vertex_layout_1adb4140562c657f2b6d8bee1c16b5eaec"></span>uint16_t <code class="sig-name descname">m_attributes</code>[<code class="sig-name descname">Count</code>]<a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout12m_attributesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Used attributes. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx6AttribE">
<span id="_CPPv3N4bgfx6AttribE"></span><span id="_CPPv2N4bgfx6AttribE"></span><span id="bgfx::Attrib"></span><span class="target" id="structbgfx_1_1_attrib"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Attrib</code><a class="headerlink" href="#_CPPv4N4bgfx6AttribE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex attribute enum. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_attrib_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx6Attrib4EnumE">
<span id="_CPPv3N4bgfx6Attrib4EnumE"></span><span id="_CPPv2N4bgfx6Attrib4EnumE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Corresponds to vertex shader attribute. </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum8PositionE">
<span id="_CPPv3N4bgfx6Attrib4Enum8PositionE"></span><span id="_CPPv2N4bgfx6Attrib4Enum8PositionE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a444e880622319fc0eb0c7780d31cbc9d"></span><em class="property">enumerator </em><code class="sig-name descname">Position</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum8PositionE" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_position </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum6NormalE">
<span id="_CPPv3N4bgfx6Attrib4Enum6NormalE"></span><span id="_CPPv2N4bgfx6Attrib4Enum6NormalE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a09cc6a5be35f6888511d48dab335d8aa"></span><em class="property">enumerator </em><code class="sig-name descname">Normal</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6NormalE" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_normal </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum7TangentE">
<span id="_CPPv3N4bgfx6Attrib4Enum7TangentE"></span><span id="_CPPv2N4bgfx6Attrib4Enum7TangentE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804abe44e93b67a4e48aabe3218eabd5d2c7"></span><em class="property">enumerator </em><code class="sig-name descname">Tangent</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum7TangentE" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_tangent </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9BitangentE">
<span id="_CPPv3N4bgfx6Attrib4Enum9BitangentE"></span><span id="_CPPv2N4bgfx6Attrib4Enum9BitangentE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a50aec54f390f3a2c7a8c1e0b10b65796"></span><em class="property">enumerator </em><code class="sig-name descname">Bitangent</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9BitangentE" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_bitangent </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum6Color0E">
<span id="_CPPv3N4bgfx6Attrib4Enum6Color0E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color0E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804aa338a476b1dfd61f3ed33bbb87c7f50d"></span><em class="property">enumerator </em><code class="sig-name descname">Color0</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color0E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_color0 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum6Color1E">
<span id="_CPPv3N4bgfx6Attrib4Enum6Color1E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color1E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804acf56be5ceeef8242b540cbd6fd5fa35d"></span><em class="property">enumerator </em><code class="sig-name descname">Color1</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color1E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_color1 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum6Color2E">
<span id="_CPPv3N4bgfx6Attrib4Enum6Color2E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color2E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a5f72a5fba4d62dd373c8c8387d120270"></span><em class="property">enumerator </em><code class="sig-name descname">Color2</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color2E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_color2 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum6Color3E">
<span id="_CPPv3N4bgfx6Attrib4Enum6Color3E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color3E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a345365a6d18a7fea2d4cbfc10cd8e699"></span><em class="property">enumerator </em><code class="sig-name descname">Color3</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color3E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_color3 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum7IndicesE">
<span id="_CPPv3N4bgfx6Attrib4Enum7IndicesE"></span><span id="_CPPv2N4bgfx6Attrib4Enum7IndicesE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804aec853fa913eaa3fe7000e8de29221251"></span><em class="property">enumerator </em><code class="sig-name descname">Indices</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum7IndicesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_indices </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum6WeightE">
<span id="_CPPv3N4bgfx6Attrib4Enum6WeightE"></span><span id="_CPPv2N4bgfx6Attrib4Enum6WeightE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804ab2b1c6cdb809113d4e7a00d1ea3e9553"></span><em class="property">enumerator </em><code class="sig-name descname">Weight</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6WeightE" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_weight </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord0E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord0E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord0E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804af411508986750772763964faf2cd9f30"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord0</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord0E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord0 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord1E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord1E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord1E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804aaa9c4433664b958ea22b848d42800c0e"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord1</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord1E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord1 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord2E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord2E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord2E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a06241a5d80e48e22c7298b293d2365d1"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord2</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord2E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord2 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord3E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord3E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord3E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a6100dccd6abe910c75c7510736100746"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord3</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord3E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord3 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord4E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord4E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord4E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a0db1ca4e5406499e8c99e8fba13b9c6c"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord4</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord4E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord4 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord5E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord5E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord5E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a6c9428b5dab98f29bc21c3a4dd754a9a"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord5</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord5E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord5 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord6E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord6E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord6E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a788ec43ba852d3aaee1b936bcd90867d"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord6</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord6E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord6 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum9TexCoord7E">
<span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord7E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord7E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a52f610def404c268cb1eb4108770529f"></span><em class="property">enumerator </em><code class="sig-name descname">TexCoord7</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord7E" title="Permalink to this definition"></a><br /></dt>
<dd><p>a_texcoord7 </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx6Attrib4Enum5CountE">
<span id="_CPPv3N4bgfx6Attrib4Enum5CountE"></span><span id="_CPPv2N4bgfx6Attrib4Enum5CountE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804af776fac0e35a1394d9fcf135f1a77ad0"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx10AttribTypeE">
<span id="_CPPv3N4bgfx10AttribTypeE"></span><span id="_CPPv2N4bgfx10AttribTypeE"></span><span id="bgfx::AttribType"></span><span class="target" id="structbgfx_1_1_attrib_type"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">AttribType</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribTypeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Vertex attribute type enum. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_attrib_type_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx10AttribType4EnumE">
<span id="_CPPv3N4bgfx10AttribType4EnumE"></span><span id="_CPPv2N4bgfx10AttribType4EnumE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Attribute types: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx10AttribType4Enum5Uint8E">
<span id="_CPPv3N4bgfx10AttribType4Enum5Uint8E"></span><span id="_CPPv2N4bgfx10AttribType4Enum5Uint8E"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a68937a9abcfa9556980f9e127e234748"></span><em class="property">enumerator </em><code class="sig-name descname">Uint8</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5Uint8E" title="Permalink to this definition"></a><br /></dt>
<dd><p>Uint8. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx10AttribType4Enum6Uint10E">
<span id="_CPPv3N4bgfx10AttribType4Enum6Uint10E"></span><span id="_CPPv2N4bgfx10AttribType4Enum6Uint10E"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4aa208b1e17e7dc91ff1bf6c5c2866be9b"></span><em class="property">enumerator </em><code class="sig-name descname">Uint10</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum6Uint10E" title="Permalink to this definition"></a><br /></dt>
<dd><p>Uint10, availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ATTRIB_UINT10</span></code>. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx10AttribType4Enum5Int16E">
<span id="_CPPv3N4bgfx10AttribType4Enum5Int16E"></span><span id="_CPPv2N4bgfx10AttribType4Enum5Int16E"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ae0cd559664652e9d0086ea4316280f1b"></span><em class="property">enumerator </em><code class="sig-name descname">Int16</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5Int16E" title="Permalink to this definition"></a><br /></dt>
<dd><p>Int16. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx10AttribType4Enum4HalfE">
<span id="_CPPv3N4bgfx10AttribType4Enum4HalfE"></span><span id="_CPPv2N4bgfx10AttribType4Enum4HalfE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a83110aa60dc97cbd54efe3f7aefe8883"></span><em class="property">enumerator </em><code class="sig-name descname">Half</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum4HalfE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Half, availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ATTRIB_HALF</span></code>. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx10AttribType4Enum5FloatE">
<span id="_CPPv3N4bgfx10AttribType4Enum5FloatE"></span><span id="_CPPv2N4bgfx10AttribType4Enum5FloatE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ac2efa452accd984882d0e93b3a42aef6"></span><em class="property">enumerator </em><code class="sig-name descname">Float</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5FloatE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Float. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx10AttribType4Enum5CountE">
<span id="_CPPv3N4bgfx10AttribType4Enum5CountE"></span><span id="_CPPv2N4bgfx10AttribType4Enum5CountE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ae6135e6c7c4e885761c3fffe5613fac0"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t">
<span id="_CPPv3N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t"></span><span id="_CPPv2N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t"></span><span id="bgfx::createDynamicVertexBuffer__uint32_t.VertexLayoutCR.uint16_t"></span><span class="target" id="namespacebgfx_1ad5d611f40aaca84733d9ff4543660248"></span>DynamicVertexBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createDynamicVertexBuffer</code><span class="sig-paren">(</span>uint32_t <em>_num</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em>, uint16_t <em>_flags</em> = BGFX_BUFFER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create empty dynamic vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Dynamic vertex buffer handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of vertices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Buffer creation flags.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t">
<span id="_CPPv3N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="_CPPv2N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="bgfx::createDynamicVertexBuffer__MemoryCP.VertexLayoutCR.uint16_t"></span><span class="target" id="namespacebgfx_1ae8e6efb0d042222c6d705ed60f4b6627"></span>DynamicVertexBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createDynamicVertexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em>, uint16_t <em>_flags</em> = BGFX_BUFFER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create dynamic vertex buffer and initialize it. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Dynamic vertex buffer handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_vertex_buffer_mem</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Vertex buffer data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex layout. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Buffer creation flags.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory">
<span id="_CPPv3N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory"></span><span id="_CPPv2N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory"></span><span id="bgfx::update__DynamicVertexBufferHandle.uint32_t.MemoryCP"></span><span class="target" id="namespacebgfx_1ae443751595715ba47e61a97c45cbf939"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">update</code><span class="sig-paren">(</span>DynamicVertexBufferHandle <em>_handle</em>, uint32_t <em>_startVertex</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory" title="Permalink to this definition"></a><br /></dt>
<dd><p>Update dynamic vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startVertex</span></code>: Start vertex. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Vertex buffer data.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE25DynamicVertexBufferHandle">
<span id="_CPPv3N4bgfx7destroyE25DynamicVertexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE25DynamicVertexBufferHandle"></span><span id="bgfx::destroy__DynamicVertexBufferHandle"></span><span class="target" id="namespacebgfx_1ade001e8189baaa5b3f9f1fbaf1f40055"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>DynamicVertexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE25DynamicVertexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy dynamic vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_dynamic_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic vertex buffer handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout">
<span id="_CPPv3N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout"></span><span id="_CPPv2N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout"></span><span id="bgfx::getAvailTransientVertexBuffer__uint32_t.VertexLayoutCR"></span><span class="target" id="namespacebgfx_1ad980aa10915e316db79c16fae09a257c"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getAvailTransientVertexBuffer</code><span class="sig-paren">(</span>uint32_t <em>_num</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns number of requested or maximum available vertices. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_avail_transient_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of required vertices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex layout.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout">
<span id="_CPPv3N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout"></span><span id="_CPPv2N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout"></span><span id="bgfx::allocTransientVertexBuffer__TransientVertexBufferP.uint32_t.VertexLayoutCR"></span><span class="target" id="namespacebgfx_1ad8d5d81703ce3064c88e5d7b26ac3794"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">allocTransientVertexBuffer</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer">TransientVertexBuffer</a> *<em>_tvb</em>, uint32_t <em>_num</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout">VertexLayout</a> &amp;<em>_layout</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout" title="Permalink to this definition"></a><br /></dt>
<dd><p>Allocate transient vertex buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_transient_vertex_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_tvb</span></code>: <a class="reference internal" href="#structbgfx_1_1_transient_vertex_buffer"><span class="std std-ref">TransientVertexBuffer</span></a> structure will be filled, and will be valid for the duration of frame, and can be reused for multiple draw calls. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of vertices to allocate. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layout</span></code>: Vertex layout.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="index-buffers">
<h3>Index Buffers<a class="headerlink" href="#index-buffers" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17createIndexBufferEPK6Memory8uint16_t">
<span id="_CPPv3N4bgfx17createIndexBufferEPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx17createIndexBufferEPK6Memory8uint16_t"></span><span id="bgfx::createIndexBuffer__MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1aee241406cd5d456d3e0a1fdb7da18309"></span>IndexBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createIndexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em>, uint16_t <em>_flags</em> = BGFX_BUFFER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createIndexBufferEPK6Memory8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create static index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Index buffer data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Buffer creation flags.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7setNameE17IndexBufferHandlePKc7int32_t">
<span id="_CPPv3N4bgfx7setNameE17IndexBufferHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE17IndexBufferHandlePKc7int32_t"></span><span id="bgfx::setName__IndexBufferHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a9898cf86ba2f7c0915ee42e81e7e3414"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setName</code><span class="sig-paren">(</span>IndexBufferHandle <em>_handle</em>, <em class="property">const</em> char *<em>_name</em>, int32_t <em>_len</em> = INT32_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE17IndexBufferHandlePKc7int32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set static index buffer debug name. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_index_buffer_name</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Static index buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: Static index buffer name. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_len</span></code>: Static index buffer name length (if length is INT32_MAX, its expected that _name is zero terminated string.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE17IndexBufferHandle">
<span id="_CPPv3N4bgfx7destroyE17IndexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE17IndexBufferHandle"></span><span id="bgfx::destroy__IndexBufferHandle"></span><span class="target" id="namespacebgfx_1a0947090e39a6a46433418166d7e09cc1"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>IndexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE17IndexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy static index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Static index buffer handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t">
<span id="_CPPv3N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t"></span><span id="bgfx::createDynamicIndexBuffer__uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1abc0f27b5cc29b3fb0c5f3c2fe9571429"></span>DynamicIndexBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createDynamicIndexBuffer</code><span class="sig-paren">(</span>uint32_t <em>_num</em>, uint16_t <em>_flags</em> = BGFX_BUFFER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create empty dynamic index buffer. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Dynamic index buffer handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of indices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Buffer creation flags.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t">
<span id="_CPPv3N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t"></span><span id="bgfx::createDynamicIndexBuffer__MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1a5d05655535947b053858b2abed7e3cb9"></span>DynamicIndexBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createDynamicIndexBuffer</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em>, uint16_t <em>_flags</em> = BGFX_BUFFER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a dynamic index buffer and initialize it. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Dynamic index buffer handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_index_buffer_mem</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Index buffer data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Buffer creation flags.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory">
<span id="_CPPv3N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory"></span><span id="_CPPv2N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory"></span><span id="bgfx::update__DynamicIndexBufferHandle.uint32_t.MemoryCP"></span><span class="target" id="namespacebgfx_1abdc14b2d18b00e5c85b9b099d63c5d99"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">update</code><span class="sig-paren">(</span>DynamicIndexBufferHandle <em>_handle</em>, uint32_t <em>_startIndex</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory" title="Permalink to this definition"></a><br /></dt>
<dd><p>Update dynamic index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_startIndex</span></code>: Start index. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Index buffer data.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE24DynamicIndexBufferHandle">
<span id="_CPPv3N4bgfx7destroyE24DynamicIndexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE24DynamicIndexBufferHandle"></span><span id="bgfx::destroy__DynamicIndexBufferHandle"></span><span class="target" id="namespacebgfx_1a18d6f331ad2fdb0adfbbc5b907d7559b"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>DynamicIndexBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE24DynamicIndexBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy dynamic index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_dynamic_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Dynamic index buffer handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx28getAvailTransientIndexBufferE8uint32_tb">
<span id="_CPPv3N4bgfx28getAvailTransientIndexBufferE8uint32_tb"></span><span id="_CPPv2N4bgfx28getAvailTransientIndexBufferE8uint32_tb"></span><span id="bgfx::getAvailTransientIndexBuffer__uint32_t.b"></span><span class="target" id="namespacebgfx_1a17b4d614364135f5762c142661902d06"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getAvailTransientIndexBuffer</code><span class="sig-paren">(</span>uint32_t <em>_num</em>, bool <em>_index32</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx28getAvailTransientIndexBufferE8uint32_tb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns number of requested or maximum available indices. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_avail_transient_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of required indices. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index32</span></code>: Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices will be 32-bit.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb">
<span id="_CPPv3N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb"></span><span id="_CPPv2N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb"></span><span id="bgfx::allocTransientIndexBuffer__TransientIndexBufferP.uint32_t.b"></span><span class="target" id="namespacebgfx_1a84f22d4feadc176f2b70846ae3b7c85f"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">allocTransientIndexBuffer</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer">TransientIndexBuffer</a> *<em>_tib</em>, uint32_t <em>_num</em>, bool <em>_index32</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Allocate transient index buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_transient_index_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_tib</span></code>: <a class="reference internal" href="#structbgfx_1_1_transient_index_buffer"><span class="std std-ref">TransientIndexBuffer</span></a> structure will be filled, and will be valid for the duration of frame, and can be reused for multiple draw calls. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of indices to allocate. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_index32</span></code>: Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices will be 32-bit.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="id5">
<h3>Textures<a class="headerlink" href="#id5" title="Permalink to this headline"></a></h3>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx13TextureFormatE">
<span id="_CPPv3N4bgfx13TextureFormatE"></span><span id="_CPPv2N4bgfx13TextureFormatE"></span><span id="bgfx::TextureFormat"></span><span class="target" id="structbgfx_1_1_texture_format"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">TextureFormat</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormatE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture format enum. </p>
<p>Notation: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">RGBA16S</span>
<span class="o">^</span> <span class="o">^</span> <span class="o">^</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">+--</span> <span class="p">[</span> <span class="p">]</span><span class="n">Unorm</span>
<span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">F</span><span class="p">]</span><span class="n">loat</span>
<span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">S</span><span class="p">]</span><span class="n">norm</span>
<span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">I</span><span class="p">]</span><span class="n">nt</span>
<span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">U</span><span class="p">]</span><span class="nb">int</span>
<span class="o">|</span> <span class="o">+----</span> <span class="n">Number</span> <span class="n">of</span> <span class="n">bits</span> <span class="n">per</span> <span class="n">component</span>
<span class="o">+--------</span> <span class="n">Components</span>
</pre></div>
</div>
</p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Availability depends on <a class="reference internal" href="#structbgfx_1_1_caps"><span class="std std-ref">Caps</span></a> (see: formats).</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_texture_format_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx13TextureFormat4EnumE">
<span id="_CPPv3N4bgfx13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx13TextureFormat4EnumE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture formats: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3BC1E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3BC1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aee125d92e0e80015bd586b5621cc3d83"></span><em class="property">enumerator </em><code class="sig-name descname">BC1</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC1E" title="Permalink to this definition"></a><br /></dt>
<dd><p>DXT1 R5G6B5A1. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3BC2E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3BC2E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC2E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4d77afc75cacfa609303940e1c9cddc2"></span><em class="property">enumerator </em><code class="sig-name descname">BC2</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC2E" title="Permalink to this definition"></a><br /></dt>
<dd><p>DXT3 R5G6B5A4. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3BC3E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3BC3E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC3E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a113e64fa135fca0459a7c2ea40425c4f"></span><em class="property">enumerator </em><code class="sig-name descname">BC3</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC3E" title="Permalink to this definition"></a><br /></dt>
<dd><p>DXT5 R5G6B5A8. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3BC4E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3BC4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1937f7640ffa842f2c6678286c313e7a"></span><em class="property">enumerator </em><code class="sig-name descname">BC4</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC4E" title="Permalink to this definition"></a><br /></dt>
<dd><p>LATC1/ATI1 R8. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3BC5E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3BC5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9696af3d8af5c8b8dcdb2bba18df54c8"></span><em class="property">enumerator </em><code class="sig-name descname">BC5</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC5E" title="Permalink to this definition"></a><br /></dt>
<dd><p>LATC2/ATI2 RG8. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4BC6HE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4BC6HE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4BC6HE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a3e149dd90ceda8997bcf54a97debd703"></span><em class="property">enumerator </em><code class="sig-name descname">BC6H</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4BC6HE" title="Permalink to this definition"></a><br /></dt>
<dd><p>BC6H RGB16F. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3BC7E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3BC7E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC7E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a880c61bb22f0950eec832c77e7667d96"></span><em class="property">enumerator </em><code class="sig-name descname">BC7</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC7E" title="Permalink to this definition"></a><br /></dt>
<dd><p>BC7 RGB 4-7 bits per color channel, 0-8 bits alpha. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4ETC1E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4ETC1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ETC1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac789a4e13dc4efbb9239fa89f54b8205"></span><em class="property">enumerator </em><code class="sig-name descname">ETC1</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ETC1E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ETC1 RGB8. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4ETC2E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4ETC2E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ETC2E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aba5a8c2a63daebe7f7b6e6530e384662"></span><em class="property">enumerator </em><code class="sig-name descname">ETC2</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ETC2E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ETC2 RGB8. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5ETC2AE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5ETC2AE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5ETC2AE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aeae9b14b230f8576efb154b961836ca5"></span><em class="property">enumerator </em><code class="sig-name descname">ETC2A</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5ETC2AE" title="Permalink to this definition"></a><br /></dt>
<dd><p>ETC2 RGBA8. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6ETC2A1E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6ETC2A1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6ETC2A1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a971bf46d4c28a7b708a2c6df44593720"></span><em class="property">enumerator </em><code class="sig-name descname">ETC2A1</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6ETC2A1E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ETC2 RGB8A1. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5PTC12E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC12E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC12E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6abf2b55f4dfd7effbfa64f27d9546512c"></span><em class="property">enumerator </em><code class="sig-name descname">PTC12</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC12E" title="Permalink to this definition"></a><br /></dt>
<dd><p>PVRTC1 RGB 2BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5PTC14E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC14E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC14E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1b68442c2e582657d2e9c5b2af7480c5"></span><em class="property">enumerator </em><code class="sig-name descname">PTC14</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC14E" title="Permalink to this definition"></a><br /></dt>
<dd><p>PVRTC1 RGB 4BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6PTC12AE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6PTC12AE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6PTC12AE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a78128a646efda9393122f3a0cbb47ba7"></span><em class="property">enumerator </em><code class="sig-name descname">PTC12A</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6PTC12AE" title="Permalink to this definition"></a><br /></dt>
<dd><p>PVRTC1 RGBA 2BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6PTC14AE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6PTC14AE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6PTC14AE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a106b764dde7bcb1eb0c4ea6034ea3b24"></span><em class="property">enumerator </em><code class="sig-name descname">PTC14A</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6PTC14AE" title="Permalink to this definition"></a><br /></dt>
<dd><p>PVRTC1 RGBA 4BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5PTC22E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC22E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC22E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a10791d050f8fc01881fb9ce4dfcdaa6d"></span><em class="property">enumerator </em><code class="sig-name descname">PTC22</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC22E" title="Permalink to this definition"></a><br /></dt>
<dd><p>PVRTC2 RGBA 2BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5PTC24E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC24E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC24E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab4e6bd17ebbcaa1085dd1285aa2c6e23"></span><em class="property">enumerator </em><code class="sig-name descname">PTC24</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC24E" title="Permalink to this definition"></a><br /></dt>
<dd><p>PVRTC2 RGBA 4BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3ATCE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3ATCE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3ATCE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6abfbaa50ea905a9af71c60cbfd80e7c66"></span><em class="property">enumerator </em><code class="sig-name descname">ATC</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3ATCE" title="Permalink to this definition"></a><br /></dt>
<dd><p>ATC RGB 4BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4ATCEE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4ATCEE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ATCEE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a27c3773c6bdbf033c9f14623e569a187"></span><em class="property">enumerator </em><code class="sig-name descname">ATCE</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ATCEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>ATCE RGBA 8 BPP explicit alpha. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4ATCIE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4ATCIE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ATCIE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1ba5cdc0c5cc60853fa37209452d6ec3"></span><em class="property">enumerator </em><code class="sig-name descname">ATCI</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ATCIE" title="Permalink to this definition"></a><br /></dt>
<dd><p>ATCI RGBA 8 BPP interpolated alpha. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC4x4E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC4x4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC4x4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae992925acb9b25166b93cc445c62daea"></span><em class="property">enumerator </em><code class="sig-name descname">ASTC4x4</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC4x4E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ASTC 4x4 8.0 BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC5x5E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC5x5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC5x5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6bdec333c7fc2259310ba8252665f22a"></span><em class="property">enumerator </em><code class="sig-name descname">ASTC5x5</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC5x5E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ASTC 5x5 5.12 BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC6x6E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC6x6E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC6x6E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ade44f5a267e9e98a8e1b5506061237b4"></span><em class="property">enumerator </em><code class="sig-name descname">ASTC6x6</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC6x6E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ASTC 6x6 3.56 BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x5E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC8x5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC8x5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab3d82634d3764b46e0b0b2c0101f6792"></span><em class="property">enumerator </em><code class="sig-name descname">ASTC8x5</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x5E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ASTC 8x5 3.20 BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x6E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC8x6E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC8x6E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6acba83554ed1e182a631b6bb68204cc96"></span><em class="property">enumerator </em><code class="sig-name descname">ASTC8x6</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x6E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ASTC 8x6 2.67 BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x5E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum8ASTC10x5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum8ASTC10x5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0767d4af475f555f330fe814e7937838"></span><em class="property">enumerator </em><code class="sig-name descname">ASTC10x5</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x5E" title="Permalink to this definition"></a><br /></dt>
<dd><p>ASTC 10x5 2.56 BPP. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7UnknownE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7UnknownE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7UnknownE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a2113f0ca58d6c12c10663c0ed360681e"></span><em class="property">enumerator </em><code class="sig-name descname">Unknown</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7UnknownE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum2R1E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum2R1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum2R1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab01e6044eaff1fe4451232325ad4f9a6"></span><em class="property">enumerator </em><code class="sig-name descname">R1</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum2R1E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum2A8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum2A8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum2A8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9b43602e80b02cddbaa066bddc137bc6"></span><em class="property">enumerator </em><code class="sig-name descname">A8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum2A8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum2R8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum2R8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum2R8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a366a4683758cef76e007f4f33801f7b2"></span><em class="property">enumerator </em><code class="sig-name descname">R8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum2R8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3R8IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3R8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae777e9061538de54841dfd96cc4070c2"></span><em class="property">enumerator </em><code class="sig-name descname">R8I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R8IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3R8UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3R8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aecd6d1d295020dc61bad08ab39b609df"></span><em class="property">enumerator </em><code class="sig-name descname">R8U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R8UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3R8SE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3R8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a86b354d3bf6d634605f6d93fad966fd5"></span><em class="property">enumerator </em><code class="sig-name descname">R8S</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R8SE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3R16E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3R16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9f2a1e70d71e48558cfae60650b5da1c"></span><em class="property">enumerator </em><code class="sig-name descname">R16</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R16E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4R16IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4R16IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4ea4bea5f457d7aaa855d253ae967538"></span><em class="property">enumerator </em><code class="sig-name descname">R16I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4R16UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4R16UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6509456e2fb58fc523abd92bfa4f67ce"></span><em class="property">enumerator </em><code class="sig-name descname">R16U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4R16FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4R16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0808adf629c43dbaf932e62b48696b41"></span><em class="property">enumerator </em><code class="sig-name descname">R16F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4R16SE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4R16SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aedfd375d04e3cd2a35992d35657def41"></span><em class="property">enumerator </em><code class="sig-name descname">R16S</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16SE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4R32IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4R32IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R32IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0cfc961a23995b91f1dfba97b4778fc9"></span><em class="property">enumerator </em><code class="sig-name descname">R32I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R32IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4R32UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4R32UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R32UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a56674c00d24eff7b1b96005d66842fed"></span><em class="property">enumerator </em><code class="sig-name descname">R32U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R32UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4R32FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4R32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6a20e5c95f27448745e6252fbaa63752"></span><em class="property">enumerator </em><code class="sig-name descname">R32F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R32FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3RG8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3RG8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3RG8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a044f11d086916dd993181a298b713fe5"></span><em class="property">enumerator </em><code class="sig-name descname">RG8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3RG8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4RG8IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4RG8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac022360e199eafdc5965bb16d8e1596b"></span><em class="property">enumerator </em><code class="sig-name descname">RG8I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG8IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4RG8UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4RG8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae6e1a34243df2512cde0d768fe27831d"></span><em class="property">enumerator </em><code class="sig-name descname">RG8U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG8UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4RG8SE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4RG8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a30ffb32ec2a2f303f3f3c0618d3097b7"></span><em class="property">enumerator </em><code class="sig-name descname">RG8S</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG8SE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4RG16E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4RG16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6abd5c94677dbbcdb12c9137741f71f5a0"></span><em class="property">enumerator </em><code class="sig-name descname">RG16</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG16E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RG16IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4d7378aee4f0c28a3e9dd49733cbc7d4"></span><em class="property">enumerator </em><code class="sig-name descname">RG16I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RG16UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6add597603c407eea23cd3a076e2799a23"></span><em class="property">enumerator </em><code class="sig-name descname">RG16U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RG16FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aa01f725e68722ccd7e8a842f697ef7b4"></span><em class="property">enumerator </em><code class="sig-name descname">RG16F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RG16SE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ada99abb273ad49596e5645a870913203"></span><em class="property">enumerator </em><code class="sig-name descname">RG16S</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16SE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RG32IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RG32IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG32IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1e9f0cde8652d9582ca00d3cf0522481"></span><em class="property">enumerator </em><code class="sig-name descname">RG32I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG32IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RG32UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RG32UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG32UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a10202973fabca8f138748e4829a5a454"></span><em class="property">enumerator </em><code class="sig-name descname">RG32U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG32UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RG32FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RG32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0570aa288a4cf06073ecfc272ff66bfa"></span><em class="property">enumerator </em><code class="sig-name descname">RG32F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG32FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4RGB8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4RGB8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RGB8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a343bee8db4bf2bd967aca4422804da99"></span><em class="property">enumerator </em><code class="sig-name descname">RGB8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RGB8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RGB8IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RGB8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGB8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a86364d64bd522cd53ed3f388316f16c4"></span><em class="property">enumerator </em><code class="sig-name descname">RGB8I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGB8IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RGB8UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RGB8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGB8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a67a188a9c637a007b21a6b494497fae8"></span><em class="property">enumerator </em><code class="sig-name descname">RGB8U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGB8UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RGB8SE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RGB8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGB8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a07efdf9e67260607b65e4c818cf5dbc2"></span><em class="property">enumerator </em><code class="sig-name descname">RGB8S</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGB8SE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGB9E5FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGB9E5FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGB9E5FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae16f6d03d3fb347cf375b35bca2a0211"></span><em class="property">enumerator </em><code class="sig-name descname">RGB9E5F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGB9E5FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5BGRA8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5BGRA8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5BGRA8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a8f9737f30497f922acb85eabfab5bd8b"></span><em class="property">enumerator </em><code class="sig-name descname">BGRA8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5BGRA8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RGBA8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RGBA8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGBA8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a76f725de734f6f57124bce94ecf6b857"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGBA8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA8IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9d2eaf79b30d325f6c02d91c6c83fa9d"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA8I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA8IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA8UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a58a5c9b3c280930e63443e58b8b54514"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA8U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA8UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA8SE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1f654f103d5ed7c2e3254402c9b25b3e"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA8S</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA8SE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA16E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac84e3e8918ad3ae651fa77cf7c3d1a1f"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA16</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA16E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac1ee33c840c8ca2bee1dcd21ab8fcf91"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA16I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aa34499e3da11fe380fef67248d7b5ba6"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA16U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6adadd1cd35bb81b2b43f396a5f5903ac4"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA16F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16SE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6001607ef039dd349cc48155438ab00f"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA16S</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16SE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA32IE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA32IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA32IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4b5db87abcf93819d12a7a0493bc0283"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA32I</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA32IE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA32UE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA32UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA32UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6acf97df6b0145396940f5ea893fc3873b"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA32U</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA32UE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA32FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ad21d8c3be31a08140a7abbafb1719166"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA32F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA32FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6R5G6B5E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6R5G6B5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6R5G6B5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aec8537567352a4db4088e3e9f1cf978d"></span><em class="property">enumerator </em><code class="sig-name descname">R5G6B5</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6R5G6B5E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5RGBA4E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5RGBA4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGBA4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4e9ceae8c33292ac988c494f79bccbe3"></span><em class="property">enumerator </em><code class="sig-name descname">RGBA4</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGBA4E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum6RGB5A1E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum6RGB5A1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGB5A1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a38bfd7f727149e6458f39ade896d18a7"></span><em class="property">enumerator </em><code class="sig-name descname">RGB5A1</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGB5A1E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum7RGB10A2E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum7RGB10A2E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGB10A2E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a7c125c1a4eceb2bbc6f7600bb7ccdf92"></span><em class="property">enumerator </em><code class="sig-name descname">RGB10A2</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGB10A2E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum8RG11B10FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum8RG11B10FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum8RG11B10FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a41ac710aca293e8831029481b9636a8f"></span><em class="property">enumerator </em><code class="sig-name descname">RG11B10F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum8RG11B10FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum12UnknownDepthE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum12UnknownDepthE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum12UnknownDepthE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aaffdadbf432e0a4ea3f20330d9e548c6"></span><em class="property">enumerator </em><code class="sig-name descname">UnknownDepth</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum12UnknownDepthE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3D16E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3D16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3D16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a086d2b11ba5e98dd6453f26a306366d0"></span><em class="property">enumerator </em><code class="sig-name descname">D16</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3D16E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3D24E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3D24E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3D24E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a27a39685dd5aaafcad65736692fa5eff"></span><em class="property">enumerator </em><code class="sig-name descname">D24</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3D24E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5D24S8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5D24S8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5D24S8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a21a275083cbc63cf567bbe435de52628"></span><em class="property">enumerator </em><code class="sig-name descname">D24S8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5D24S8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum3D32E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum3D32E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3D32E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a993af3f99854f2b0b1d879f652da5ea3"></span><em class="property">enumerator </em><code class="sig-name descname">D32</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3D32E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4D16FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4D16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0322a3bb98e826a25a3f63d369eb341f"></span><em class="property">enumerator </em><code class="sig-name descname">D16F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D16FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4D24FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4D24FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D24FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ad0e87f93c89a2d4661764eb56956b64e"></span><em class="property">enumerator </em><code class="sig-name descname">D24F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D24FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4D32FE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4D32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6acb8eb8bd274644a29aac381ef53c5c69"></span><em class="property">enumerator </em><code class="sig-name descname">D32F</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D32FE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum4D0S8E">
<span id="_CPPv3N4bgfx13TextureFormat4Enum4D0S8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D0S8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab21986c97b19c1b8d198c171f34e4471"></span><em class="property">enumerator </em><code class="sig-name descname">D0S8</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D0S8E" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx13TextureFormat4Enum5CountE">
<span id="_CPPv3N4bgfx13TextureFormat4Enum5CountE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5CountE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a18ef8eeb88705ba0fcbbd0e83bd5c401"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t">
<span id="_CPPv3N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::isTextureValid__uint16_t.b.uint16_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a3c7386558ec793583dd0ce0db77b8c17"></span>bool <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">isTextureValid</code><span class="sig-paren">(</span>uint16_t <em>_depth</em>, bool <em>_cubeMap</em>, uint16_t <em>_numLayers</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_flags</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Validate texture parameters. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>True if a texture with the same parameters can be created.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_is_texture_valid</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth dimension of volume texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_cubeMap</span></code>: Indicates that texture contains cubemap. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numLayers</span></code>: Number of layers in texture array. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture flags. See <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx11TextureInfoE">
<span id="_CPPv3N4bgfx11TextureInfoE"></span><span id="_CPPv2N4bgfx11TextureInfoE"></span><span id="bgfx::TextureInfo"></span><span class="target" id="structbgfx_1_1_texture_info"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">TextureInfo</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfoE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture info. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_texture_info_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo6formatE">
<span id="_CPPv3N4bgfx11TextureInfo6formatE"></span><span id="_CPPv2N4bgfx11TextureInfo6formatE"></span><span id="bgfx::TextureInfo::format__TextureFormat::Enum"></span><span class="target" id="structbgfx_1_1_texture_info_1ad0efbc4181697f7d6c56808be2f1e138"></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <code class="sig-name descname">format</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo6formatE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture format. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo11storageSizeE">
<span id="_CPPv3N4bgfx11TextureInfo11storageSizeE"></span><span id="_CPPv2N4bgfx11TextureInfo11storageSizeE"></span><span id="bgfx::TextureInfo::storageSize__uint32_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a49ce6106d8eb4aa6b26f798c152b2d0d"></span>uint32_t <code class="sig-name descname">storageSize</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo11storageSizeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Total amount of bytes required to store texture. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo5widthE">
<span id="_CPPv3N4bgfx11TextureInfo5widthE"></span><span id="_CPPv2N4bgfx11TextureInfo5widthE"></span><span id="bgfx::TextureInfo::width__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a5a9c554958a2d2d039bb3594ac87e5ab"></span>uint16_t <code class="sig-name descname">width</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo5widthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture width. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo6heightE">
<span id="_CPPv3N4bgfx11TextureInfo6heightE"></span><span id="_CPPv2N4bgfx11TextureInfo6heightE"></span><span id="bgfx::TextureInfo::height__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1aef88aff888246b3f26e8ce5eb59da546"></span>uint16_t <code class="sig-name descname">height</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo6heightE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture height. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo5depthE">
<span id="_CPPv3N4bgfx11TextureInfo5depthE"></span><span id="_CPPv2N4bgfx11TextureInfo5depthE"></span><span id="bgfx::TextureInfo::depth__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1afe3fb6aa842fadafe389a396db8d6fb8"></span>uint16_t <code class="sig-name descname">depth</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo5depthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture depth. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo9numLayersE">
<span id="_CPPv3N4bgfx11TextureInfo9numLayersE"></span><span id="_CPPv2N4bgfx11TextureInfo9numLayersE"></span><span id="bgfx::TextureInfo::numLayers__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1adf5283a6c14310b4c57a6f64a357f7cd"></span>uint16_t <code class="sig-name descname">numLayers</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo9numLayersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of layers in texture array. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo7numMipsE">
<span id="_CPPv3N4bgfx11TextureInfo7numMipsE"></span><span id="_CPPv2N4bgfx11TextureInfo7numMipsE"></span><span id="bgfx::TextureInfo::numMips__uint8_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a0c381eb6e68dd577a4cbcb5600b1b613"></span>uint8_t <code class="sig-name descname">numMips</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo7numMipsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of MIP maps. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo12bitsPerPixelE">
<span id="_CPPv3N4bgfx11TextureInfo12bitsPerPixelE"></span><span id="_CPPv2N4bgfx11TextureInfo12bitsPerPixelE"></span><span id="bgfx::TextureInfo::bitsPerPixel__uint8_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a5696ec9eee2fcacaab72ab30081417ac"></span>uint8_t <code class="sig-name descname">bitsPerPixel</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo12bitsPerPixelE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Format bits per pixel. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx11TextureInfo7cubeMapE">
<span id="_CPPv3N4bgfx11TextureInfo7cubeMapE"></span><span id="_CPPv2N4bgfx11TextureInfo7cubeMapE"></span><span id="bgfx::TextureInfo::cubeMap__b"></span><span class="target" id="structbgfx_1_1_texture_info_1a74ae39231524ae3ddad50cf26fe0f07c"></span>bool <code class="sig-name descname">cubeMap</code><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo7cubeMapE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Texture is cubemap. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE">
<span id="_CPPv3N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE"></span><span id="bgfx::calcTextureSize__TextureInfoR.uint16_t.uint16_t.uint16_t.b.b.uint16_t.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1afad0573ceede40bc76bb9fe7c938655c"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">calcTextureSize</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx11TextureInfoE" title="bgfx::TextureInfo">TextureInfo</a> &amp;<em>_info</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em>, uint16_t <em>_depth</em>, bool <em>_cubeMap</em>, bool <em>_hasMips</em>, uint16_t <em>_numLayers</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Calculate amount of memory required for texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_calc_texture_size</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_info</span></code>: Resulting texture info structure. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_info"><span class="std std-ref"><span class="pre">TextureInfo</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth dimension of volume texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_cubeMap</span></code>: Indicates that texture contains cubemap. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_hasMips</span></code>: Indicates that texture contains full mip-map chain. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numLayers</span></code>: Number of layers in texture array. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo">
<span id="_CPPv3N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo"></span><span id="_CPPv2N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo"></span><span id="bgfx::createTexture__MemoryCP.uint64_t.uint8_t.TextureInfoP"></span><span class="target" id="namespacebgfx_1a0d47613a70e82fb734b058f6a707cef5"></span>TextureHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createTexture</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em>, uint64_t <em>_flags</em> = BGFX_TEXTURE_NONE | BGFX_SAMPLER_NONE, uint8_t <em>_skip</em> = 0, <a class="reference internal" href="#_CPPv4N4bgfx11TextureInfoE" title="bgfx::TextureInfo">TextureInfo</a> *<em>_info</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create texture from memory buffer. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Texture handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: DDS, KTX or PVR texture data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_skip</span></code>: Skip top level mips when parsing texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_info</span></code>: When non-<code class="docutils literal notranslate"><span class="pre">NULL</span></code> is specified it returns parsed texture information. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory">
<span id="_CPPv3N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="_CPPv2N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="bgfx::createTexture2D__uint16_t.uint16_t.b.uint16_t.TextureFormat::Enum.uint64_t.MemoryCP"></span><span class="target" id="namespacebgfx_1a5164c7c2fb433f680dc888eaf752c31b"></span>TextureHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createTexture2D</code><span class="sig-paren">(</span>uint16_t <em>_width</em>, uint16_t <em>_height</em>, bool <em>_hasMips</em>, uint16_t <em>_numLayers</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_flags</em> = BGFX_TEXTURE_NONE | BGFX_SAMPLER_NONE, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create 2D texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_2d</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_hasMips</span></code>: Indicates that texture contains full mip-map chain. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numLayers</span></code>: Number of layers in texture array. Must be 1 if caps <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_2D_ARRAY</span></code> flag is not set. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Texture data. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is non-NULL, created texture will be immutable. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is NULL content of the texture is uninitialized. When <code class="docutils literal notranslate"><span class="pre">_numLayers</span></code> is more than 1, expected memory layout is texture and all mips together for each array element.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t">
<span id="_CPPv3N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::createTexture2D__BackbufferRatio::Enum.b.uint16_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a67620ab3afd29e7acdacd9180ae86cd4"></span>TextureHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createTexture2D</code><span class="sig-paren">(</span>BackbufferRatio::Enum <em>_ratio</em>, bool <em>_hasMips</em>, uint16_t <em>_numLayers</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_flags</em> = BGFX_TEXTURE_NONE | BGFX_SAMPLER_NONE<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create texture with size based on back-buffer ratio. Texture will maintain ratio if back buffer resolution changes. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_2d_scaled</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_ratio</span></code>: Frame buffer size in respect to back-buffer size. See: <code class="docutils literal notranslate"><span class="pre">BackbufferRatio::Enum</span></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_hasMips</span></code>: Indicates that texture contains full mip-map chain. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numLayers</span></code>: Number of layers in texture array. Must be 1 if caps <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_2D_ARRAY</span></code> flag is not set. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t">
<span id="_CPPv3N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="bgfx::updateTexture2D__TextureHandle.uint16_t.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1af47f352c1dcfd2c67dab1a58bb448541"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">updateTexture2D</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, uint16_t <em>_layer</em>, uint8_t <em>_mip</em>, uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em>, uint16_t <em>_pitch</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Update 2D texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Its valid to update only mutable texture. See <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a5164c7c2fb433f680dc888eaf752c31b"><span class="std std-ref"><span class="pre">bgfx::createTexture2D</span></span></a></code> for more info.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_texture_2d</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layer</span></code>: Layers in texture array. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mip</span></code>: Mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: X offset in texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Y offset in texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of texture block. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of texture block. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Texture update data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_pitch</span></code>: Pitch of input image (bytes). When _pitch is set to UINT16_MAX, it will be calculated internally based on _width.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory">
<span id="_CPPv3N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="_CPPv2N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="bgfx::createTexture3D__uint16_t.uint16_t.uint16_t.b.TextureFormat::Enum.uint64_t.MemoryCP"></span><span class="target" id="namespacebgfx_1a5b3e757ceb8eaa783856c39e3e18e985"></span>TextureHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createTexture3D</code><span class="sig-paren">(</span>uint16_t <em>_width</em>, uint16_t <em>_height</em>, uint16_t <em>_depth</em>, bool <em>_hasMips</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_flags</em> = BGFX_TEXTURE_NONE | BGFX_SAMPLER_NONE, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create 3D texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_3d</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_hasMips</span></code>: Indicates that texture contains full mip-map chain. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Texture data. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is non-NULL, created texture will be immutable. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is NULL content of the texture is uninitialized.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory">
<span id="_CPPv3N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory"></span><span id="_CPPv2N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory"></span><span id="bgfx::updateTexture3D__TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.MemoryCP"></span><span class="target" id="namespacebgfx_1a06eac3248ec624cabb955c1798d70f6a"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">updateTexture3D</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, uint8_t <em>_mip</em>, uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint16_t <em>_z</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em>, uint16_t <em>_depth</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory" title="Permalink to this definition"></a><br /></dt>
<dd><p>Update 3D texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Its valid to update only mutable texture. See <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a5b3e757ceb8eaa783856c39e3e18e985"><span class="std std-ref"><span class="pre">bgfx::createTexture3D</span></span></a></code> for more info.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_texture_3d</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mip</span></code>: Mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: X offset in texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Y offset in texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_z</span></code>: Z offset in texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of texture block. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of texture block. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depth</span></code>: Depth of texture block. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Texture update data.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory">
<span id="_CPPv3N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="_CPPv2N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="bgfx::createTextureCube__uint16_t.b.uint16_t.TextureFormat::Enum.uint64_t.MemoryCP"></span><span class="target" id="namespacebgfx_1aa78aaf8f1d6f52a956330e7336d403f8"></span>TextureHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createTextureCube</code><span class="sig-paren">(</span>uint16_t <em>_size</em>, bool <em>_hasMips</em>, uint16_t <em>_numLayers</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_flags</em> = BGFX_TEXTURE_NONE | BGFX_SAMPLER_NONE, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create Cube texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_cube</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_size</span></code>: Cube side size. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_hasMips</span></code>: Indicates that texture contains full mip-map chain. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numLayers</span></code>: Number of layers in texture array. Must be 1 if caps <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_CUBE_ARRAY</span></code> flag is not set. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_flags</span></code>: Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Texture data. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is non-NULL, created texture will be immutable. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is NULL content of the texture is uninitialized. When <code class="docutils literal notranslate"><span class="pre">_numLayers</span></code> is more than 1, expected memory layout is texture and all mips together for each array element.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t">
<span id="_CPPv3N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="bgfx::updateTextureCube__TextureHandle.uint16_t.uint8_t.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1ac9d22140d3eb8366a77e14dbd02a89d2"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">updateTextureCube</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, uint16_t <em>_layer</em>, uint8_t <em>_side</em>, uint8_t <em>_mip</em>, uint16_t <em>_x</em>, uint16_t <em>_y</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory">Memory</a> *<em>_mem</em>, uint16_t <em>_pitch</em> = UINT16_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Update Cube texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>Its valid to update only mutable texture. See <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aa78aaf8f1d6f52a956330e7336d403f8"><span class="std std-ref"><span class="pre">bgfx::createTextureCube</span></span></a></code> for more info.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_texture_cube</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layer</span></code>: Layers in texture array. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_side</span></code>: Cubemap side <code class="docutils literal notranslate"><span class="pre">BGFX_CUBE_MAP_&lt;POSITIVE</span> <span class="pre">or</span> <span class="pre">NEGATIVE&gt;_&lt;X,</span> <span class="pre">Y</span> <span class="pre">or</span> <span class="pre">Z&gt;</span></code>, where 0 is +X, 1 is -X, 2 is +Y, 3 is -Y, 4 is +Z, and 5 is -Z. <div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">+----------+</span>
<span class="o">|-</span><span class="n">z</span> <span class="mi">2</span><span class="o">|</span>
<span class="o">|</span> <span class="o">^</span> <span class="o">+</span><span class="n">y</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="n">Unfolded</span> <span class="n">cube</span><span class="p">:</span>
<span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">x</span> <span class="o">|</span>
<span class="o">+----------+----------+----------+----------+</span>
<span class="o">|+</span><span class="n">y</span> <span class="mi">1</span><span class="o">|+</span><span class="n">y</span> <span class="mi">4</span><span class="o">|+</span><span class="n">y</span> <span class="mi">0</span><span class="o">|+</span><span class="n">y</span> <span class="mi">5</span><span class="o">|</span>
<span class="o">|</span> <span class="o">^</span> <span class="o">-</span><span class="n">x</span> <span class="o">|</span> <span class="o">^</span> <span class="o">+</span><span class="n">z</span> <span class="o">|</span> <span class="o">^</span> <span class="o">+</span><span class="n">x</span> <span class="o">|</span> <span class="o">^</span> <span class="o">-</span><span class="n">z</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">z</span> <span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">x</span> <span class="o">|</span> <span class="o">+----&gt;-</span><span class="n">z</span> <span class="o">|</span> <span class="o">+----&gt;-</span><span class="n">x</span> <span class="o">|</span>
<span class="o">+----------+----------+----------+----------+</span>
<span class="o">|+</span><span class="n">z</span> <span class="mi">3</span><span class="o">|</span>
<span class="o">|</span> <span class="o">^</span> <span class="o">-</span><span class="n">y</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">x</span> <span class="o">|</span>
<span class="o">+----------+</span>
</pre></div>
</div>
</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mip</span></code>: Mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_x</span></code>: X offset in texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_y</span></code>: Y offset in texture. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Width of texture block. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Height of texture block. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mem</span></code>: Texture update data. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_pitch</span></code>: Pitch of input image (bytes). When _pitch is set to UINT16_MAX, it will be calculated internally based on _width.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx11readTextureE13TextureHandlePv7uint8_t">
<span id="_CPPv3N4bgfx11readTextureE13TextureHandlePv7uint8_t"></span><span id="_CPPv2N4bgfx11readTextureE13TextureHandlePv7uint8_t"></span><span id="bgfx::readTexture__TextureHandle.voidP.uint8_t"></span><span class="target" id="namespacebgfx_1a917250df0398e10837853d1a2d416279"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">readTexture</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, void *<em>_data</em>, uint8_t <em>_mip</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11readTextureE13TextureHandlePv7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read back texture content. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Frame number when the result will be available. See: <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code>.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_READ_BACK</span></code> flag. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_READ_BACK</span></code>. </p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_read_texture</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_data</span></code>: Destination buffer. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mip</span></code>: Mip level.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx18getDirectAccessPtrE13TextureHandle">
<span id="_CPPv3N4bgfx18getDirectAccessPtrE13TextureHandle"></span><span id="_CPPv2N4bgfx18getDirectAccessPtrE13TextureHandle"></span><span id="bgfx::getDirectAccessPtr__TextureHandle"></span><span class="target" id="namespacebgfx_1a4d5729a970dc429b53b9fd1aae57d78b"></span>void *<code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getDirectAccessPtr</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18getDirectAccessPtrE13TextureHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns texture direct access pointer. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Pointer to texture memory. If returned pointer is <code class="docutils literal notranslate"><span class="pre">NULL</span></code> direct access is not available for this texture. If pointer is <code class="docutils literal notranslate"><span class="pre">UINTPTR_MAX</span></code> sentinel value it means texture is pending creation. Pointer returned can be cached and it will be valid until texture is destroyed.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_DIRECT_ACCESS</span></code>. This feature is available on GPUs that have unified memory architecture (UMA) support.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_direct_access_ptr</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE13TextureHandle">
<span id="_CPPv3N4bgfx7destroyE13TextureHandle"></span><span id="_CPPv2N4bgfx7destroyE13TextureHandle"></span><span id="bgfx::destroy__TextureHandle"></span><span class="target" id="namespacebgfx_1a28453c61a3b211da273ee4f4957dc66d"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE13TextureHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy texture. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_texture</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Texture handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="frame-buffers">
<h3>Frame Buffers<a class="headerlink" href="#frame-buffers" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t">
<span id="_CPPv3N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::createFrameBuffer__uint16_t.uint16_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1aa94cfbb370d1b658ffd8fceb305fe247"></span>FrameBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createFrameBuffer</code><span class="sig-paren">(</span>uint16_t <em>_width</em>, uint16_t <em>_height</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_textureFlags</em> = BGFX_SAMPLER_U_CLAMP | BGFX_SAMPLER_V_CLAMP<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create frame buffer (simple). </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Handle to frame buffer object.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Texture width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Texture height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_textureFlags</span></code>: Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t">
<span id="_CPPv3N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::createFrameBuffer__BackbufferRatio::Enum.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a6be2c49c878583ad701bc6eab72bc0af"></span>FrameBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createFrameBuffer</code><span class="sig-paren">(</span>BackbufferRatio::Enum <em>_ratio</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em>, uint64_t <em>_textureFlags</em> = BGFX_SAMPLER_U_CLAMP | BGFX_SAMPLER_V_CLAMP<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create frame buffer with size based on back-buffer ratio. Frame buffer will maintain ratio if back buffer resolution changes. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Handle to frame buffer object.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_scaled</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_ratio</span></code>: Frame buffer size in respect to back-buffer size. See: <code class="docutils literal notranslate"><span class="pre">BackbufferRatio::Enum</span></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_textureFlags</span></code>: Default texture sampling mode is linear, and wrap mode is repeat.<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
</ul>
</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb">
<span id="_CPPv3N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb"></span><span id="_CPPv2N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb"></span><span id="bgfx::createFrameBuffer__uint8_t.TextureHandleCP.b"></span><span class="target" id="namespacebgfx_1a24c15472da58c79e49b04cb8ed97a436"></span>FrameBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createFrameBuffer</code><span class="sig-paren">(</span>uint8_t <em>_num</em>, <em class="property">const</em> TextureHandle *<em>_handles</em>, bool <em>_destroyTextures</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create MRT frame buffer from texture handles (simple). </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Handle to frame buffer object.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_from_handles</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of texture attachments. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handles</span></code>: Texture attachments. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_destroyTextures</span></code>: If true, textures will be destroyed when frame buffer is destroyed.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE">
<span id="_CPPv3N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE"></span><span id="bgfx::createFrameBuffer__voidP.uint16_t.uint16_t.TextureFormat::Enum.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1a71ca85e47af91a6f74a9de1695357603"></span>FrameBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createFrameBuffer</code><span class="sig-paren">(</span>void *<em>_nwh</em>, uint16_t <em>_width</em>, uint16_t <em>_height</em>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_format</em> = <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count">Count</a>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum">Enum</a> <em>_depthFormat</em> = <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat">TextureFormat</a>::<a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count">Count</a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create frame buffer for multiple window rendering. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Handle to frame buffer object.</p>
</dd>
<dt><strong>Remark</strong></dt><dd><p>Frame buffer cannot be used for sampling.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_from_nwh</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_nwh</span></code>: OS target native window handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_width</span></code>: Window back buffer width. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_height</span></code>: Window back buffer height. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_format</span></code>: Window back buffer color format. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_depthFormat</span></code>: Window back buffer depth format.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx10AttachmentE">
<span id="_CPPv3N4bgfx10AttachmentE"></span><span id="_CPPv2N4bgfx10AttachmentE"></span><span id="bgfx::Attachment"></span><span class="target" id="structbgfx_1_1_attachment"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Attachment</code><a class="headerlink" href="#_CPPv4N4bgfx10AttachmentE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Frame buffer texture attachment info. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_attachment_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Functions</p>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t">
<span id="_CPPv3N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t"></span><span id="_CPPv2N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t"></span><span id="bgfx::Attachment::init__TextureHandle.Access::Enum.uint16_t.uint16_t.uint16_t.uint8_t"></span><span class="target" id="structbgfx_1_1_attachment_1a3c7ea353a598612bec0a5c1d9e6ca0ec"></span>void <code class="sig-name descname">init</code><span class="sig-paren">(</span>TextureHandle <em>_handle</em>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <em>_access</em> = <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4Enum5WriteE" title="bgfx::Access::Write">Write</a>, uint16_t <em>_layer</em> = 0, uint16_t <em>_numLayers</em> = 1, uint16_t <em>_mip</em> = 0, uint8_t <em>_resolve</em> = BGFX_RESOLVE_AUTO_GEN_MIPS<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_init"><span class="std std-ref">Init</span></a> attachment. </p>
<p><dl class="simple">
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Render target texture handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_access</span></code>: <a class="reference internal" href="#structbgfx_1_1_access"><span class="std std-ref">Access</span></a>. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_layer</span></code>: Cubemap side or depth layer/slice to use. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_numLayers</span></code>: Number of texture layer/slice(s) in array to use. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_mip</span></code>: Mip level. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_resolve</span></code>: Resolve flags. See: <code class="docutils literal notranslate"><span class="pre">BGFX_RESOLVE_*</span></code> </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Attachment6accessE">
<span id="_CPPv3N4bgfx10Attachment6accessE"></span><span id="_CPPv2N4bgfx10Attachment6accessE"></span><span id="bgfx::Attachment::access__Access::Enum"></span><span class="target" id="structbgfx_1_1_attachment_1a5891b655a2528f5bf70797745b9691d4"></span><a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access">Access</a>::<a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum">Enum</a> <code class="sig-name descname">access</code><a class="headerlink" href="#_CPPv4N4bgfx10Attachment6accessE" title="Permalink to this definition"></a><br /></dt>
<dd><p><a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref">Attachment</span></a> access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Attachment6handleE">
<span id="_CPPv3N4bgfx10Attachment6handleE"></span><span id="_CPPv2N4bgfx10Attachment6handleE"></span><span id="bgfx::Attachment::handle__TextureHandle"></span><span class="target" id="structbgfx_1_1_attachment_1a9eb8a8e6925c92291c43781a304f2acb"></span>TextureHandle <code class="sig-name descname">handle</code><a class="headerlink" href="#_CPPv4N4bgfx10Attachment6handleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Render target texture handle. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Attachment3mipE">
<span id="_CPPv3N4bgfx10Attachment3mipE"></span><span id="_CPPv2N4bgfx10Attachment3mipE"></span><span id="bgfx::Attachment::mip__uint16_t"></span><span class="target" id="structbgfx_1_1_attachment_1add533a2475b7340c010a2718f7f5ed1e"></span>uint16_t <code class="sig-name descname">mip</code><a class="headerlink" href="#_CPPv4N4bgfx10Attachment3mipE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Mip level. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Attachment5layerE">
<span id="_CPPv3N4bgfx10Attachment5layerE"></span><span id="_CPPv2N4bgfx10Attachment5layerE"></span><span id="bgfx::Attachment::layer__uint16_t"></span><span class="target" id="structbgfx_1_1_attachment_1aea8de271c840deb81f0d0d8743f034b2"></span>uint16_t <code class="sig-name descname">layer</code><a class="headerlink" href="#_CPPv4N4bgfx10Attachment5layerE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Cubemap side or depth layer/slice to use. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Attachment9numLayersE">
<span id="_CPPv3N4bgfx10Attachment9numLayersE"></span><span id="_CPPv2N4bgfx10Attachment9numLayersE"></span><span id="bgfx::Attachment::numLayers__uint16_t"></span><span class="target" id="structbgfx_1_1_attachment_1a203324d534e1eaf52763de4071573c35"></span>uint16_t <code class="sig-name descname">numLayers</code><a class="headerlink" href="#_CPPv4N4bgfx10Attachment9numLayersE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of texture layer/slice(s) in array to use. </p>
</dd></dl>
<dl class="cpp var">
<dt id="_CPPv4N4bgfx10Attachment7resolveE">
<span id="_CPPv3N4bgfx10Attachment7resolveE"></span><span id="_CPPv2N4bgfx10Attachment7resolveE"></span><span id="bgfx::Attachment::resolve__uint8_t"></span><span class="target" id="structbgfx_1_1_attachment_1ac84f3fa991b954245f5bf6e6efa2a364"></span>uint8_t <code class="sig-name descname">resolve</code><a class="headerlink" href="#_CPPv4N4bgfx10Attachment7resolveE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Resolve flags. See: <code class="docutils literal notranslate"><span class="pre">BGFX_RESOLVE_*</span></code> </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb">
<span id="_CPPv3N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb"></span><span id="_CPPv2N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb"></span><span id="bgfx::createFrameBuffer__uint8_t.AttachmentCP.b"></span><span class="target" id="namespacebgfx_1abbcc1474325bfa2c48d24e8fa4d28459"></span>FrameBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createFrameBuffer</code><span class="sig-paren">(</span>uint8_t <em>_num</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4N4bgfx10AttachmentE" title="bgfx::Attachment">Attachment</a> *<em>_attachment</em>, bool <em>_destroyTextures</em> = false<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create MRT frame buffer from texture handles with specific layer and mip level. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Handle to frame buffer object.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_from_attachment</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of texture attachments. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attachment</span></code>: <a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref">Attachment</span></a> texture info. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref"><span class="pre">bgfx::Attachment</span></span></a></code>. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_destroyTextures</span></code>: If true, textures will be destroyed when frame buffer is destroyed.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx10getTextureE17FrameBufferHandle7uint8_t">
<span id="_CPPv3N4bgfx10getTextureE17FrameBufferHandle7uint8_t"></span><span id="_CPPv2N4bgfx10getTextureE17FrameBufferHandle7uint8_t"></span><span id="bgfx::getTexture__FrameBufferHandle.uint8_t"></span><span class="target" id="namespacebgfx_1a2da13e6e8e942839d08390db8374b9e7"></span>TextureHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getTexture</code><span class="sig-paren">(</span>FrameBufferHandle <em>_handle</em>, uint8_t <em>_attachment</em> = 0<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10getTextureE17FrameBufferHandle7uint8_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Obtain texture handle of frame buffer attachment. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Returns invalid texture handle if attachment index is not correct, or frame buffer is created with native window handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_texture</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Frame buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_attachment</span></code>: Frame buffer attachment index.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7setNameE17FrameBufferHandlePKc7int32_t">
<span id="_CPPv3N4bgfx7setNameE17FrameBufferHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE17FrameBufferHandlePKc7int32_t"></span><span id="bgfx::setName__FrameBufferHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a40f9af828c8a693c23b6d27856c78d62"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">setName</code><span class="sig-paren">(</span>FrameBufferHandle <em>_handle</em>, <em class="property">const</em> char *<em>_name</em>, int32_t <em>_len</em> = INT32_MAX<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE17FrameBufferHandlePKc7int32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set frame buffer debug name. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_frame_buffer_name</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: frame buffer handle. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_name</span></code>: frame buffer name. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_len</span></code>: frame buffer name length (if length is INT32_MAX, its expected that _name is zero terminated string.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE17FrameBufferHandle">
<span id="_CPPv3N4bgfx7destroyE17FrameBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE17FrameBufferHandle"></span><span id="bgfx::destroy__FrameBufferHandle"></span><span class="target" id="namespacebgfx_1aedeb0832cfdb4835cc3b631be5bf35db"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>FrameBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE17FrameBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy frame buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_frame_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Frame buffer handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="instance-buffer">
<h3>Instance Buffer<a class="headerlink" href="#instance-buffer" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t">
<span id="_CPPv3N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t"></span><span id="bgfx::getAvailInstanceDataBuffer__uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1abf9468e87a327e237d561229b5b917cb"></span>uint32_t <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getAvailInstanceDataBuffer</code><span class="sig-paren">(</span>uint32_t <em>_num</em>, uint16_t <em>_stride</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns number of requested or maximum available instance buffer slots. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_avail_instance_data_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of required instances. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stride</span></code>: Stride per instance.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t">
<span id="_CPPv3N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t"></span><span id="bgfx::allocInstanceDataBuffer__InstanceDataBufferP.uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1a57f18c024a3c7f0f1e902dc85b987757"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">allocInstanceDataBuffer</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer">InstanceDataBuffer</a> *<em>_idb</em>, uint32_t <em>_num</em>, uint16_t <em>_stride</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Allocate instance data buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_instance_data_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_idb</span></code>: <a class="reference internal" href="#structbgfx_1_1_instance_data_buffer"><span class="std std-ref">InstanceDataBuffer</span></a> structure will be filled, and will be valid for the duration of frame, and can be reused for multiple draw calls. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of instances. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_stride</span></code>: Instance stride. Must be multiple of 16.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="indirect-buffer">
<h3>Indirect Buffer<a class="headerlink" href="#indirect-buffer" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx20createIndirectBufferE8uint32_t">
<span id="_CPPv3N4bgfx20createIndirectBufferE8uint32_t"></span><span id="_CPPv2N4bgfx20createIndirectBufferE8uint32_t"></span><span id="bgfx::createIndirectBuffer__uint32_t"></span><span class="target" id="namespacebgfx_1a8a3c563fcf814144a76360b17b60f7e8"></span>IndirectBufferHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createIndirectBuffer</code><span class="sig-paren">(</span>uint32_t <em>_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx20createIndirectBufferE8uint32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create draw indirect buffer. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Indirect buffer handle.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_indirect_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_num</span></code>: Number of indirect calls. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE20IndirectBufferHandle">
<span id="_CPPv3N4bgfx7destroyE20IndirectBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE20IndirectBufferHandle"></span><span id="bgfx::destroy__IndirectBufferHandle"></span><span class="target" id="namespacebgfx_1a5ff8e7d7902e4cd61125955df3aa9daa"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>IndirectBufferHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE20IndirectBufferHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy draw indirect buffer. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_indirect_buffer</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Indirect buffer handle.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
<div class="section" id="occlusion-query">
<h3>Occlusion Query<a class="headerlink" href="#occlusion-query" title="Permalink to this headline"></a></h3>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx20createOcclusionQueryEv">
<span id="_CPPv3N4bgfx20createOcclusionQueryEv"></span><span id="_CPPv2N4bgfx20createOcclusionQueryEv"></span><span id="bgfx::createOcclusionQuery"></span><span class="target" id="namespacebgfx_1a6c9054faddeffa204c82105b9b5814dd"></span>OcclusionQueryHandle <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">createOcclusionQuery</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx20createOcclusionQueryEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create occlusion query. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Handle to occlusion query object.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_occlusion_query</span></code>. </p>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp struct">
<dt id="_CPPv4N4bgfx20OcclusionQueryResultE">
<span id="_CPPv3N4bgfx20OcclusionQueryResultE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResultE"></span><span id="bgfx::OcclusionQueryResult"></span><span class="target" id="structbgfx_1_1_occlusion_query_result"></span><em class="property">struct </em><code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">OcclusionQueryResult</code><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResultE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Occlusion query result. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_occlusion_query_result_t</span></code>. </p>
</dd>
</dl>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Types</p>
<dl class="cpp enum">
<dt id="_CPPv4N4bgfx20OcclusionQueryResult4EnumE">
<span id="_CPPv3N4bgfx20OcclusionQueryResult4EnumE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4EnumE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8c"></span><em class="property">enum </em><code class="sig-name descname">Enum</code><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4EnumE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Occlusion query results: </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx20OcclusionQueryResult4Enum9InvisibleE">
<span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum9InvisibleE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum9InvisibleE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca2364647c4ea4e3b1999f9602323fad4c"></span><em class="property">enumerator </em><code class="sig-name descname">Invisible</code><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum9InvisibleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Query failed test. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx20OcclusionQueryResult4Enum7VisibleE">
<span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum7VisibleE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum7VisibleE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca61b3fa648c1c7acc8a3b62e17920a798"></span><em class="property">enumerator </em><code class="sig-name descname">Visible</code><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum7VisibleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Query passed test. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx20OcclusionQueryResult4Enum8NoResultE">
<span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum8NoResultE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum8NoResultE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca19ab4aa30c501d80de1ee07962bbe6be"></span><em class="property">enumerator </em><code class="sig-name descname">NoResult</code><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum8NoResultE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Query result is not available yet. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt id="_CPPv4N4bgfx20OcclusionQueryResult4Enum5CountE">
<span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum5CountE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum5CountE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca7d146e3527bb06d8c6b3934eead6b22a"></span><em class="property">enumerator </em><code class="sig-name descname">Count</code><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum5CountE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx9getResultE20OcclusionQueryHandleP7int32_t">
<span id="_CPPv3N4bgfx9getResultE20OcclusionQueryHandleP7int32_t"></span><span id="_CPPv2N4bgfx9getResultE20OcclusionQueryHandleP7int32_t"></span><span id="bgfx::getResult__OcclusionQueryHandle.int32_tP"></span><span class="target" id="namespacebgfx_1abccef1bca742db8d7b55e81ad5088f1a"></span><a class="reference internal" href="#_CPPv4N4bgfx20OcclusionQueryResultE" title="bgfx::OcclusionQueryResult">OcclusionQueryResult</a>::<a class="reference internal" href="#_CPPv4N4bgfx20OcclusionQueryResult4EnumE" title="bgfx::OcclusionQueryResult::Enum">Enum</a> <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">getResult</code><span class="sig-paren">(</span>OcclusionQueryHandle <em>_handle</em>, int32_t *<em>_result</em> = NULL<span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9getResultE20OcclusionQueryHandleP7int32_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Retrieve occlusion query result from previous frame. </p>
<p><dl class="simple">
<dt><strong>Return</strong></dt><dd><p>Occlusion query result.</p>
</dd>
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_result</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Handle to occlusion query object. </p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">[out]</span> <span class="pre">_result</span></code>: Number of pixels that passed test. This argument can be <code class="docutils literal notranslate"><span class="pre">NULL</span></code> if result of occlusion query is not needed. </p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
<dl class="cpp function">
<dt id="_CPPv4N4bgfx7destroyE20OcclusionQueryHandle">
<span id="_CPPv3N4bgfx7destroyE20OcclusionQueryHandle"></span><span id="_CPPv2N4bgfx7destroyE20OcclusionQueryHandle"></span><span id="bgfx::destroy__OcclusionQueryHandle"></span><span class="target" id="namespacebgfx_1ac23e1de099833621a7ca0121f0ccae6d"></span>void <code class="sig-prename descclassname">bgfx<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">destroy</code><span class="sig-paren">(</span>OcclusionQueryHandle <em>_handle</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE20OcclusionQueryHandle" title="Permalink to this definition"></a><br /></dt>
<dd><p>Destroy occlusion query. </p>
<p><dl class="simple">
<dt><strong>Attention</strong></dt><dd><p>C99s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_occlusion_query</span></code>. </p>
</dd>
<dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[in]</span> <span class="pre">_handle</span></code>: Handle to occlusion query object.</p></li>
</ul>
</dd>
</dl>
</p>
</dd></dl>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="tools.html" class="btn btn-neutral float-right" title="Tools" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="examples.html" class="btn btn-neutral float-left" title="Examples" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2010-2022, Branimir Karadžić
</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>