gpt4 book ai didi

c++ - 如何将 OpenGL 绘图分成类

转载 作者:行者123 更新时间:2023-11-30 00:53:01 25 4
gpt4 key购买 nike

假设我只想绘制一个简单的 OpenGL 三角形。我知道我可以在主文件中绘制一个三角形,其中我所有的 OpenGL 东西都是通过以下方式设置的:

glBegin( GL_TRIANGLES );
glVertex3f( 0.0f, 1.0f, 0.0f );
glVertex3f( -1.0f,-1.0f, 0.0f );
glVertex3f( 1.0f,-1.0f, 0.0f);
glEnd();

但是我不想在主文件中出现所有这些困惑情况,而是想通过使用名为“Triangle”的类和“Draw”函数来绘制一个三角形,所以我的代码看起来像这样:

Triangle TheTriangle;
TheTriangle.draw();

简而言之,如何创建一个类,其中包含一些可以使用函数绘制的 OpenGL 形状?

最佳答案

通常的方式如下:

TriangleArray tri;
tri.push_back(...);
tri.prepare();
while(1) {
clear();
tri.draw();
swapbuffers();
}

但通常同一个类应该处理一组对象,而不只是一个对象。所以 TriangleArray 是很好的类名。 prepare() 用于设置纹理或顶点数组。 (注意:如果您的世界是由立方体构建的,您将改为创建 CubeArray。)

关于c++ - 如何将 OpenGL 绘图分成类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17624087/

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