624 lines
27 KiB
HTML
624 lines
27 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>Overview — bgfx 1.0 documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="index" title="Index"
|
|
href="genindex.html"/>
|
|
<link rel="search" title="Search" href="search.html"/>
|
|
<link rel="top" title="bgfx 1.0 documentation" href="index.html"/>
|
|
<link rel="next" title="Building" href="build.html"/>
|
|
<link rel="prev" title="Documentation" href="index.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<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"> bgfx
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
<div class="version">
|
|
1.0
|
|
</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 current"><a class="current reference internal" href="#">Overview</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="#what-is-it">What is it?</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#supported-rendering-backends">Supported rendering backends</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#supported-hmd">Supported HMD</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#supported-platforms">Supported Platforms</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#supported-compilers">Supported Compilers</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#supported-languages">Supported Languages</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#project-page">Project Page</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#contact">Contact</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#internals">Internals</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#customization">Customization</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#debugging-and-profiling">Debugging and Profiling</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#renderdoc">RenderDoc</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#intelgpa">IntelGPA</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#other-debuggers-and-profilers">Other Debuggers and Profilers</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#sdl-glfw-etc">SDL, GLFW, etc.</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#todo">Todo</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#getting-involved">Getting Involved</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#contributors">Contributors</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#repository-visualization">Repository visualization</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</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"><a class="reference internal" href="bgfx.html">API Reference</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="tools.html">Tools</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" role="navigation" 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">Docs</a> »</li>
|
|
|
|
<li>Overview</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="overview">
|
|
<h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h1>
|
|
<div class="section" id="what-is-it">
|
|
<h2>What is it?<a class="headerlink" href="#what-is-it" title="Permalink to this headline">¶</a></h2>
|
|
<p>Cross-platform, graphics API agnostic, “Bring Your Own Engine/Framework” style rendering library,
|
|
licensed under permissive BSD-2 clause open source license.</p>
|
|
<p>
|
|
<iframe src="https://ghbtns.com/github-btn.html?user=bkaradzic&repo=bgfx&type=star&count=true&size=large" frameborder="0" scrolling="0" width="160px" height="30px"></iframe>
|
|
<iframe src="https://ghbtns.com/github-btn.html?user=bkaradzic&repo=bgfx&type=fork&count=true&size=large" frameborder="0" scrolling="0" width="158px" height="30px"></iframe>
|
|
</p><div class="section" id="supported-rendering-backends">
|
|
<h3>Supported rendering backends<a class="headerlink" href="#supported-rendering-backends" title="Permalink to this headline">¶</a></h3>
|
|
<ul class="simple">
|
|
<li>Direct3D 9</li>
|
|
<li>Direct3D 11</li>
|
|
<li>Direct3D 12 (WIP)</li>
|
|
<li>Metal (WIP)</li>
|
|
<li>OpenGL 2.1</li>
|
|
<li>OpenGL 3.1+</li>
|
|
<li>OpenGL ES 2</li>
|
|
<li>OpenGL ES 3.1</li>
|
|
<li>WebGL 1.0</li>
|
|
<li>WebGL 2.0</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="supported-hmd">
|
|
<h3>Supported HMD<a class="headerlink" href="#supported-hmd" title="Permalink to this headline">¶</a></h3>
|
|
<ul class="simple">
|
|
<li>OculusVR (1.3.0)</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="supported-platforms">
|
|
<h3>Supported Platforms<a class="headerlink" href="#supported-platforms" title="Permalink to this headline">¶</a></h3>
|
|
<ul class="simple">
|
|
<li>Android (14+, ARM, x86, MIPS)</li>
|
|
<li>asm.js/Emscripten (1.25.0)</li>
|
|
<li>FreeBSD</li>
|
|
<li>iOS (iPhone, iPad, AppleTV)</li>
|
|
<li>Linux</li>
|
|
<li>MIPS Creator CI20</li>
|
|
<li>OSX (10.9+)</li>
|
|
<li>RaspberryPi</li>
|
|
<li>SteamLink</li>
|
|
<li>Windows (XP, Vista, 7, 8, 10)</li>
|
|
<li>WinRT (WinPhone 8.0+)</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="supported-compilers">
|
|
<h3>Supported Compilers<a class="headerlink" href="#supported-compilers" title="Permalink to this headline">¶</a></h3>
|
|
<ul class="simple">
|
|
<li>Clang 3.3 and above</li>
|
|
<li>GCC 4.6 and above</li>
|
|
<li>vs2015 and above</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="supported-languages">
|
|
<h3>Supported Languages<a class="headerlink" href="#supported-languages" title="Permalink to this headline">¶</a></h3>
|
|
<ul class="simple">
|
|
<li><a class="reference external" href="https://bkaradzic.github.io/bgfx/bgfx.html">C/C++ API documentation</a></li>
|
|
<li><a class="reference external" href="https://github.com/MikePopoloski/SharpBgfx">C#/VB/F# language API bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/DerelictOrg/DerelictBgfx">D language API bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/james4k/go-bgfx">Go language API bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/haskell-game/bgfx">Haskell language API bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/LWJGL/lwjgl3#lwjgl---lightweight-java-game-library-3">Lightweight Java Game Library 3 bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/excessive/lua-bgfx">Lua language API bindings 1</a></li>
|
|
<li><a class="reference external" href="https://github.com/cloudwu/lua-bgfx">Lua language API bindings 2</a></li>
|
|
<li><a class="reference external" href="https://github.com/Halsys/nim-bgfx">Nim language API bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/jnadro/pybgfx#pybgfx">Python language API bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/rhoot/bgfx-rs#bgfx-rs">Rust language API bindings</a></li>
|
|
<li><a class="reference external" href="https://github.com/stuartcarnie/SwiftBGFX">Swift language API bindings</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="project-page">
|
|
<h3>Project Page<a class="headerlink" href="#project-page" title="Permalink to this headline">¶</a></h3>
|
|
<ul class="simple">
|
|
<li><a class="reference external" href="https://github.com/bkaradzic/bgfx">https://github.com/bkaradzic/bgfx</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="contact">
|
|
<h3>Contact<a class="headerlink" href="#contact" title="Permalink to this headline">¶</a></h3>
|
|
<blockquote>
|
|
<div><ul class="simple">
|
|
<li>Twitter <a class="reference external" href="https://twitter.com/bkaradzic">@bkaradzic</a></li>
|
|
<li>GitHub <a class="reference external" href="https://github.com/bkaradzic">@bkaradzic</a></li>
|
|
</ul>
|
|
</div></blockquote>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="internals">
|
|
<h2>Internals<a class="headerlink" href="#internals" title="Permalink to this headline">¶</a></h2>
|
|
<p>bgfx is using sort-based draw call bucketing. This means that submission
|
|
order doesn’t necessarily match the rendering order, but on the
|
|
low-level they will be sorted and ordered correctly. On the high level
|
|
this allows more optimal way of submitting draw calls for all passes at
|
|
one place, and on the low-level this allows better optimization of
|
|
rendering order. This sometimes creates undesired results usually for
|
|
GUI rendering, where draw order should usually match submit order. bgfx
|
|
provides way to enable sequential rendering for these cases (see
|
|
<code class="docutils literal"><span class="pre">bgfx::setViewMode</span></code>).</p>
|
|
<p>Internally all low-level rendering draw calls are issued inside single
|
|
function <code class="docutils literal"><span class="pre">RendererContextI::submit</span></code>. This function exist inside each
|
|
renderer backend implementation.</p>
|
|
<blockquote>
|
|
<div><ul class="simple">
|
|
<li>More detailed description of sort-based draw call bucketing can be found at: <a class="reference external" href="http://realtimecollisiondetection.net/blog/?p=86">Order your graphics draw calls around!</a></li>
|
|
<li>High level overview of bgfx, presented at EclipseCon 2016: <a class="reference external" href="https://www.eclipsecon.org/na2016/session/dark-side-moon-gpu-programming-bgfx-and-eclipse">From the Dark Side of the Moon: GPU Programming with BGFX and Eclipse, Tony McCrary [l33t labs]</a>, Slides: [<a class="reference external" href="https://www.eclipsecon.org/na2016/sites/default/files/slides/FromTheDarkSideOfTheMoon_BGFX.pdf">PDF</a>]</li>
|
|
</ul>
|
|
</div></blockquote>
|
|
</div>
|
|
<div class="section" id="customization">
|
|
<h2>Customization<a class="headerlink" href="#customization" title="Permalink to this headline">¶</a></h2>
|
|
<p>By default each platform has sane default values. For example on Windows
|
|
default renderer is DirectX9, and on Linux it is OpenGL 2.1. On Windows
|
|
platform all rendering backends are available. For OpenGL ES on desktop
|
|
you can find more information at:- <a class="reference external" href="http://www.g-truc.net/post-0457.html">OpenGL ES 2.0 and EGL on
|
|
desktop</a></p>
|
|
<p>If you’re targeting specific mobile hardware, you can find GLES support
|
|
in their official SDKs: <a class="reference external" href="http://developer.qualcomm.com/mobile-development/mobile-technologies/gaming-graphics-optimization-adreno/tools-and-resources">Adreno
|
|
SDK</a>,
|
|
<a class="reference external" href="http://www.malideveloper.com/">Mali SDK</a>, <a class="reference external" href="http://www.imgtec.com/powervr/insider/sdkdownloads/">PowerVR
|
|
SDK</a>.</p>
|
|
<p>All configuration settings are located inside
|
|
<a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/src/config.h">src/config.h</a>.</p>
|
|
<p>Every <code class="docutils literal"><span class="pre">BGFX_CONFIG_*</span></code> setting can be changed by passing defines thru
|
|
compiler switches. For example setting preprocessor define
|
|
<code class="docutils literal"><span class="pre">BGFX_CONFIG_RENDERER_OPENGL=1</span></code> will change backend renderer to OpenGL
|
|
2.1. on Windows. Since rendering APIs are platform specific, this
|
|
obviously won’t work nor make sense in all cases.</p>
|
|
</div>
|
|
<div class="section" id="debugging-and-profiling">
|
|
<h2>Debugging and Profiling<a class="headerlink" href="#debugging-and-profiling" title="Permalink to this headline">¶</a></h2>
|
|
<div class="section" id="renderdoc">
|
|
<h3>RenderDoc<a class="headerlink" href="#renderdoc" title="Permalink to this headline">¶</a></h3>
|
|
<p>Loading of RenderDoc is integrated in bgfx when using DX11 or OpenGL
|
|
renderer. You can drop in <code class="docutils literal"><span class="pre">renderdoc.dll</span></code> from RenderDoc distribution
|
|
into working directory, and it will be automatically loaded during bgfx
|
|
initialization. This allows frame capture at any time by pressing
|
|
<strong>F11</strong>.</p>
|
|
<p>Download: <a class="reference external" href="https://renderdoc.org/builds">RenderDoc</a></p>
|
|
<p>RenderDoc <a class="reference external" href="https://renderdoc.org/docs/how/index.html">How do I ...?</a> documentation.</p>
|
|
</div>
|
|
<div class="section" id="intelgpa">
|
|
<h3>IntelGPA<a class="headerlink" href="#intelgpa" title="Permalink to this headline">¶</a></h3>
|
|
<p>Right click <strong>Intel GPA Monitor</strong> tray icon, choose preferences, check
|
|
“Auto-detect launched applications” option. Find <code class="docutils literal"><span class="pre">InjectionList.txt</span></code>
|
|
in GPA directory and add <code class="docutils literal"><span class="pre">examples-*</span></code> to the list.</p>
|
|
<p>Download:
|
|
<a class="reference external" href="https://software.intel.com/en-us/vcsource/tools/intel-gpa">IntelGPA</a></p>
|
|
</div>
|
|
<div class="section" id="other-debuggers-and-profilers">
|
|
<h3>Other Debuggers and Profilers<a class="headerlink" href="#other-debuggers-and-profilers" title="Permalink to this headline">¶</a></h3>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="15%" />
|
|
<col width="20%" />
|
|
<col width="8%" />
|
|
<col width="9%" />
|
|
<col width="7%" />
|
|
<col width="8%" />
|
|
<col width="7%" />
|
|
<col width="7%" />
|
|
<col width="8%" />
|
|
<col width="9%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head">Name</th>
|
|
<th class="head">OS</th>
|
|
<th class="head">DX9</th>
|
|
<th class="head">DX11</th>
|
|
<th class="head">DX12</th>
|
|
<th class="head">Metal</th>
|
|
<th class="head">GL</th>
|
|
<th class="head">GLES</th>
|
|
<th class="head">Vulkan</th>
|
|
<th class="head">Source</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td>APITrace</td>
|
|
<td>Linux/OSX/Win</td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>CodeXL</td>
|
|
<td>Linux/Win</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr class="row-even"><td>Dissector</td>
|
|
<td>Win</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>PerfStudio</td>
|
|
<td>Win</td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr class="row-even"><td>IntelGPA</td>
|
|
<td>Linux/OSX/Win</td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr class="row-odd"><td>Nsight</td>
|
|
<td>Win</td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr class="row-even"><td>PerfHUD</td>
|
|
<td>Win</td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr class="row-odd"><td>RenderDoc</td>
|
|
<td>Win/Linux</td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td>✓</td>
|
|
</tr>
|
|
<tr class="row-even"><td>vogl</td>
|
|
<td>Linux</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>✓</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Download:</p>
|
|
<ul class="simple">
|
|
<li><a class="reference external" href="https://apitrace.github.io/">APITrace</a></li>
|
|
<li><a class="reference external" href="http://developer.amd.com/tools-and-sdks/opencl-zone/codexl/">CodeXL</a></li>
|
|
<li><a class="reference external" href="https://github.com/imccown/Dissector">Dissector</a></li>
|
|
<li><a class="reference external" href="http://developer.amd.com/tools-and-sdks/graphics-development/gpu-perfstudio/">GPU PerfStudio</a></li>
|
|
<li><a class="reference external" href="https://developer.nvidia.com/linux-graphics-debugger">Linux Graphics Debugger</a></li>
|
|
<li><a class="reference external" href="https://developer.nvidia.com/nvidia-nsight-visual-studio-edition">Nsight</a></li>
|
|
<li><a class="reference external" href="https://developer.nvidia.com/nvidia-perfhud">PerfHUD</a></li>
|
|
<li><a class="reference external" href="https://github.com/ValveSoftware/vogl">vogl</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="sdl-glfw-etc">
|
|
<h2>SDL, GLFW, etc.<a class="headerlink" href="#sdl-glfw-etc" title="Permalink to this headline">¶</a></h2>
|
|
<p>It is possible to use bgfx with SDL, GLFW and similar cross platform
|
|
windowing libraries. The main requirement is that windowing library
|
|
provides access to native window handle that’s used to create Direct3D
|
|
device or OpenGL context.</p>
|
|
<p>For more info see: <a class="reference internal" href="bgfx.html"><span class="doc">API Reference</span></a>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">You can use <code class="docutils literal"><span class="pre">--with-sdl</span></code> when runnning GENie to enable SDL2 integration with examples:
|
|
<code class="docutils literal"><span class="pre">genie</span> <span class="pre">--with-sdl</span> <span class="pre">vs2012</span></code></p>
|
|
</div>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last"><code class="docutils literal"><span class="pre">--with-glfw</span></code> is also available, but it’s just simple stub to be used to test GLFW
|
|
integration API.</p>
|
|
</div>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">Special care is necessary to make custom windowing to work with multithreaded renderer.
|
|
Each platform has rules about where renderer can be and how multithreading interacts
|
|
with context/device. To disable multithreaded render use <code class="docutils literal"><span class="pre">BGFX_CONFIG_MULTITHREDED=0</span></code>
|
|
preprocessor define.</p>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="todo">
|
|
<h2>Todo<a class="headerlink" href="#todo" title="Permalink to this headline">¶</a></h2>
|
|
<ul class="simple">
|
|
<li>Fullscreen mode.</li>
|
|
<li>ETC2, PVRTC1/2 decoding fallback for targets that don’t support it
|
|
natively.</li>
|
|
<li>shaderc as library for runtime shader building.</li>
|
|
<li>Multiple vertex streams support.</li>
|
|
<li>Animated mesh example.</li>
|
|
<li>Vulkan renderer backend.</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="getting-involved">
|
|
<h2>Getting Involved<a class="headerlink" href="#getting-involved" title="Permalink to this headline">¶</a></h2>
|
|
<p>Everyone is welcome to contribute to bgfx by submitting bug reports, testing on different
|
|
platforms, writing examples, improving documentation, profiling and optimizing, etc.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last"><strong>When contributing to the bgfx project you must agree to the BSD 2-clause
|
|
licensing terms.</strong></p>
|
|
</div>
|
|
<div class="section" id="contributors">
|
|
<h3>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h3>
|
|
<p>Chrnonological order:</p>
|
|
<blockquote>
|
|
<div><ul class="simple">
|
|
<li>Branimir Karadžić (<a class="reference external" href="https://github.com/bkaradzic">@bkaradzic</a>)</li>
|
|
<li>Garett Bass (<a class="reference external" href="https://github.com/gtbass">@gtbass</a>) - OSX port.</li>
|
|
<li>Jeremie Roy (<a class="reference external" href="https://github.com/jeremieroy">@jeremieroy</a>) - Font system and examples.</li>
|
|
<li>Miloš Tošić (<a class="reference external" href="https://github.com/milostosic">@milostosic</a>) - 12-lod example.</li>
|
|
<li>Dario Manesku (<a class="reference external" href="https://github.com/dariomanesku">@dariomanesku</a>) - 13-stencil,
|
|
14-shadowvolumes, 15-shadowmaps-simple, 16-shadowmaps, 18-ibl, 28-wireframe.</li>
|
|
<li>James Gray (<a class="reference external" href="https://github.com/james4k">@james4k</a>) - Go language API bindings.</li>
|
|
<li>Guillaume Piolat (<a class="reference external" href="https://github.com/p0nce">@p0nce</a>) - D language API bindings.</li>
|
|
<li>Mike Popoloski (<a class="reference external" href="https://github.com/MikePopoloski">@MikePopoloski</a>) - C#/VB/F# language API
|
|
bindings, WinRT/WinPhone support.</li>
|
|
<li>Kai Jourdan (<a class="reference external" href="https://github.com/questor">@questor</a>) - 23-vectordisplay example</li>
|
|
<li>Stanlo Slasinski (<a class="reference external" href="https://github.com/stanlo">@stanlo</a>) - 24-nbody example</li>
|
|
<li>Daniel Collin (<a class="reference external" href="https://github.com/emoon">@emoon</a>) - Port of Ocornut’s ImGui to bgfx.</li>
|
|
<li>Andre Weissflog (<a class="reference external" href="https://github.com/floooh">@floooh</a>) - Alternative build system fips.</li>
|
|
<li>Andrew Johnson (<a class="reference external" href="https://github.com/ajohnson23">@ajohnson23</a>) - TeamCity build.</li>
|
|
<li>Tony McCrary (<a class="reference external" href="https://github.com/enleeten">@enleeten</a>) - Java language API bindings.</li>
|
|
<li>Attila Kocsis (<a class="reference external" href="https://github.com/attilaz">@attilaz</a>) - Metal rendering backend, various OSX
|
|
and iOS improvements and bug fixes.</li>
|
|
<li>Richard Gale (<a class="reference external" href="https://github.com/RichardGale">@RichardGale</a>) - Emscripten entry input
|
|
handling.</li>
|
|
<li>Andrew Mac (<a class="reference external" href="https://github.com/andr3wmac">@andr3wmac</a>) - 27-terrain.</li>
|
|
<li>Oliver Charles (<a class="reference external" href="https://github.com/ocharles">@ocharles</a>) - Haskel language API bindings.</li>
|
|
<li>Johan Sköld (<a class="reference external" href="https://github.com/rhoot">@rhoot</a>) - Rust language API bindings.</li>
|
|
<li>Jean-François Verdon (<a class="reference external" href="https://github.com/Nodrev">@Nodrev</a>) - Alternative deployment for
|
|
Android.</li>
|
|
<li>Jason Nadro (<a class="reference external" href="https://github.com/jnadro">@jnadro</a>) - Python language API bindings.</li>
|
|
<li>Krzysztof Kondrak (<a class="reference external" href="https://github.com/kondrak">@kondrak</a>) - OculusVR integration.</li>
|
|
<li>Colby Klein (<a class="reference external" href="https://github.com/excessive">@excessive</a>) - Lua language API bindings.</li>
|
|
<li>Stuart Carnie (<a class="reference external" href="https://github.com/stuartcarnie">@stuartcarnie</a>) - Swift language API
|
|
bindings.</li>
|
|
<li>Joseph Cherlin (<a class="reference external" href="https://github.com/jcherlin">@jcherlin</a>) - 30-picking, and 31-rsm example.</li>
|
|
<li>Olli Wang (<a class="reference external" href="https://github.com/olliwang">@olliwang</a>) - Various NanoVG integration improvements.</li>
|
|
<li>Cory Golden (<a class="reference external" href="https://github.com/Halsys">@Halsys</a>) - Nim language API bindings.</li>
|
|
<li>Camilla Berglund (<a class="reference external" href="https://github.com/elmindreda">@elmindreda</a>) - GLFW support.</li>
|
|
<li>Daniel Ludwig (<a class="reference external" href="https://github.com/code-disaster">@code-disaster</a>) - Lightweight Java Game
|
|
Library 3 bindings.</li>
|
|
<li>Benoit Jacquier (<a class="reference external" href="https://github.com/benoitjacquier">@benoitjacquier</a>) - Added support for
|
|
cubemap as texture 2D array in a compute shader.</li>
|
|
<li>Apoorva Joshi (<a class="reference external" href="https://github.com/ApoorvaJ">@ApoorvaJ</a>) - 33-pom example.</li>
|
|
<li>Stanislav Pidhorsky (<a class="reference external" href="https://github.com/podgorskiy">@podgorskiy</a>) - 36-sky example.</li>
|
|
<li>云风 (<a class="reference external" href="https://github.com/cloudwu">@cloudwu</a>) - Alternative Lua bindings.</li>
|
|
</ul>
|
|
</div></blockquote>
|
|
</div>
|
|
<div class="section" id="repository-visualization">
|
|
<h3>Repository visualization<a class="headerlink" href="#repository-visualization" title="Permalink to this headline">¶</a></h3>
|
|
<p>
|
|
<iframe width="694" height="390" src="https://www.youtube.com/embed/5ZeN_d_-BHo" frameborder="0" allowfullscreen></iframe>
|
|
</p></div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="build.html" class="btn btn-neutral float-right" title="Building" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="index.html" class="btn btn-neutral" title="Documentation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2010-2017, Branimir Karadžić.
|
|
|
|
</p>
|
|
</div>
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'1.0',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: false
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |