Opengl怎么给一个有发向量的三角片,前景后景色分别着不同的颜色显示

Opengl如何给一个有发向量的三角片,前景后景色分别着不同的颜色显示
Opengl如何给一个有法向量的三角片,前景后景色分别着不同的颜色显示,请高手帮忙  
                  glBegin(GL_TRIANGLES);
glVertex3f(fisp-> x,fisp-> y,fisp-> z);
glVertex3f(secp-> x,secp-> y,secp-> z);
glVertex3f(thdp-> x,thdp-> y,thdp-> z);
glEnd();

麻烦写个代码,给前面和后面着不同颜色,大虾快帮忙,求救!!!

------解决方案--------------------
不知道楼主讲的三角面片是不是指的基本图元?
基本图元是由点组成的,所以,在定色的时候,opengl是没有为前后两面分别用不同颜色的。
有提到前后颜色的时候是在有光照等情况的时候,前后由于光照不同而可能产生不一样的颜色。
在glsl中专门有gl_FrontColor和gl_BackColor定义,不过在最后显示的时候,由于是三角面片,只会显示一面,也就只有一个颜色会被利用。
不管怎样,反正只有一面会被利用,楼主就直接画一个吧,然后通过位置以及法向判断是正面还是反面,然后画一个那种颜色的三角吧……

------解决方案--------------------
唉……你就别纠结了,不同颜色是没办法在同一个三角面片两面着的,除非就是像之前所说的根据法向判断后,再定颜色……即使有光照模型,也只是因为光照不同而导致两面出现光暗不同罢了,不会像你说的那样显示不同颜色的
------解决方案--------------------
这个不可以的。
opengl只能控制背面是否剔除,
------解决方案--------------------
//绑定当前面片的纹理;没有纹理时,则使用颜色
if (NULL != pFaceFrag->m_pMaterial 
&& 0 != pFaceFrag->m_pMaterial->texture.m_uID
&& k != 22)
{
glEnable (GL_TEXTURE_2D);
pFaceFrag->m_pMaterial->texture.BindTexture();

glColor3f (1.0f, 1.0f, 1.0f); //设置面片底色
}
else
{
glDisable (GL_TEXTURE_2D);
glColor3f (m_defaultColor.m_fX, m_defaultColor.m_fY, 
m_defaultColor.m_fZ); //设置面片没有纹理时的默认色
}

//若当前面片和视线方向相反,则设置面片背面色
if (CVector3::DotMultiply(pFaceFrag->m_Normal, rcViewOritation) < 0.0f)
{
glDisable (GL_TEXTURE_2D); 
glColor3f (0.0f, 0.0f, 1.0f); 设置面片背面色
}


//绘制面片
------解决方案--------------------
我在自己的衣服仿真软件里是这样做的,分享。