我想要一个矩形立方体。一面墙面有错误的一面,所以我看不到粉红色。这是立方体的好的一面:无法正确定义一个四边形
在立方体的背面有墙灰背面:
这是代码:
glBegin(GL_QUADS);
//floor
glMaterialfv(GL_FRONT, GL_DIFFUSE, floor_diffuse);
glVertex3f(-floor_size_x/2, 0, floor_size_z/2);
glVertex3f(floor_size_x/2, 0, floor_size_z/2);
glVertex3f(floor_size_x/2, 0, -floor_size_z/2);
glVertex3f(-floor_size_x/2, 0, -floor_size_z/2);
//roof
glMaterialfv(GL_FRONT, GL_DIFFUSE, roof_diffuse);
glVertex3f(-floor_size_x/2, wall_height, floor_size_z/2);
glVertex3f(floor_size_x/2, wall_height, floor_size_z/2);
glVertex3f(floor_size_x/2, wall_height, -floor_size_z/2);
glVertex3f(-floor_size_x/2, wall_height, -floor_size_z/2);
//walls
glMaterialfv(GL_FRONT, GL_DIFFUSE, walls_diffuse);
glVertex3f(-floor_size_x/2, 0, floor_size_z/2);
glVertex3f(-floor_size_x/2, wall_height, floor_size_z/2);
glVertex3f(-floor_size_x/2, wall_height, -floor_size_z/2);
glVertex3f(-floor_size_x/2, 0, -floor_size_z/2);
glVertex3f(floor_size_x/2, 0, floor_size_z/2);
glVertex3f(floor_size_x/2, wall_height, floor_size_z/2);
glVertex3f(floor_size_x/2, wall_height, -floor_size_z/2);
glVertex3f(floor_size_x/2, 0, -floor_size_z/2);
glVertex3f(-floor_size_x/2, 0, -floor_size_z/2);
glVertex3f(-floor_size_x/2, wall_height, -floor_size_z/2);
glVertex3f(floor_size_x/2, wall_height, -floor_size_z/2);
glVertex3f(floor_size_x/2, 0, -floor_size_z/2);
//BAD WALL
glVertex3f(floor_size_x/2, 0, floor_size_z/2);
glVertex3f(floor_size_x/2, wall_height, floor_size_z/2);
glVertex3f(-floor_size_x/2, wall_height, floor_size_z/2);
glVertex3f(-floor_size_x/2, 0, floor_size_z/2);
glEnd();
我尝试了所有组合(计数器)顺时针顺序,但结果仍然相同。有任何想法吗?
它真的是灰色的还是离灯光太远? – Angew
您是否正确设置了顶点颜色?好的墙壁,地板和天花板都会在坏的一端褪色成黑色...... – kazemakase
光线在立方体的中心。这灰色的墙壁在另一边是粉红色的。 – Linkas