如何优化 3D 显示块

How to optimize a 3D display blocks

我正在尝试开发类似 Minecraft 的游戏。
这是我工作的截图:

渲染效果令人满意,但当我查看我的 FPS 时,它太可怕了:90 FPS!我正在渲染 4*4* 块 16*16*16 块。
这真的很糟糕...

为了渲染我的世界,我渲染我的块,块渲染它们的块。
我正在像这样渲染我的块:

public void renderTop(){
    glTexCoord2f((0)/NBFACES+offs,(0+this.type)/NBBLOCKS+offs); glVertex3f(this.x       , this.y+TAILLE, this.z       );
    glTexCoord2f((1)/NBFACES-offs,(0+this.type)/NBBLOCKS+offs); glVertex3f(this.x+TAILLE, this.y+TAILLE, this.z       );
    glTexCoord2f((1)/NBFACES-offs,(1+this.type)/NBBLOCKS-offs); glVertex3f(this.x+TAILLE, this.y+TAILLE, this.z+TAILLE);
    glTexCoord2f((0)/NBFACES+offs,(1+this.type)/NBBLOCKS-offs); glVertex3f(this.x       , this.y+TAILLE, this.z+TAILLE);
}

public void renderBottom(){
    glTexCoord2f((0+1)/NBFACES+offs,(0+this.type)/NBBLOCKS+offs); glVertex3f(this.x       , this.y       , this.z+TAILLE);
    glTexCoord2f((1+1)/NBFACES-offs,(0+this.type)/NBBLOCKS+offs); glVertex3f(this.x+TAILLE, this.y       , this.z+TAILLE);
    glTexCoord2f((1+1)/NBFACES-offs,(1+this.type)/NBBLOCKS-offs); glVertex3f(this.x+TAILLE, this.y       , this.z       );
    glTexCoord2f((0+1)/NBFACES+offs,(1+this.type)/NBBLOCKS-offs); glVertex3f(this.x       , this.y       , this.z       );
}

 ...

实际上,如果方块没有邻居,我会逐面渲染方块。
所以如果我穿过地面,我不会看到其他草方块下面的方块。

你知道如何优化我的渲染吗?太弱了:-/
谢谢

尝试使用背面剔除、截锥体剔除。这应该以指数方式提高 FPS。