Trois.js: Quelle est la différence exacte entre Lambert et Phong?

je comprends la différence entre Lambert et Phong en général l'infographie. Je comprends aussi comment nous pouvons changer et créer nos propres matériaux en utilisant trois.js. Mais je ne peux pas faire la différence entre MeshLambertMaterial et MeshPhongMaterial dans leurs états par défaut.

j'ai essayé de les allumer sur une scène avec une source lumineuse directionnelle et 125 sphères, Je ne vois aucune différence. Trois.js est utilisé dans un chapitre de mon livre et je dois donc assurez-vous que toutes les informations sont exactes et précises.

Merci, Shane

20
demandé sur WestLangley 2013-04-04 07:22:33

4 réponses

je suppose que vous voulez la différence exacte entre MeshLambertMaterial et MeshPhongMaterial tel que mis en oeuvre dans trois.js.

il faut faire la différence entre le modèle d'ombrage et le modèle d'éclairage. Trois.js ne met pas en œuvre les modèles 'pur' Phong ou Lambert.

MeshLambertMaterial, l'éclairage calcul est effectué à chaque sommet, et la couleur résultante est interpolée sur la face du polygone. Modèle D'éclairement de Lambert )

MeshPhongMaterial, les normales du sommet sont interpolées à travers la surface du polygone, et le calcul de l'éclairement est effectué à chaque texel. ( L'éclairage de Phong; (généralisée) de l'éclairage de Phong modèle d'éclairage )

vous verrez une différence évidente lorsque vous avez un feu à pointes qui est proche d'un visage -- surtout si la distance d'atténuation de la lumière est inférieure à la distance des sommets du visage.

Pour les deux matériaux, dans le cas de