gpt4 book ai didi

c++ - Qt OpenGL 磅值

转载 作者:行者123 更新时间:2023-11-30 02:21:44 26 4
gpt4 key购买 nike

我在现代 OpenGL 中使用 QOpenGLFunctions。我想在我的窗口上绘制一些 GL_POINTS,但点的大小似乎非常小。通常,您可以使用

更改点的大小
glPointSize(4);

但是,此代码片段在 QOpenGLFunctions 包装器中不存在,因此我不确定如何更改它们。

绘制 GL_TRIANGLES 对我来说非常好。

我想绘制点来显示真实世界对象的点云。

最佳答案

如果您使用 QOpenGLFunctions , 确实没有可用的 glPointSize()。为什么?

The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API.

khronos.org 上进行交叉检查:

+--------------+-----------------------------------------------------------------------+
| Function / | OpenGL Version |
| Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
+--------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| glPointSize | v | v | v | v | v | v | v | v | v | v | v | v |
+--------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

因此,它支持 OpenGL 但不支持 OpenGL ES。

有两种可能的选择:

选项 1:gl_PointSize

在 OpenGL ES 中,您可以使用 GLSL 着色器变量 gl_PointSize相反。

(我在搜索适当的文档链接时“意外地”发现了这个——以前不知道也从未使用过它。)

derhass提供了额外的提示,如果由 glEnable(GL_PROGRAM_POINT_SIZE) 启用,这也可以与 OpenGL(非 ES)一起使用.

GL_PROGRAM_POINT_SIZE

If enabled and a vertex or geometry shader is active, then the derived point size is taken from the (potentially clipped) shader builtin gl_PointSize and clamped to the implementation-dependent point size range.

选项 2:使用替代的 QOpenGLFunctions_???

代替QOpenGLFunctions,您可以明确使用不可移植的替代方案(假设您不需要支持手机、嵌入式设备或类似设备)。

Qt 文档中最好的概述。我可以找到:QAbstractOpenGLFunctions .

关于c++ - Qt OpenGL 磅值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48033746/

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