| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256 |
- <!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>Examples — bgfx 1.0 documentation</title>
-
-
-
-
-
-
- <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
-
-
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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/language_data.js"></script>
-
- <script type="text/javascript" src="_static/js/theme.js"></script>
-
-
- <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="API Reference" href="bgfx.html" />
- <link rel="prev" title="Building" href="build.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"> 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"><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 current"><a class="current reference internal" href="#">Examples</a><ul>
- <li class="toctree-l2"><a class="reference internal" href="#helloworld">00-helloworld</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#cubes">01-cubes</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#metaballs">02-metaballs</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#raymarch">03-raymarch</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#mesh">04-mesh</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#instancing">05-instancing</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#bump">06-bump</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#callback">07-callback</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#update">08-update</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#hdr">09-hdr</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#font">10-font</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#fontsdf">11-fontsdf</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#lod">12-lod</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#stencil">13-stencil</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#shadowvolumes">14-shadowvolumes</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#shadowmaps-simple">15-shadowmaps-simple</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#shadowmaps">16-shadowmaps</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#drawstress">17-drawstress</a><ul>
- <li class="toctree-l3"><a class="reference internal" href="#hz">60Hz</a></li>
- <li class="toctree-l3"><a class="reference internal" href="#hz-test-for-browsers">30Hz (test for browsers)</a></li>
- </ul>
- </li>
- <li class="toctree-l2"><a class="reference internal" href="#ibl">18-ibl</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#oit">19-oit</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#nanovg">20-nanovg</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#deferred">21-deferred</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#windows">22-windows</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#vectordisplay">23-vectordisplay</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#nbody">24-nbody</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#c99">25-c99</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#occlusion">26-occlusion</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#terrain">27-terrain</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#wireframe">28-wireframe</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#debugdraw">29-debugdraw</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#picking">30-picking</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#rsm">31-rsm</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#particles">32-particles</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#pom">33-pom</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#mvs">34-mvs</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#dynamic">35-dynamic</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#sky">36-sky</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#gpudrivenrendering">37-gpudrivenrendering</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#bloom">38-bloom</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#assao">39-assao</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#svt">40-svt</a></li>
- <li class="toctree-l2"><a class="reference internal" href="#tess">41-tess</a></li>
- </ul>
- </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="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">Docs</a> »</li>
-
- <li>Examples</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="examples">
- <h1>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h1>
- <p>Most of the examples require shader/texture/mesh data to be loaded. When
- running examples your current directory should be examples/runtime.</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><bgfx_path>/examples/runtime $ ../../.build/<config>/bin/example-00-helloworldDebug
- </pre></div>
- </div>
- <div class="section" id="helloworld">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/00-helloworld">00-helloworld</a><a class="headerlink" href="#helloworld" title="Permalink to this headline">¶</a></h2>
- <p>Initialization and debug text.</p>
- <div class="figure align-default">
- <img alt="example-00-helloworld" src="https://github.com/bkaradzic/bgfx/raw/master/examples/00-helloworld/screenshot.png" />
- </div>
- </div>
- <div class="section" id="cubes">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/01-cubes/cubes.cpp">01-cubes</a><a class="headerlink" href="#cubes" title="Permalink to this headline">¶</a></h2>
- <p>Rendering simple static mesh.</p>
- <div class="figure align-default">
- <img alt="example-01-cubes" src="https://github.com/bkaradzic/bgfx/raw/master/examples/01-cubes/screenshot.png" />
- </div>
- </div>
- <div class="section" id="metaballs">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/02-metaballs">02-metaballs</a><a class="headerlink" href="#metaballs" title="Permalink to this headline">¶</a></h2>
- <p>Rendering with transient buffers and embedding shaders.</p>
- <div class="emscripten">
- <progress value="0" max="100" id="progress" hidden=1></progress>
- </div>
- <div class="spinner" id='spinner'></div>
- <div class="emscripten" id="status">Downloading...</div>
- <div class="emscripten_border">
- <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
- </div>
- <script type='text/javascript'>
- var statusElement = document.getElementById('status');
- var progressElement = document.getElementById('progress');
- var spinnerElement = document.getElementById('spinner');
- var Module = {
- preRun: [],
- postRun: [],
- print: (function() {
- var element = document.getElementById('output');
- if (element) element.value = ''; // clear browser cache
- return function(text) {
- if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
- // These replacements are necessary if you render to raw HTML
- //text = text.replace(/&/g, "&");
- //text = text.replace(/</g, "<");
- //text = text.replace(/>/g, ">");
- //text = text.replace('\n', '<br>', 'g');
- console.log(text);
- if (element) {
- element.value += text + "\n";
- element.scrollTop = element.scrollHeight; // focus on bottom
- }
- };
- })(),
- printErr: function(text) {
- if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
- if (0) { // XXX disabled for safety typeof dump == 'function') {
- dump(text + '\n'); // fast, straight to the real console
- } else {
- console.error(text);
- }
- },
- canvas: (function() {
- var canvas = document.getElementById('canvas');
- // As a default initial behavior, pop up an alert when webgl context is lost. To make your
- // application robust, you may want to override this behavior before shipping!
- // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
- canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
- return canvas;
- })(),
- setStatus: function(text) {
- if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
- if (text === Module.setStatus.text) return;
- var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
- var now = Date.now();
- if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
- if (m) {
- text = m[1];
- progressElement.value = parseInt(m[2])*100;
- progressElement.max = parseInt(m[4])*100;
- progressElement.hidden = false;
- spinnerElement.hidden = false;
- } else {
- progressElement.value = null;
- progressElement.max = null;
- progressElement.hidden = true;
- if (!text) spinnerElement.style.display = 'none';
- }
- statusElement.innerHTML = text;
- },
- totalDependencies: 0,
- monitorRunDependencies: function(left) {
- this.totalDependencies = Math.max(this.totalDependencies, left);
- Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
- }
- };
- Module.setStatus('Downloading...');
- window.onerror = function(event) {
- // TODO: do not warn on ok events like simulating an infinite loop or exitStatus
- Module.setStatus('Exception thrown, see JavaScript console');
- spinnerElement.style.display = 'none';
- Module.setStatus = function(text) {
- if (text) Module.printErr('[post-exception status] ' + text);
- };
- };
- </script>
- <script async type="text/javascript" src="example-02-metaballsRelease.bc.js"></script></div>
- <div class="section" id="raymarch">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/03-raymarch">03-raymarch</a><a class="headerlink" href="#raymarch" title="Permalink to this headline">¶</a></h2>
- <p>Updating shader uniforms.</p>
- <div class="figure align-default">
- <img alt="example-03-raymarch" src="https://github.com/bkaradzic/bgfx/raw/master/examples/03-raymarch/screenshot.png" />
- </div>
- </div>
- <div class="section" id="mesh">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/04-mesh">04-mesh</a><a class="headerlink" href="#mesh" title="Permalink to this headline">¶</a></h2>
- <p>Loading meshes.</p>
- <div class="figure align-default">
- <img alt="example-04-mesh" src="https://github.com/bkaradzic/bgfx/raw/master/examples/04-mesh/screenshot.png" />
- </div>
- </div>
- <div class="section" id="instancing">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/05-instancing">05-instancing</a><a class="headerlink" href="#instancing" title="Permalink to this headline">¶</a></h2>
- <p>Geometry instancing.</p>
- <div class="figure align-default">
- <img alt="example-05-instancing" src="https://github.com/bkaradzic/bgfx/raw/master/examples/05-instancing/screenshot.png" />
- </div>
- </div>
- <div class="section" id="bump">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/06-bump">06-bump</a><a class="headerlink" href="#bump" title="Permalink to this headline">¶</a></h2>
- <p>Loading textures.</p>
- <div class="figure align-default">
- <img alt="example-06-bump" src="https://github.com/bkaradzic/bgfx/raw/master/examples/06-bump/screenshot.png" />
- </div>
- </div>
- <div class="section" id="callback">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/07-callback">07-callback</a><a class="headerlink" href="#callback" title="Permalink to this headline">¶</a></h2>
- <p>Implementing application specific callbacks for taking screen shots,
- caching OpenGL binary shaders, and video capture.</p>
- </div>
- <div class="section" id="update">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/08-update">08-update</a><a class="headerlink" href="#update" title="Permalink to this headline">¶</a></h2>
- <p>Updating textures.</p>
- </div>
- <div class="section" id="hdr">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/09-hdr">09-hdr</a><a class="headerlink" href="#hdr" title="Permalink to this headline">¶</a></h2>
- <p>Using multiple views with frame buffers, and view order remapping.</p>
- <div class="figure align-default">
- <img alt="example-09-hdr" src="https://github.com/bkaradzic/bgfx/raw/master/examples/09-hdr/screenshot.png" />
- </div>
- </div>
- <div class="section" id="font">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/10-font">10-font</a><a class="headerlink" href="#font" title="Permalink to this headline">¶</a></h2>
- <p>Use the font system to display text and styled text.</p>
- <div class="figure align-default">
- <img alt="example-10-font" src="https://github.com/bkaradzic/bgfx/raw/master/examples/10-font/screenshot.png" />
- </div>
- </div>
- <div class="section" id="fontsdf">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/11-fontsdf">11-fontsdf</a><a class="headerlink" href="#fontsdf" title="Permalink to this headline">¶</a></h2>
- <p>Use a single distance field font to render text of various size.</p>
- <div class="figure align-default">
- <img alt="example-11-fontsdf" src="https://github.com/bkaradzic/bgfx/raw/master/examples/11-fontsdf/screenshot.png" />
- </div>
- </div>
- <div class="section" id="lod">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/12-lod">12-lod</a><a class="headerlink" href="#lod" title="Permalink to this headline">¶</a></h2>
- <p>Mesh LOD transitions.</p>
- <div class="figure align-default">
- <img alt="example-12-lod" src="https://github.com/bkaradzic/bgfx/raw/master/examples/12-lod/screenshot.png" />
- </div>
- </div>
- <div class="section" id="stencil">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/13-stencil">13-stencil</a><a class="headerlink" href="#stencil" title="Permalink to this headline">¶</a></h2>
- <p>Stencil reflections and shadows.</p>
- <div class="figure align-default">
- <img alt="example-13-stencil" src="https://github.com/bkaradzic/bgfx/raw/master/examples/13-stencil/screenshot.png" />
- </div>
- </div>
- <div class="section" id="shadowvolumes">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/14-shadowvolumes">14-shadowvolumes</a><a class="headerlink" href="#shadowvolumes" title="Permalink to this headline">¶</a></h2>
- <p>Shadow volumes.</p>
- <div class="figure align-default">
- <img alt="example-14-shadowvolumes" src="https://github.com/bkaradzic/bgfx/raw/master/examples/14-shadowvolumes/screenshot.png" />
- </div>
- </div>
- <div class="section" id="shadowmaps-simple">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/15-shadowmaps-simple">15-shadowmaps-simple</a><a class="headerlink" href="#shadowmaps-simple" title="Permalink to this headline">¶</a></h2>
- <div class="figure align-default">
- <img alt="example-15-shadowmaps-simple" src="https://github.com/bkaradzic/bgfx/raw/master/examples/15-shadowmaps-simple/screenshot.png" />
- </div>
- </div>
- <div class="section" id="shadowmaps">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/16-shadowmaps">16-shadowmaps</a><a class="headerlink" href="#shadowmaps" title="Permalink to this headline">¶</a></h2>
- <div class="figure align-default">
- <img alt="example-16-shadowmaps" src="https://github.com/bkaradzic/bgfx/raw/master/examples/16-shadowmaps/screenshot.png" />
- </div>
- </div>
- <div class="section" id="drawstress">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/blob/master/examples/17-drawstress">17-drawstress</a><a class="headerlink" href="#drawstress" title="Permalink to this headline">¶</a></h2>
- <div class="section" id="hz">
- <h3>60Hz<a class="headerlink" href="#hz" title="Permalink to this headline">¶</a></h3>
- <p>Draw stress is CPU stress test to show what is the maximimum number of
- draw calls while maintaining 60Hz frame rate. bgfx currently has default
- limit of 64K draw calls per frame. You can increase this limit by
- changing <code class="docutils literal notranslate"><span class="pre">BGFX_CONFIG_MAX_DRAW_CALLS</span></code>.</p>
- <table class="docutils align-default">
- <colgroup>
- <col style="width: 19%" />
- <col style="width: 18%" />
- <col style="width: 16%" />
- <col style="width: 27%" />
- <col style="width: 8%" />
- <col style="width: 11%" />
- </colgroup>
- <thead>
- <tr class="row-odd"><th class="head"><p>CPU</p></th>
- <th class="head"><p>Renderer</p></th>
- <th class="head"><p>GPU</p></th>
- <th class="head"><p>Arch/Compiler/OS</p></th>
- <th class="head"><p>Dim</p></th>
- <th class="head"><p>Calls</p></th>
- </tr>
- </thead>
- <tbody>
- <tr class="row-even"><td><p>i7-4770K 4.2</p></td>
- <td><p>GL2.1</p></td>
- <td><p>2xGTX780</p></td>
- <td><p>x64/VS2013/Win 8.1</p></td>
- <td><p>51</p></td>
- <td><p>132651</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-4770K 4.2</p></td>
- <td><p>DX11</p></td>
- <td><p>2xGTX780</p></td>
- <td><p>x64/VS2013/Win 8.1</p></td>
- <td><p>50</p></td>
- <td><p>125000</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-4790K 4.0</p></td>
- <td><p>GL2.1</p></td>
- <td><p>GTX970</p></td>
- <td><p>x64/VS2015/Win 10</p></td>
- <td><p>47</p></td>
- <td><p>103823</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-4790K 4.0</p></td>
- <td><p>DX11</p></td>
- <td><p>GTX970</p></td>
- <td><p>x64/VS2015/Win 10</p></td>
- <td><p>45</p></td>
- <td><p>91125</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-4790K 4.0</p></td>
- <td><p>DX9</p></td>
- <td><p>GTX970</p></td>
- <td><p>x64/VS2013/Win 10</p></td>
- <td><p>40</p></td>
- <td><p>64000</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-3570 3.8</p></td>
- <td><p>NV 331.49</p></td>
- <td><p>GTX560Ti</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>40</p></td>
- <td><p>64000+</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>GL2.1</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x64/VS2008/Win 7</p></td>
- <td><p>38</p></td>
- <td><p>54872</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>GL2.1</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x86/VS2008/Win 7</p></td>
- <td><p>38</p></td>
- <td><p>54872</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-6700K 4.0</p></td>
- <td><p>GL2.1</p></td>
- <td><p>Skylake GT2</p></td>
- <td><p>x64/GCC/Win 10</p></td>
- <td><p>38</p></td>
- <td><p>54872</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-4790K 4.0</p></td>
- <td><p>DX11</p></td>
- <td><p>R7 240</p></td>
- <td><p>x64/VS2015/Win 10</p></td>
- <td><p>36</p></td>
- <td><p>46656</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>NV 331.113</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>34</p></td>
- <td><p>39304</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-6700K 4.0</p></td>
- <td><p>DX11</p></td>
- <td><p>Skylake GT2</p></td>
- <td><p>x64/GCC/Win 10</p></td>
- <td><p>34</p></td>
- <td><p>39304</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-4790K 4.0</p></td>
- <td><p>DX9</p></td>
- <td><p>R7 240</p></td>
- <td><p>x64/VS2015/Win 10</p></td>
- <td><p>32</p></td>
- <td><p>32768</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>DX9</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x64/GCC/Win 7</p></td>
- <td><p>32</p></td>
- <td><p>32768</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>DX9</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x64/VS2008/Win 7</p></td>
- <td><p>32</p></td>
- <td><p>32768</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>DX9</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x86/GCC/Win 7</p></td>
- <td><p>30</p></td>
- <td><p>27000</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>DX9</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x86/VS2008/Win 7</p></td>
- <td><p>30</p></td>
- <td><p>27000</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-6200U 2.3</p></td>
- <td><p>DX11</p></td>
- <td><p>Intel 520</p></td>
- <td><p>x64/GCC/Win 10</p></td>
- <td><p>30</p></td>
- <td><p>27000</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>GL2.1</p></td>
- <td><p>HD5000</p></td>
- <td><p>x64/Clang/OSX 10.9</p></td>
- <td><p>28</p></td>
- <td><p>21852</p></td>
- </tr>
- <tr class="row-odd"><td><p>Q8200 2.33</p></td>
- <td><p>NV 319.32</p></td>
- <td><p>GTX260</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>27</p></td>
- <td><p>19683</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-6700K 4.0</p></td>
- <td><p>GL2.1</p></td>
- <td><p>Skylake GT2</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>27</p></td>
- <td><p>19683</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-2600K 3.4</p></td>
- <td><p>DX9</p></td>
- <td><p>AMD6800</p></td>
- <td><p>x64/VS2012/Win 7</p></td>
- <td><p>27</p></td>
- <td><p>19683</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-2600K 3.4</p></td>
- <td><p>GL2.1</p></td>
- <td><p>AMD6800</p></td>
- <td><p>x64/VS2012/Win 7</p></td>
- <td><p>26</p></td>
- <td><p>17576</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-4770R 3.2</p></td>
- <td><p>Mesa 10.5.9</p></td>
- <td><p>HD5200</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>26</p></td>
- <td><p>17576</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-6200U 2.3</p></td>
- <td><p>GL</p></td>
- <td><p>Intel 520</p></td>
- <td><p>x64/GCC/Win 10</p></td>
- <td><p>26</p></td>
- <td><p>17576</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>DX9-Wine</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>24</p></td>
- <td><p>13824</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-6200U 2.3</p></td>
- <td><p>Mesa 10.5.9</p></td>
- <td><p>Intel 520</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>23</p></td>
- <td><p>12167</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-4750HQ 2.0</p></td>
- <td><p>Mesa 10.0.1</p></td>
- <td><p>HD5200</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>22</p></td>
- <td><p>10648</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-4750HQ 2.0</p></td>
- <td><p>Mesa 10.1.3</p></td>
- <td><p>HD5200</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>21</p></td>
- <td><p>9261</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>ES2-ANGLE</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x86/VS2008/Win 7</p></td>
- <td><p>21</p></td>
- <td><p>9261</p></td>
- </tr>
- <tr class="row-even"><td><p>Q8200 2.33</p></td>
- <td><p>Gallium 0.4</p></td>
- <td><p>AMD5770</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>21</p></td>
- <td><p>9261</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-4250U 1.3</p></td>
- <td><p>ES2</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/PNaCl 31</p></td>
- <td><p>21</p></td>
- <td><p>9261</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>ES2</p></td>
- <td><p>HD5000</p></td>
- <td><p>x86/GCC/NaCl 31</p></td>
- <td><p>20</p></td>
- <td><p>8000</p></td>
- </tr>
- <tr class="row-odd"><td><p>Q8200 2.33</p></td>
- <td><p>Gallium 0.4</p></td>
- <td><p>GTX260</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>19</p></td>
- <td><p>6859</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-2450M 2.5</p></td>
- <td><p>Mesa 10.2.0</p></td>
- <td><p>HD3000</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>19</p></td>
- <td><p>6859</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>ES2-PowerVR</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x86/VS2008/Win 7</p></td>
- <td><p>18</p></td>
- <td><p>5832</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>FF27-GL</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-asm.js</p></td>
- <td><p>17</p></td>
- <td><p>4913</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-6700K 4.0</p></td>
- <td><p>DX9</p></td>
- <td><p>Skylake GT2</p></td>
- <td><p>x64/GCC/Win 10</p></td>
- <td><p>16</p></td>
- <td><p>4096</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-4750HQ 2.0</p></td>
- <td><p>Mesa 8.0.5</p></td>
- <td><p>LLVMPIPE</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>16</p></td>
- <td><p>4096</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-6200U 2.3</p></td>
- <td><p>DX9</p></td>
- <td><p>Intel 520</p></td>
- <td><p>x64/GCC/Win 10</p></td>
- <td><p>16</p></td>
- <td><p>4096</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>ES2-Qualcomm</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x86/VS2008/Win 7</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>ES2</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x64/GCC/NaCl 31</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>ES2</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/PNaCl 31</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-odd"><td><p>Q8200 2.33</p></td>
- <td><p>NV 319.32</p></td>
- <td><p>GTX260</p></td>
- <td><p>x64/GCC/NaCl 31</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-even"><td><p>Q8200 2.33</p></td>
- <td><p>NV 319.32</p></td>
- <td><p>GTX260</p></td>
- <td><p>x64/GCC/PNaCl 31</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-odd"><td><p>‘12 Nexus 7</p></td>
- <td><p>ES2</p></td>
- <td><p>Tegra3</p></td>
- <td><p>ARM/GCC/Android</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>ES2-FF27</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-asm.js</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-4250U 1.3</p></td>
- <td><p>Chrome33</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-asm.js</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-even"><td><p>iPad mini 2</p></td>
- <td><p>ES2</p></td>
- <td><p>PVR G6430</p></td>
- <td><p>ARM64/Clang/iOS7</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>Chrome33</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-asm.js</p></td>
- <td><p>14</p></td>
- <td><p>2744</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>FF27-ANGLE</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-asm.js</p></td>
- <td><p>14</p></td>
- <td><p>2744</p></td>
- </tr>
- <tr class="row-odd"><td><p>‘13 Nexus 10</p></td>
- <td><p>ES2</p></td>
- <td><p>Mali T604</p></td>
- <td><p>ARM/GCC/Android</p></td>
- <td><p>13</p></td>
- <td><p>2197</p></td>
- </tr>
- <tr class="row-even"><td><p>iPhone 5</p></td>
- <td><p>ES2</p></td>
- <td><p>PVR SGX543</p></td>
- <td><p>ARM/Clang/iOS7</p></td>
- <td><p>13</p></td>
- <td><p>2197</p></td>
- </tr>
- <tr class="row-odd"><td><p>‘13 Nexus 7</p></td>
- <td><p>ES2</p></td>
- <td><p>S4 Pro</p></td>
- <td><p>ARM/GCC/Android</p></td>
- <td><p>12</p></td>
- <td><p>1728</p></td>
- </tr>
- <tr class="row-even"><td><p>iPad 2</p></td>
- <td><p>ES2</p></td>
- <td><p>PVR SGX543</p></td>
- <td><p>ARM/Clang/iOS6</p></td>
- <td><p>12</p></td>
- <td><p>1728</p></td>
- </tr>
- <tr class="row-odd"><td><p>AMD A4-5000</p></td>
- <td><p>Gallium 0.4</p></td>
- <td><p>HD8330/Kabini</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>12</p></td>
- <td><p>1728</p></td>
- </tr>
- <tr class="row-even"><td><p>Xperia Z</p></td>
- <td><p>ES2</p></td>
- <td><p>Adreno320</p></td>
- <td><p>ARM/GCC/Android</p></td>
- <td><p>11</p></td>
- <td><p>1331</p></td>
- </tr>
- <tr class="row-odd"><td><p>iPod 4</p></td>
- <td><p>ES2</p></td>
- <td><p>PVR SGX535</p></td>
- <td><p>ARM/Clang/iOS6</p></td>
- <td><p>7</p></td>
- <td><p>343</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>ES2-Mali</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x86/VS2008/Windows7</p></td>
- <td><p>6</p></td>
- <td><p>216</p></td>
- </tr>
- <tr class="row-odd"><td><p>Creator CI20</p></td>
- <td><p>ES2</p></td>
- <td><p>PVR SGX540</p></td>
- <td><p>MIPS/GCC/Debian8</p></td>
- <td><p>7</p></td>
- <td><p>343</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-6200U 2.3</p></td>
- <td><p>ES2</p></td>
- <td><p>SwiftShader</p></td>
- <td><p>x64/GCC/Linux</p></td>
- <td><p>6</p></td>
- <td><p>216</p></td>
- </tr>
- <tr class="row-odd"><td><p>RaspberryPi</p></td>
- <td><p>ES2</p></td>
- <td><p>VC IV</p></td>
- <td><p>ARM/GCC/Raspbian</p></td>
- <td><p>6</p></td>
- <td><p>216</p></td>
- </tr>
- </tbody>
- </table>
- <p>To test browsers in 60Hz mode following changes were made:</p>
- <ul class="simple">
- <li><p>Firefox 27 <a class="reference external" href="about:config">about:config</a> adjustments: <code class="docutils literal notranslate"><span class="pre">webgl.prefer-native-gl</span> <span class="pre">true</span></code>
- (on Windows), and <code class="docutils literal notranslate"><span class="pre">layout.frame_rate</span> <span class="pre">500</span></code>.</p></li>
- <li><p>Chrome 33 command line option: <code class="docutils literal notranslate"><span class="pre">--disable-gpu-vsync</span></code>.</p></li>
- </ul>
- </div>
- <div class="section" id="hz-test-for-browsers">
- <h3>30Hz (test for browsers)<a class="headerlink" href="#hz-test-for-browsers" title="Permalink to this headline">¶</a></h3>
- <p>By default browsers are using vsync, and don’t have option to turn it
- off programatically.</p>
- <table class="docutils align-default">
- <colgroup>
- <col style="width: 19%" />
- <col style="width: 14%" />
- <col style="width: 14%" />
- <col style="width: 31%" />
- <col style="width: 8%" />
- <col style="width: 12%" />
- </colgroup>
- <thead>
- <tr class="row-odd"><th class="head"><p>CPU</p></th>
- <th class="head"><p>Renderer</p></th>
- <th class="head"><p>GPU</p></th>
- <th class="head"><p>Arch/Compiler/OS</p></th>
- <th class="head"><p>Dim</p></th>
- <th class="head"><p>Calls</p></th>
- </tr>
- </thead>
- <tbody>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>GL2.1</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>x64/VS2008/Win7</p></td>
- <td><p>38</p></td>
- <td><p>64000+</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-4250U 1.3</p></td>
- <td><p>GL2.1</p></td>
- <td><p>HD5000</p></td>
- <td><p>x64/Clang/OSX 10.9</p></td>
- <td><p>36</p></td>
- <td><p>46656</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>Chrome34</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-PNaCl 31</p></td>
- <td><p>28</p></td>
- <td><p>21952</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-4250U 1.3</p></td>
- <td><p>Chrome33</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-PNaCl 31</p></td>
- <td><p>27</p></td>
- <td><p>19683</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>FF28</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-asm.js</p></td>
- <td><p>25</p></td>
- <td><p>15625</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-4250U 1.3</p></td>
- <td><p>FF36</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-asm.js</p></td>
- <td><p>25</p></td>
- <td><p>15625</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>Chrome41</p></td>
- <td><p>HD5000</p></td>
- <td><p>x64/GCC/OSX-NaCl 41</p></td>
- <td><p>24</p></td>
- <td><p>13824</p></td>
- </tr>
- <tr class="row-odd"><td><p>i5-4250U 1.3</p></td>
- <td><p>FF37</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-asm.js</p></td>
- <td><p>23</p></td>
- <td><p>12167</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>FF27</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-asm.js</p></td>
- <td><p>20</p></td>
- <td><p>8000</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>Chrome33</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-PNaCl 31</p></td>
- <td><p>20</p></td>
- <td><p>8000</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>Chrome34</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-asm.js</p></td>
- <td><p>18</p></td>
- <td><p>5832</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>Chrome33</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-asm.js</p></td>
- <td><p>18</p></td>
- <td><p>5832</p></td>
- </tr>
- <tr class="row-even"><td><p>i7-920 2.66</p></td>
- <td><p>FF28</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-asm.js</p></td>
- <td><p>18</p></td>
- <td><p>5832</p></td>
- </tr>
- <tr class="row-odd"><td><p>i7-920 2.66</p></td>
- <td><p>FF27</p></td>
- <td><p>GTX650Ti</p></td>
- <td><p>JIT/Clang/W7-asm.js</p></td>
- <td><p>18</p></td>
- <td><p>5832</p></td>
- </tr>
- <tr class="row-even"><td><p>i5-4250U 1.3</p></td>
- <td><p>Safari7</p></td>
- <td><p>HD5000</p></td>
- <td><p>JIT/Clang/OSX-asm.js</p></td>
- <td><p>15</p></td>
- <td><p>3375</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="section" id="ibl">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/18-ibl">18-ibl</a><a class="headerlink" href="#ibl" title="Permalink to this headline">¶</a></h2>
- <p>Image-based lighting.</p>
- <div class="figure align-default">
- <img alt="example-18-ibl" src="https://github.com/bkaradzic/bgfx/raw/master/examples/18-ibl/screenshot.png" />
- </div>
- </div>
- <div class="section" id="oit">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/19-oit">19-oit</a><a class="headerlink" href="#oit" title="Permalink to this headline">¶</a></h2>
- <p>Weighted, Blended Order-Independent Transparency</p>
- <div class="figure align-default">
- <img alt="example-19-oit" src="https://github.com/bkaradzic/bgfx/raw/master/examples/19-oit/screenshot.png" />
- </div>
- </div>
- <div class="section" id="nanovg">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/20-nanovg">20-nanovg</a><a class="headerlink" href="#nanovg" title="Permalink to this headline">¶</a></h2>
- <p>NanoVG is small antialiased vector graphics rendering library.</p>
- <div class="figure align-default">
- <img alt="example-20-nanovg" src="https://github.com/bkaradzic/bgfx/raw/master/examples/20-nanovg/screenshot.png" />
- </div>
- </div>
- <div class="section" id="deferred">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/21-deferred">21-deferred</a><a class="headerlink" href="#deferred" title="Permalink to this headline">¶</a></h2>
- <p>MRT rendering and deferred shading.</p>
- <div class="figure align-default">
- <img alt="example-21-deferred" src="https://github.com/bkaradzic/bgfx/raw/master/examples/21-deferred/screenshot.png" />
- </div>
- </div>
- <div class="section" id="windows">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/22-windows">22-windows</a><a class="headerlink" href="#windows" title="Permalink to this headline">¶</a></h2>
- <p>Rendering into multiple windows.</p>
- </div>
- <div class="section" id="vectordisplay">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/23-vectordisplay">23-vectordisplay</a><a class="headerlink" href="#vectordisplay" title="Permalink to this headline">¶</a></h2>
- <p>Rendering lines as oldschool vectors.</p>
- <div class="figure align-default">
- <img alt="example-23-vectordisplay" src="https://github.com/bkaradzic/bgfx/raw/master/examples/23-vectordisplay/screenshot.png" />
- </div>
- </div>
- <div class="section" id="nbody">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/24-nbody">24-nbody</a><a class="headerlink" href="#nbody" title="Permalink to this headline">¶</a></h2>
- <p>N-body simulation with compute shaders using buffers.</p>
- <div class="figure align-default">
- <img alt="example-24-nbody" src="https://github.com/bkaradzic/bgfx/raw/master/examples/24-nbody/screenshot.png" />
- </div>
- </div>
- <div class="section" id="c99">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/25-c99">25-c99</a><a class="headerlink" href="#c99" title="Permalink to this headline">¶</a></h2>
- <p>Initialization and debug text with C99 API.</p>
- </div>
- <div class="section" id="occlusion">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/26-occlusion">26-occlusion</a><a class="headerlink" href="#occlusion" title="Permalink to this headline">¶</a></h2>
- <p>Using occlusion query for conditional rendering.</p>
- <div class="figure align-default">
- <img alt="example-26-occlusion" src="https://github.com/bkaradzic/bgfx/raw/master/examples/26-occlusion/screenshot.png" />
- </div>
- </div>
- <div class="section" id="terrain">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/27-terrain">27-terrain</a><a class="headerlink" href="#terrain" title="Permalink to this headline">¶</a></h2>
- <p>Terrain painting example.</p>
- <div class="figure align-default">
- <img alt="example-27-terrain" src="https://github.com/bkaradzic/bgfx/raw/master/examples/27-terrain/screenshot.png" />
- </div>
- </div>
- <div class="section" id="wireframe">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/28-wireframe">28-wireframe</a><a class="headerlink" href="#wireframe" title="Permalink to this headline">¶</a></h2>
- <p>Drawing wireframe mesh.</p>
- <div class="figure align-default">
- <img alt="example-28-wireframe" src="https://github.com/bkaradzic/bgfx/raw/master/examples/28-wireframe/screenshot.png" />
- </div>
- </div>
- <div class="section" id="debugdraw">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/29-debugdraw">29-debugdraw</a><a class="headerlink" href="#debugdraw" title="Permalink to this headline">¶</a></h2>
- <p>Debug draw.</p>
- <div class="figure align-default">
- <img alt="example-29-debugdraw" src="https://github.com/bkaradzic/bgfx/raw/master/examples/29-debugdraw/screenshot.png" />
- </div>
- </div>
- <div class="section" id="picking">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/30-picking">30-picking</a><a class="headerlink" href="#picking" title="Permalink to this headline">¶</a></h2>
- <p>Mouse picking via GPU readback.</p>
- <div class="figure align-default">
- <img alt="example-30-picking" src="https://github.com/bkaradzic/bgfx/raw/master/examples/30-picking/screenshot.png" />
- </div>
- </div>
- <div class="section" id="rsm">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/31-rsm">31-rsm</a><a class="headerlink" href="#rsm" title="Permalink to this headline">¶</a></h2>
- <p>Global Illumination with Reflective Shadow Map.</p>
- <div class="figure align-default">
- <img alt="example-31-rsm" src="https://github.com/bkaradzic/bgfx/raw/master/examples/31-rsm/screenshot.png" />
- </div>
- </div>
- <div class="section" id="particles">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/32-particles">32-particles</a><a class="headerlink" href="#particles" title="Permalink to this headline">¶</a></h2>
- <p>Particles.</p>
- <div class="figure align-default">
- <img alt="example-32-particles" src="https://github.com/bkaradzic/bgfx/raw/master/examples/32-particles/screenshot.png" />
- </div>
- </div>
- <div class="section" id="pom">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/33-pom">33-pom</a><a class="headerlink" href="#pom" title="Permalink to this headline">¶</a></h2>
- <p>Parallax occlusion mapping.</p>
- <dl class="simple">
- <dt>Reference(s):</dt><dd><ul class="simple">
- <li><p><a class="reference external" href="http://apoorvaj.io/exploring-bump-mapping-with-webgl.html">Exploring bump mapping with WebGL</a></p></li>
- </ul>
- </dd>
- </dl>
- <div class="figure align-default">
- <img alt="example-33-pom" src="https://github.com/bkaradzic/bgfx/raw/master/examples/33-pom/screenshot.png" />
- </div>
- </div>
- <div class="section" id="mvs">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/34-mvs">34-mvs</a><a class="headerlink" href="#mvs" title="Permalink to this headline">¶</a></h2>
- <p>Multiple vertex streams.</p>
- <div class="figure align-default">
- <img alt="example-34-mvs" src="https://github.com/bkaradzic/bgfx/raw/master/examples/34-mvs/screenshot.png" />
- </div>
- </div>
- <div class="section" id="dynamic">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/35-dynamic">35-dynamic</a><a class="headerlink" href="#dynamic" title="Permalink to this headline">¶</a></h2>
- <p>Dynamic buffers update.</p>
- <div class="figure align-default">
- <img alt="example-35-dynamic" src="https://github.com/bkaradzic/bgfx/raw/master/examples/35-dynamic/screenshot.png" />
- </div>
- </div>
- <div class="section" id="sky">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/36-sky">36-sky</a><a class="headerlink" href="#sky" title="Permalink to this headline">¶</a></h2>
- <p>Perez dynamic sky model.</p>
- <div class="figure align-default">
- <img alt="example-36-sky" src="https://github.com/bkaradzic/bgfx/raw/master/examples/36-sky/screenshot.png" />
- </div>
- </div>
- <div class="section" id="gpudrivenrendering">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/37-gpudrivenrendering">37-gpudrivenrendering</a><a class="headerlink" href="#gpudrivenrendering" title="Permalink to this headline">¶</a></h2>
- <p>GPU-Driven Rendering.</p>
- <dl class="simple">
- <dt>Reference(s):</dt><dd><ul class="simple">
- <li><p><a class="reference external" href="https://interplayoflight.wordpress.com/2017/11/15/experiments-in-gpu-based-occlusion-culling/">Experiments in GPU-based occlusion culling</a>,</p></li>
- <li><p><a class="reference external" href="https://interplayoflight.wordpress.com/2018/01/15/experiments-in-gpu-based-occlusion-culling-part-2-multidrawindirect-and-mesh-lodding/">Experiments in GPU-based occlusion culling part 2: MultiDrawIndirect and mesh lodding</a>,</p></li>
- <li><p><a class="reference external" href="https://interplayoflight.wordpress.com/2018/03/05/porting-gpu-driven-occlusion-culling-to-bgfx/">Porting GPU driven occlusion culling to bgfx</a>.</p></li>
- </ul>
- </dd>
- </dl>
- <div class="figure align-default">
- <img alt="example-37-gpudrivenrendering" src="https://github.com/bkaradzic/bgfx/raw/master/examples/37-gpudrivenrendering/screenshot.png" />
- </div>
- </div>
- <div class="section" id="bloom">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/38-bloom">38-bloom</a><a class="headerlink" href="#bloom" title="Permalink to this headline">¶</a></h2>
- <p>Bloom.</p>
- <dl class="simple">
- <dt>Reference(s):</dt><dd><ul class="simple">
- <li><p><a class="reference external" href="http://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare">Next Generation Post Processing in Call of Duty: Advanced Warfare</a>.</p></li>
- </ul>
- </dd>
- </dl>
- <div class="figure align-default">
- <img alt="example-38-bloom" src="https://github.com/bkaradzic/bgfx/raw/master/examples/38-bloom/screenshot.png" />
- </div>
- </div>
- <div class="section" id="assao">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/39-assao">39-assao</a><a class="headerlink" href="#assao" title="Permalink to this headline">¶</a></h2>
- <p>Adaptive Screen Space Ambient Occlusion.</p>
- <dl class="simple">
- <dt>Reference(s):</dt><dd><ul class="simple">
- <li><p><a class="reference external" href="https://software.intel.com/en-us/articles/adaptive-screen-space-ambient-occlusion">Adaptive Screen Space Ambient Occlusion</a>.</p></li>
- </ul>
- </dd>
- </dl>
- <div class="figure align-default">
- <img alt="example-39-assao" src="https://github.com/bkaradzic/bgfx/raw/master/examples/39-assao/screenshot.png" />
- </div>
- </div>
- <div class="section" id="svt">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/40-svt">40-svt</a><a class="headerlink" href="#svt" title="Permalink to this headline">¶</a></h2>
- <p>Sparse Virtual Textures.</p>
- <div class="figure align-default">
- <img alt="example-40-svt" src="https://github.com/bkaradzic/bgfx/raw/master/examples/40-svt/screenshot.png" />
- </div>
- </div>
- <div class="section" id="tess">
- <h2><a class="reference external" href="https://github.com/bkaradzic/bgfx/tree/master/examples/41-tess">41-tess</a><a class="headerlink" href="#tess" title="Permalink to this headline">¶</a></h2>
- <p>Adaptive GPU Tessellation with Compute Shaders</p>
- <dl class="simple">
- <dt>Reference(s):</dt><dd><ul class="simple">
- <li><p><a class="reference external" href="http://onrendering.com/data/papers/isubd/isubd.pdf">Adaptive GPU Tessellation with Compute Shaders by Jad Khoury, Jonathan Dupuy, and Christophe Riccio</a>.</p></li>
- </ul>
- </dd>
- </dl>
- <div class="figure align-default">
- <img alt="example-41-tess" src="https://github.com/bkaradzic/bgfx/raw/master/examples/41-tess/screenshot.png" />
- </div>
- </div>
- </div>
- </div>
-
- </div>
- <footer>
-
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="bgfx.html" class="btn btn-neutral float-right" title="API Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="build.html" class="btn btn-neutral float-left" title="Building" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
- <hr/>
- <div role="contentinfo">
- <p>
- © Copyright 2010-2019, Branimir Karadžić
- </p>
- </div>
- </footer>
- </div>
- </div>
- </section>
- </div>
-
- <script type="text/javascript">
- jQuery(function () {
- SphinxRtdTheme.Navigation.enable(true);
- });
- </script>
-
-
-
-
- </body>
- </html>
|