法線ベクトルは、物体の表面に対して垂直な方向を向いています。平面の場合、法線はすべて同じです。より複雑な曲面の場合は、法線も複雑になります。JSLを使うと、各頂点の法線ベクトルを指定できます。これらの法線は空間での曲面の方向を指定するもので、ライトの計算に不可欠です。法線の精度が高ければ、それだけライトも正確になります。
法線ベクトルは、頂点に対して直角な、長さが1のベクトルです。通常、頂点は複数の多角形(ポリゴン)で共有されており、かつ、滑らかなシェーディング効果が望まれるので、頂点での垂線は多角形の標準の(加重)平均で計算されます。2面のシェーディングが可能でない限り、多角形の外側の面だけにライトが当てられるので、多角形の「外方向」の法線を計算することが重要です。多角形をスケーリングすると、法線の長さが1にならず、ライトが間違ったものになります。
法線ベクトルは、曲面が作成されるときに設定され、Normalコマンドで指定できます。シーンが描かれるたびに法線が1に再正規化されるようにするには、Enable(NORMALIZE)コマンドを使います。