basisskinning.nvf

来自「游戏编程精华02-含有几十个游戏编程例子」· NVF 代码 · 共 37 行

NVF
37
字号

#include "constants.h"

vs.1.0

#beginfragment calculate_basis_vectors
// Calculate eye vector and stuff it in texture coordinates
dp4 oT1.w, -FIXED_POSITION, c_worldviewcubemap_0
dp4 oT2.w, -FIXED_POSITION, c_worldviewcubemap_1
dp4 oT3.w, -FIXED_POSITION, c_worldviewcubemap_2

// Scale S&T to get bump scaling
mul r_sbasis0, v_sbasis0, BUMP_SCALE
mul r_tbasis0, v_tbasis0, BUMP_SCALE

// Skin the basis matrices
dp3 oT1.x, r_sbasis0, c_worldviewcubemap_0
dp3 oT1.y, r_tbasis0, c_worldviewcubemap_0
dp3 oT1.z, v_normal, c_worldviewcubemap_0

dp3 oT2.x, r_sbasis0, c_worldviewcubemap_1
dp3 oT2.y, r_tbasis0, c_worldviewcubemap_1
dp3 oT2.z, v_normal, c_worldviewcubemap_1

dp3 oT3.x, r_sbasis0, c_worldviewcubemap_2
dp3 oT3.y, r_tbasis0, c_worldviewcubemap_2
dp3 oT3.z, v_normal, c_worldviewcubemap_2
mov oT0.xy, FIXED_TEXTURE0
#endfragment







⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?