Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Détecter WebGL

Dans cet exemple, on voit comment détecter un contexte de rendu WebGL et afficher le résultat à l'utilisateur.

Détecter le support WebGL

Dans ce premier exemple, on vérifie si le navigateur prend en charge WebGL. Pour cela, on essaye d'obtenir le contexte de rendu WebGL à partir d'un élément canvas. Le contexte de rendu WebGL est une interface qui permet de connaître et de modifier l'état du moteur graphique WebGL, d'envoyer des données à WebGL et d'exécuter des commandes de dessin.

La gestion d'une machine graphique au sein d'une seule interface n'est pas propre à WebGL. Les autres {̣{Glossary("API")}} graphiques comme le contexte de rendu 2D du canevas. Cependant, les propriétés et variables qui peuvent être manipulées changent d'une API à l'autre.

<p>[ On affichera ici le résultat de la détection du support WebGL ]</p>
<button>Cliquez ici pour détecter WebGLRenderingContext</button>
body {
  text-align : center;
}
button {
  display : block;
  font-size : inherit;
  margin : auto;
  padding : 0.6em;
}
// On exécute tout dans le gestionnaire d'événement
// correspondant au chargement de la fenêtre. De cette
// façon, le DOM est complètement chargé et mis en forme
// avant de le manipuler.
window.addEventListener("load", function() {
  var paragraph = document.querySelector("p"),
    button = document.querySelector("button");

  // On ajoute un gestionnaire d'événement pour 
  // le clic sur le bouton
  button.addEventListener("click", detectWebGLContext, false);
  function detectWebGLContext () {

    // On crée un élément canvas. Le canvas n'est pas
    // ajouté au document et il n'est donc jamais
    // affiché dans la fenêtre du navigateur
    var canvas = document.createElement("canvas");

    // On récupère le contexte WebGLRenderingContext 
    // depuis l'élément canvas.
    var gl = canvas.getContext("webgl")
      || canvas.getContext("experimental-webgl");

    // On affiche le résultat.
    if (gl && gl instanceof WebGLRenderingContext) {
      paragraph.innerHTML =
        "Félicitations, votre navigateur supporte WebGL.";
    } else {
      paragraph.innerHTML = "Échec du contexte WebGL. "
        + "Votre navigateur peut ne pas supporter WebGL.";
    }
  }
}, false);

Le code source de cet exemple est également disponible sur GitHub.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,