有关“顶点法线”的基础概念问题
今天在看Direct3D的书中,看到“顶点法线”的章节,我猜测“顶点法线”可能是指在某一个点的切面穿越该点并与该切面垂直的虚线。但我随之想到的一个问题是,那么立方体的8个顶角点的法线是什么线呢?
作者: zhoujiehg 发布时间: 2011-06-09
可以计算出来的。
leechrockgames 同学给出的代码
C/C++ code
leechrockgames 同学给出的代码
C/C++ code
//叉积建立第三条线 //叉积(vPolygon:3角形的点) D3DXVECTOR3 vPolygon[3]; //起始点 vPolygon[0]=MapOb1[0].LHxx3DMVertex[2].LHxxMP; //第一条线的终点 vPolygon[1]=MapOb1[0].LHxx3DMVertex[0].LHxxMP; //第一条线的终点 vPolygon[2]=MapOb1[0].LHxx3DMVertex[3].LHxxMP; // Get 2 vectors from the polygon (2 sides), Remember the order! D3DXVECTOR3 vVector1 = vPolygon[2] - vPolygon[0];//第一条线向量 D3DXVECTOR3 vVector2 = vPolygon[1] - vPolygon[0];//第二条线向量 //计算出第3条,垂直线的向量(求出叉积) D3DXVECTOR3 vNormal; D3DXVec3Cross(&vNormal,&vVector1,&vVector2); //标准化(0-1) D3DXVec3Normalize(&vNormal,&vNormal); float range=50;//长度 //设置第3条线的起始点 //求得发线长度为50*百分比. //-D3DXVECTOR3(2.5,2.5,2.5):将终点偏移到左下角 ViewLine10[3].LHxxLP=(vNormal*range)+MapOb1[0].LHxxMove-D3DXVECTOR3(2.5,2.5,2.5);
作者: ilysony 发布时间: 2011-06-09
生成点法线(Generating Vertex Normals)
http://blog.csdn.net/wangpingfang/archive/2010/12/18/6084267.aspx
http://blog.csdn.net/wangpingfang/archive/2010/12/18/6084267.aspx
作者: ilysony 发布时间: 2011-06-09
法向量觉得应该是和面有关系,影响材质光照,一般与面垂直,像立方体顶点应该至少分成3个法向量。不知道有些光滑是不是也用到
作者: donjin9 发布时间: 2011-06-10