簡體   English   中英

無法正確定義一個QUAD

[英]Can't define one QUAD properly

我想要一個矩形立方體。 一堵牆的另一側有面,所以我看不到粉紅色。 這是多維數據集的好方面:

好的一面

立方體的背面是牆壁的灰色背面: 壞的一面

這是代碼:

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_size_x / 2 ),第3個( Z = - floor_size_z / 2 )和第4個( Z = floor_size_z / 2 )都是順時針指定的,而第二個( X = floor_size_x / 2 )是逆時針指定。 我猜這實際上是不正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM