我正在使用 HLSL 和 DirectX 9。我正在尝试重新计算网格的法线,以便 HLSL 由于变换网格而接收更新的法线。什么方法最好做到这一点......而且......D3DXComputeNormals 对我不起作用,因为我不使用 FVF_NORMAL 作为顶点声明......我声明顶点格式如下:
const D3DVERTEXELEMENT9 dec[4] =
{
{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION,0},
{0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0},
{0, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD,0},
D3DDECL_END()
};
我知道如何访问邻接数据和顶点缓冲区,但我不确定使用什么方法来正确关联顶点及其法线与面......任何帮助将不胜感激。谢谢!