text: ﻿// Définition de la classe Scene
  
  // superclasses et classes nécessaires
  Requires("Triangle");
  
  
  class Scene
  {
      /** constructeur */
      constructor()
      {
          // créer les objets à dessiner
          this.m_Triangle = new Triangle();
  
          // couleur du fond : gris foncé
          gl.clearColor(0.4, 0.4, 0.4, 0.0);
  
          // activer le depth buffer
          gl.enable(gl.DEPTH_TEST);
  
          // activer la suppression des faces cachées
          gl.enable(gl.CULL_FACE);
          gl.cullFace(gl.BACK);
      }
  
  
      /**
       * appelée quand la taille de la vue OpenGL change
       * @param width : largeur en nombre de pixels de la fenêtre
       * @param height : hauteur en nombre de pixels de la fenêtre
       */
      onSurfaceChanged(width, height)
      {
          // met en place le viewport
          gl.viewport(0, 0, width, height);
      }
  
  
      /**
       * Dessine l'image courante, Utils.Time indique le temps écoulé
       */
      onDrawFrame()
      {
          // effacer l'écran
          gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT );
  
          // dessiner le triangle
          this.m_Triangle.onDraw();
      }
  
  
      /** supprime tous les objets de cette scène */
      destroy()
      {
          this.m_Triangle.destroy();
      }
  }
  