std::vector<Vec3f> m_vecNormals;//茶壶顶点法线向量
std::vector<color_t> m_vecColor;//顶点的颜色
normals.reserve(g_teapotNormalNum/3);
for(int i = 0; i < g_teapotNormalNum; i += 3)//茶壶顶点坐标数组大小
{
//装入x,y,z坐标值
normals.push_back(Vec3f(g_teapotNormals[i] , g_teapotNormals[i + 1] , g_teapotNormals[i + 2] ));
}
Vec3f light(1.0,-1.0,1.0) ;//光源向量
color_t c;
for(int i = 0; i < g_teapotIndicesNum; i++)//茶壶顶点坐标数组大小
{
const int index1 = g_teapotIndices[i];//三角形的顶点索引
//装入x,y,z坐标值 (scale:缩放比例)
li=light[0] * normals[index1][0] + light[1] * normals[index1][1] + light[2] *normals[index1][2];
//if(ma<li)ma=li;1.73
//if(mi>li)mi=li;-1.73
li=255*(li+1.74)/(1.74*2);//规模化(归一化(+负值/最大值)后*255)
c=RGB(li,li,li);
color.push_back(c);
//if(i<50)
//printf("顶点颜色系数:%f\n",li);
}