我已經實現了一個網格。可以用線框渲染(三角形),但現在我想應用平面着色渲染,而我得到的是沒有音量的數字,純白色。OpenGL-不帶光源的平面着色C++
這裏是我使用:
for(int i=0; i<mesh->nt; i++) {
glShadeModel(GL_FLAT);
glBegin(GL_TRIANGLES);
int i0 = mesh->triangles[i].vInds[0];
int i1 = mesh->triangles[i].vInds[1];
int i2 = mesh->triangles[i].vInds[2];
Vector n1 = GetNormal(mesh->vertices[i0], mesh->vertices[i1], mesh- >vertices[i2]);
glNormal3dv((double *)&n1);
glVertex3dv((double *)&mesh->vertices[i0]);
glVertex3dv((double *)&mesh->vertices[i1]);
glVertex3dv((double *)&mesh->vertices[i2]);
glEnd();
}
我計算出的三角形的法線但沒有任何工程。任何想法?
作爲一個方面說明,如果您想學習現代OpenGL編程,我會建議您閱讀http://www.arcsynthesis.org/gltut/。您正在使用的功能已棄用! – 2013-04-10 13:51:59