gpt4 book ai didi

opengl - Modern OpenGL 3.x 及更高版本如何绘制图元?

转载 作者:行者123 更新时间:2023-12-04 17:26:49 25 4
gpt4 key购买 nike

我必须用 OpenGL (3.3, 4.2) 绘制很多图元,我知道 glutSolidTeapot() ;我可以用过剩画一个茶壶原始人。

但是这个命令好像不会生成顶点数组,不知道这种命令有没有被弃用。

我注意到很多现代 OpenGL 教程只是加载他们自己的图元并避免使用 glut,他们甚至从 3d 网格格式文件加载简单的几何体。

我的目的是尽可能快地绘制这些图元。并尽可能多地使用新的OpenGL。

那么如何在现代 OpenGL 中绘制图元?

最佳答案

由于 GLUT(它是 无论如何都不是 OpenGL 的一部分)使用立即模式 glBegin/glEnd 绘制其原语并且使用已弃用的固定功能内置属性,如果您想专注于未弃用的现代核心功能,您将无法再使用这些属性。

而不是使用内置属性(如 glVertexglNormal ,...),您必须使用自己的通用顶点属性(当然,结合适当的顶点着色器)而不是 glBegin/glEnd调用您必须使用由 VBO 提供的顶点数组绘制基元并使用 glDrawArrays/glDrawElements 绘制。及其衍生物。

虽然没有什么可以阻止您将这些对象的顶点数据存储为源代码中的变量或手动生成它们,但从文件加载它们是最简单和最通用的方法,至少对于像犹他州茶壶这样相当复杂的对象。 Wavefront OBJ format是一种相当简单的基于 ASCII 的网格文件格式,很容易阅读,可能是研究的起点,因为它几乎可以通过任何建模软件导出。

关于opengl - Modern OpenGL 3.x 及更高版本如何绘制图元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7774403/

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