关于opengl画正面半透明立方体问题?
我用opengl画了个立方体,大致如下:
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
useColor(); //给材料设置颜色
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
materials.apply();//正面材料定义(glMaterialfv(GL_FRONT, GL_DIFFUSE, _diffuse.rgba()))正面0.5 materials.apply_back();//背面材料定义(glMaterialfv(GL_BACK, GL_DIFFUSE, d.rgba()))背面1.0
glBegin(GL_QUADS);
glNormal3f(0.0f,0.0f,1.0f);//front
glVertex3f(pointD.getX(), pointD.getY(), pointD.getZ());
glVertex3f(pointC.getX(), pointC.getY(), pointC.getZ());
glVertex3f(pointB.getX(), pointB.getY(), pointB.getZ());
glVertex3f(pointA.getX(), pointA.getY(), pointA.getZ());
glNormal3f(0.0f,0.0f,-1.0f);//back
glVertex3f(pointH.getX(), pointH.getY(), pointH.getZ());
glVertex3f(pointG.getX(), pointG.getY(), pointG.getZ());
glVertex3f(pointF.getX(), pointF.getY(), pointF.getZ());
glVertex3f(pointE.getX(), pointE.getY(), pointE.getZ());
glNormal3f(-1.0f,0.0f,0.0f);//legt
glVertex3f(pointG.getX(), pointG.getY(), pointG.getZ());
glVertex3f(pointD.getX(), pointD.getY(), pointD.getZ());
glVertex3f(pointA.getX(), pointA.getY(), pointA.getZ());
glVertex3f(pointF.getX(), pointF.getY(), pointF.getZ());
glNormal3f(1.0f,0.0f,0.0f);//right
glVertex3f(pointC.getX(), pointC.getY(), pointC.getZ());
glVertex3f(pointH.getX(), pointH.getY(), pointH.getZ());
glVertex3f(pointE.getX(), pointE.getY(), pointE.getZ());
glVertex3f(pointB.getX(), pointB.getY(), pointB.getZ());
glNormal3f(0.0f,1.0f,0.0f);//top
glVertex3f(pointA.getX(), pointA.getY(), pointA.getZ());
glVertex3f(pointB.getX(), pointB.getY(), pointB.getZ());
glVertex3f(pointE.getX(), pointE.getY(), pointE.getZ());
glVertex3f(pointF.getX(), pointF.getY(), pointF.getZ());
glNormal3f(0.0f,-1.0f,0.0f);//bottom
glVertex3f(pointC.getX(), pointC.getY(), pointC.getZ());
glVertex3f(pointD.getX(), pointD.getY(), pointD.getZ());
glVertex3f(pointG.getX(), pointG.getY(), pointG.getZ());
glVertex3f(pointH.getX(), pointH.getY(), pointH.getZ());
glEnd();
可是看到的立方体确实正反面都是半透明的,问什么??我忘了设置什么了吗??