anisotropic_filtering.html 4.9 KB

1234567891011121314151617181920212223242526272829303132
  1. <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Asciidoctor 1.5.4"><title>anisotropic_filtering</title><link rel="stylesheet" href="./asciidoctor.css">
  2. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
  3. <link rel="stylesheet" href="./coderay-asciidoctor.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"><link rel="stylesheet" href="/home/travis/build/jMonkeyEngine/wiki/build/asciidoc/html5/jme3/advanced/twemoji-awesome.css"></head><body class="article toc2 toc-left"><div id="header"><div id="toolbar"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/src/docs/asciidoc/jme3/advanced/anisotropic_filtering.adoc"><i class="fa fa-pencil-square" aria-hidden="true"></i></a><a href="https://github.com/jMonkeyEngine/wiki/new/master/src/docs/asciidoc/jme3/advanced/"><i class="fa fa-plus-square" aria-hidden="true"></i></a><input dir="auto" style="position: relative; vertical-align: top;" spellcheck="false" autocomplete="off" class="searchbox__input aa-input" id="doc-search" name="search" placeholder="Search in the doc" required="required" type="search"></div><h1>anisotropic_filtering</h1><div class="details"><span class="author" id="author"></span><br><span id="revnumber">version ,</span> <span id="revdate">2016/03/17 20:48</span></div><div id="toc" class="toc2"><div id="toctitle">Table of Contents</div><ul class="sectlevel1"><li><a href="#anisotropic-filtering-for-textures">Anisotropic Filtering for Textures</a></li></ul></div></div><div id="content"><div class="sect1"><h2 id="anisotropic-filtering-for-textures">Anisotropic Filtering for Textures</h2><div class="sectionbody"><div class="paragraph"><p>Anisotropic Filtering is very important for Desktop Games and their textures. Most games use AnisotropicFiltering = 4/8/16. It sharpens your textures under different Angle View.
  4. Anisotropy makes a performance draw back about 10-40 fps, but the result looks much better.</p></div>
  5. <div class="paragraph"><p>See Example: <a href="http://i.imgur.com/0yiv9.jpg">http://i.imgur.com/0yiv9.jpg</a></p></div>
  6. <div style="text-align: right;" class="imageblock"><div class="content"><img src="../../jme3/advanced/anisotropy_example_mifth_01.jpg" alt="anisotropy_example_mifth_01.jpg" width="360" height="900"></div></div>
  7. <div class="paragraph"><p>JME has DEFAULT AnisotropicFiltering = 0. So, if you make a game for Windows/Linux/Mac.. you need to set the Anisotropic Filtering more than 0.</p></div>
  8. <div class="paragraph"><p>Example how to set AnisotropicFiltering = 4 for all textures:</p></div>
  9. <div class="listingblock"><div class="content"><pre class="CodeRay highlight"><code data-lang="java"> AssetEventListener asl = <span class="keyword">new</span> AssetEventListener() {
  10. <span class="directive">public</span> <span class="type">void</span> assetLoaded(AssetKey key) {
  11. <span class="comment">// throw new UnsupportedOperationException(&quot;Not supported yet.&quot;);</span>
  12. }
  13. <span class="directive">public</span> <span class="type">void</span> assetRequested(AssetKey key) {
  14. <span class="keyword">if</span> (key.getExtension().equals(<span class="string"><span class="delimiter">&quot;</span><span class="content">png</span><span class="delimiter">&quot;</span></span>) || key.getExtension().equals(<span class="string"><span class="delimiter">&quot;</span><span class="content">jpg</span><span class="delimiter">&quot;</span></span>) || key.getExtension().equals(<span class="string"><span class="delimiter">&quot;</span><span class="content">dds</span><span class="delimiter">&quot;</span></span>)) {
  15. <span class="predefined-type">System</span>.out.println(key.getExtension());
  16. TextureKey tkey = (TextureKey) key;
  17. tkey.setAnisotropy(<span class="integer">8</span>);
  18. }
  19. }
  20. <span class="directive">public</span> <span class="type">void</span> assetDependencyNotFound(AssetKey parentKey, AssetKey dependentAssetKey) {
  21. <span class="comment">// throw new UnsupportedOperationException(&quot;Not supported yet.&quot;);</span>
  22. }
  23. };
  24. assetManager.addAssetEventListener(asl);</code></pre></div></div></div></div></div><div id="footer"><div id="footer-text">Version <br>Last updated 2019-12-20 23:30:51 +00:00</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script><script>docsearch({
  25. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  26. indexName: 'jmonkeyengine',
  27. inputSelector: '#doc-search',
  28. debug: false // Set debug to true if you want to inspect the dropdown
  29. });</script></body></html>