gpt4 book ai didi

c++ Opengl 处理绘制的元素

转载 作者:行者123 更新时间:2023-11-30 03:46:05 24 4
gpt4 key购买 nike

我目前正在开发一款游戏,我想知道是否有任何方法可以处理我正在绘制的元素。例如:如果我在循环中绘制 100 个立方体,我如何显示/隐藏立方体编号 15 或 63 或 n ... 我认为初始化列表中的元素会起作用,但我没有找到它的任何属性这可能会有所帮助。

GLuint cube;
cube = glGenLists(1);

glNewList(cube,GL_COMPILE);

for(int i = -30; i < 3; i++) {
for(int j = -30; j < 3; j++) {
glPushMatrix();
glTranslatef(i*2.0,0,j * 2.0);
Dcube();

glPopMatrix();
}
}
glEndList();

//类似于:glDeleteList(cube);但这只适用于整个列表而不适用于单个对象..

最佳答案

你有一个显示列表,很好。所以现在您又回到使用常规语言原语来简单地调用该函数。

std::array<bool, 100> cubes;
std::fill(cubes.begin(), cubes.end(), true);
cubes[15] = false;
cubes[63] = false;

for (bool drawCube : cubes) {
if (drawCube) {
// move a bit, perhaps using glTranslate
glCallList(cube);
}
}

OpenGL 不是您的管家。它只是绘制您告诉它的内容,您负责保存您的对象。

关于c++ Opengl 处理绘制的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34336567/

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