Пример #1
0
    Comme SFML est construite par dessus OpenGL, ses fenêtres sont déjà prêtes pour vos appels OpenGL, sans effort supplémentaire.
</p>
<pre><code class="cpp">sf::Window window(sf::VideoMode(800, 600), "OpenGL");

// ça marche directement
glEnable(GL_TEXTURE_2D);
...
</code></pre>
<p>
    Si vous pensez que c'est <em>trop</em> automatique, rassurez-vous : le constructeur de <?php 
class_link("Window");
?>
 accepte un paramètre
    supplémentaire qui vous permet de changer les options du contexte OpenGL de la fenêtre. Ce paramètre est une instance de la structure
    <?php 
struct_link("ContextSettings");
?>
, qui définit les champs suivants :
</p>
<ul>
    <li><code>depthBits</code> est le nombre de bits par pixel pour le <em>depth buffer</em> (0 pour ne pas en créer)</li>
    <li><code>stencilBits</code> est le nombre de bits par pixel pour le <em>stencil buffer</em> (0 pour ne pas en créer)</li>
    <li><code>antialiasingLevel</code> est le niveau d'anti-crénelage</li>
    <li><code>majorVersion</code> et <code>minorVersion</code> définissent la version d'OpenGL demandée</li>
</ul>
<pre><code class="cpp">sf::ContextSettings settings;
settings.depthBits = 24;
settings.stencilBits = 8;
settings.antialiasingLevel = 4;
settings.majorVersion = 3;
settings.minorVersion = 0;
Пример #2
0
    }

private :

    sf::Vector2f m_radius;
};
</code></pre>
<img class="screenshot" src="./images/graphics-shape-ellipse.png" alt="Une ellipse"/>

<?php 
h2('Formes anticrénelées');
?>
<p>
    Il n'y a pas d'option pour activer l'anticrénelage pour une forme en particulier. Si vous voulez des formes anticrénelées (ie. avec des bords lissés), vous devez
    activer l'anticrénelage de manière globale lorsque vous créez la fenêtre, avec l'attribut correspondant de la structure <?php 
struct_link('ContextSettings');
?>
.
</p>
<pre><code class="cpp">sf::ContextSettings settings;
settings.antialiasingLevel = 8;

sf::RenderWindow window(sf::VideoMode(800, 600), "SFML shapes", sf::Style::Default, settings);
</code></pre>
<img class="screenshot" src="./images/graphics-shape-antialiasing.png" alt="Crénelé vs anticrénelé"/>
<p>
    Souvenez-vous que l'anticrénelage dépend de la carte graphique : elle peut ne pas le supporter, ou forcer sa désactivation dans les paramètres du pilote graphique.
</p>

<?php 
require "footer-fr.php";