ジオメトリの各頂点の法線ベクトルを計算します。
すべての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です。
シェーディングオプション。