ジオメトリの各頂点の法線ベクトルを計算します。
すべての3D形状は、頂点と呼ばれる点の集合を接続して作られています。 ジオメトリの表面は、頂点を接続して三角形を作り、それらを縫い合わせることで 形成されます。ジオメトリの表面上の三角形のパッチは面と呼ばれます。 myGeometry.computeNormals()
は、各面の向きを決めるために必要な 計算を行います。向きは、照明やその他の効果のために重要です。
面の向きは、その法線ベクトルによって定義されます。法線ベクトルは 面から外向きに伸び、表面に対して垂直(法線)です。 myGeometry.computeNormals()
を呼び出すと、まず各面の法線ベクトルを 計算します。次に、各頂点の周囲の面の法線ベクトルを平均化して、各頂点の 法線ベクトルを計算します。頂点の法線はp5.Vectorオブジェクトとして myGeometry.vertexNormals配列に格納されます。
最初のパラメータshadingType
はオプションです。定数FLAT
を渡すと、 例えばmyGeometry.computeNormals(FLAT)
のように、隣接する面に共有する 頂点のコピーを提供します。表面はフラットシェーディングでタイル状に見えます。 定数SMOOTH
を渡すと、例えばmyGeometry.computeNormals(SMOOTH)
のように、 隣接する面が共有する頂点を再利用します。表面はスムースシェーディングで より滑らかに見えます。デフォルトでは、shadingType
はFLAT
です。
2番目のパラメータoptions
もオプションです。roundToPrecision
プロパティを持つオブジェクトを渡すと、例えば myGeometry.computeNormals(SMOOTH, { roundToPrecision: 5 })
のように、 計算に使用する小数点以下の桁数を設定します。デフォルトでは、 roundToPrecision
は3桁の小数点を使用します。
実例
シンタックス
computeNormals([shadingType], [options])
パラメーター
シェーディングタイプ。FLATまたはSMOOTH。デフォルトはFLAT
です。
シェーディングオプション。