差分

ナビゲーションに移動 検索に移動

ハーフベクトル

39 バイト追加, 2020年4月28日 (火) 03:50
2個の[[ベクトル]]を足し算するとその中間のベクトルが得られるので、 ハーフベクトルを求めるには物体表面([[頂点]]または[[ピクセル]])の位置を基準とした「視点」と「光源」のベクトルを足し合わせればよい。 また、光の強さは0.0~1.0の範囲で表すのが一般的なので、その範囲になるよう[[正規化]](normalize)しておく。
[[頂点シェーダー]]での実装例。での実装例(超抜粋)。
<source lang="HLSL">
float4x4 World;
float3 LightDirection;
struct VSIn {
// ハーフベクトルを求める
vsout.HalfVector = normalize(LightPositionLightDirection.xyz + cameraVector.xyz);
return vsout;

案内メニュー