Context(s) | displace fog light shadow surface |
void getuvtangents(string objName, vector P, vector dir, vector &Tu, vector &Tv)
以下のバリエーションの関数は、さらに評価ポイントのサーフェス法線にTnを設定します:
void getuvtangents(string objName, vector P, vector dir, vector &Tu, vector &Tv, vector &Tn)
Note
オブジェクトに“uv”という名前のvectorアトリビュートがなければなりません。
Tip
objName
パラメータに“”を渡すと、この関数は現在シェーディングされているオブジェクトを使用します。
objName
UV接線を評価するオブジェクトの名前。
P
UV接線を評価するポイント。
dir
オブジェクトのサーフェスの検索に使用する方向。
P
からこの方向と反対方向に光線を投影することで、オブジェクトのサーフェスを検索します。
利用可能な場合、この評価ポイントの法線を使用するのは理に適っています。
Tu
U方向のUV接線。
Tv
V方向のUV接線。
Tn
接線を評価するポイントのサーフェス法線。
// 'N'の方向でサーフェスを検索して、'P'のUV接線を取得します。 vector Tu, Tv; getuvtangents("/obj/geo1", P, N, Tu, Tv);
// 任意の光線を使って、サーフェス位置を検索します。 // この場合、サーフェス法線が事前に分からないので、'Tn'によってサーフェス法線を取得することができます。 vector Tu, Tv, Tn; getuvtangents("/obj/geo1", ray_orig, ray_dir, Tu, Tv, Tn);
See also | |
shading raytracing |
|