gpt4 book ai didi

c++ - 3D 迷宫 OpenGL 实现

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:49 29 4
gpt4 key购买 nike

我正在尝试在 opengl 中创建一个简单的 3D 迷宫。我最初的想法是有一个立方体网格,每个立方体的一些面是透明的(用于走廊)。但是,我在想出一种有效执行此操作的方法时遇到了一些麻烦。我不想为我的迷宫分别定义每个立方体,那将是一大堆代码(我认为)。

此外,我是否需要每次都创建新的立方体,或者我是否可以定义一个立方体并在重绘时简单地平移它以形成迷宫?

最佳答案

如您所说,单独定义每个多维数据集会产生大量代码。也不可能实现随机生成的迷宫。而且在迷宫上做任何改变都会很累。

我会选择“定义一个立方体并简单地翻译它”。定义一个函数,该函数渲染一个立方体,其中心位于原点,并根据其世界坐标进行平移。

我认为您根本不应该使用透明度。如果有一个立方体,则简单地渲染一个立方体,如果没有,则不渲染。

for(i=0; i<width; i++){
for(j=0; j<height; j++){
if(maze[i][j] == 1){ // Means there is a cube there
glPushMatrix();
glTranslatef(j * scale, 0, i * scale);
DrawCube();
glPopMatrix();
}
}
}

我想您也可以使用类似的结构进行碰撞检测。

关于c++ - 3D 迷宫 OpenGL 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16386859/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com