WebGLRenderer

De OSWiki
Aller à la navigation Aller à la recherche

Le moteur de rendu WebGL affiche les scènes en utilisant WebGL.

Constructeur

WebGLRenderer( paramètres )

paramètres - (optionel) objet avec des propriétés définissant le comportement du moteur de rendu. Le constructeur accepte aussi aucun paramètre. Dans tous les cas, il va utiliser des valeurs par défaut passe-partout si les paramètres ne sont pas fournis. Les paramètres valides sont :

  • canvas - un canevas ou le moteur de rendu va dessiner ses résultats. Il correspond à la propriété domElement présentée ci-dessous. S'il n'est pas transmis ici, un nouveau élement canvas sera créé.
  • context - Ce paramètre peut être utilisé pour attacher le moteur de rendu à un RenderingContext existant. La valeur par défaut est null.
  • precision - Précision du Shader. Peut prendre les valeurs "highp", "mediump" ou "lowp". Par défaut le paramètre est "highp" si cela est supporté par le système. Voir la note sur "Things to Avoid" ici.
  • alpha - si le canvas contient un buffer alpha (transparence) ou non. Par défaut c'est false.
  • premultipliedAlpha - si le moteur de rendu doit prendre en compte le fait que les couleurs sont prémultipliées par la valeur alpha. Par défaut : true.
  • antialias - s'il faut utiliser l'antia-liasing. Valeur par défaut : false.
  • stencil - Si le buffer de dessin a un buffer de stencil d'au moins 8 bits. La valeur par défaut est true.
  • preserveDrawingBuffer - s'il faut conserver le buffer jusqu'à ce qu'il soit vidé manuellement ou écrasé. par défaut la valeur est false.
  • powerPreference - Fournit un indice à l'utilisateur indiquant quelle configuration de GPU est appropriée pour ce contexte WebGL. Cela peut-être "high-performance", "low-power" ou "default". La valeur par défaut est "default".
  • depth - si le buffer de dessin a un buffer de profondeur d'au moins 16bits. Par défaut la valeur est true.
  • logarithmicDepthBuffer - s'il faut utiliser un buffer de profondeur algorithmique. Cela peut être nécessaire si on utilise des différences d'échelles énormes dans la même scène. Par défaut la valeur est false. Voir l'exemple camera / logarithmicdepthbuffer.

Propriétés

.autoClear

Définit si le renderer doit vider automatiquement ses résultats avant de faire le rendu d'afficher une frame.

.autoClearColor

Si autoClear est true, définit si le renderer doit vider le buffer de couleur. Par défaut cette valeur est true.

.autoClearDepth

Si autoClear est true, définit si le renderer doit vider le buffer de profondeur. Par défaut cette valeur est true.

.autoClearStencil

Si autoClear est true, définit si le renderer doit vider le buffer de stencil. Par défaut cette valeur est true.

.domElement Un canvas où le moteur de rendu dessine son résultat.

Il est créé automatiquement par le moteur de rendu dans le constructeur (s'il n'existe pas ); il faut seulement l'ajouter à la page comme ceci :

document.body.appendChild( renderer.domElement );

Méthodes

.render( scene, camera, renderTarget, forceClear )

La méthode .render() fait le rendu d'une Scène avec une caméra. Le rendu est fait dans renderTarget (une cible, si spécifiée) ou dans le canvas comme d'habitude. Si forceClear est true, les buffers de profondeurs, de stencil et de couleur seront vidés avant le rendu, même si la propriété autoClear du moteur de rendu est false. Même avec forceClear définie à true, on peut empêcher que certains buffers soient vidés en définissant aussi les propriétés autoClearColor, autoClearStencil ou autoClearDepth à false.

.setPixelRatio (value)

Définit le rotio de pixels. C'est utilisé habituellement pour le système HiDPI pour éviter que l'affichage du canvas soit floue/brouillée.

.setSize ( width, height, updateStyle )

Redimensionne l'affichage du canvas à (width, height) avec la prise en compte du ratio de pixels, et définit également la fenêtre d'affichage pour adapter cette taille pour qu'elle commence en (0, 0). Définir updateStyle à true ajoute des unités de pixel explicitement au style de l'affichage du canvas.