C++ Can';不能正确定义一个四元组
我想要一个长方形的立方体。一面墙的正面不对,所以我看不到粉红色。这是立方体的好一面: 立方体背面为灰色墙面: 代码如下:C++ Can';不能正确定义一个四元组,c++,opengl,3d,C++,Opengl,3d,我想要一个长方形的立方体。一面墙的正面不对,所以我看不到粉红色。这是立方体的好一面: 立方体背面为灰色墙面: 代码如下: 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_siz
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();
我尝试了所有的组合(逆时针)顺序,但结果仍然是一样的。有什么想法吗 我相信你没有正确识别墙壁。您创建的第一个(
X=-floor\u size\u X/2
),第三个(Z=-floor\u size\u Z/2
)和第四个(Z=floor\u size\u Z/2
)都是顺时针指定的,而第二个(X=floor\u size\u X/2
)是逆时针指定的。我猜这实际上是不正确的。它是真的是灰色的还是离灯光太远了?顶点颜色设置正确了吗?好的墙壁、地板和天花板在坏的一端都会褪色为黑色……光线位于立方体的中心。这面灰色的墙的另一面是粉红色的。你能描述一下图像在你的坐标系中是如何定位的吗?面对坏墙的那个,哪里是+X,哪里是+Z?我用坐标系画图。我改变了第二面墙的顺序,然后。。。什么也没发生。问题在于第四面墙,因为当我移除它时,它是黑洞而不是灰色的。@link如果你试过顺时针和逆时针方向的第四面墙,它是一样的,它真的很奇怪。当你改变它的颜色(仅仅是第四面墙)时,会发生什么事情吗?当我改变第四面墙的颜色时,会发生变化,但在另一面。这很奇怪,因为立方体的一面总是比较暗(当我移开所有的墙时,我可以在屋顶和地板上看到它),尽管改变了灯光的位置。