opengl3d添加二维文字

opengl3d添加二维文字,第1张

具体方法:

1、创建一个BMP的纹理图,确定文字的位置,颜色和阴影效果等内容。

2、使用JOGL创建GLSL(OpenGLShadingLanguage)着色器程序,该程序将用来渲染文字。

3、使用JOGL的绘制程序,将着色器程序绘制到图片中。

4、将绘制后的图片添加到OpenGL3D图中,在图中可以看到添加的文字内容。

在 Qt5 中,新增了 QOpenGL* 类,用以取代之前的 QGL* 类。

注意,虽然我们仍然能通过 Qt5 中的 OpenGL 模块使用 QGL* 类,但强烈建议大家在新的 Qt 应用程序中使用 QOpenGL* 类而不是 QGL* 类。

2

另外,在 Qt5 中,已经将 OpenGL 集成到了 Gui 模块中。因此,我们要想使用与 OpenGL 相关的类和函数,只需要在 .pro 工程文件中包含 gui 模块就可以了,无需像以前一样还要包含 opengl 。

END

二、怎样在Qt5中使用OpenGL

下面,我们来通过一个实际例子来演示怎样在 Qt5 中使用 OpenGL。在这个例子中,为了便于大家理解,我们只创建一个简单的背景为黑色的 OpenGL 窗口。下面是程序的运行效果图。

首先,我们需要创建一个自定义的窗口类 Window。该类的父类有两个:

1)QOpenGLWindow:以公有方式继承

2)QOpenGLFunctions:以保护方式继承

另外,在通常情况下,我们还需要实现三个从父类继承的虚函数:

1)void initializeGL()

2)void resizeGL(int width, int height) //若无需对高、宽进行处理,此函数可省

3)void paintGL()

然后,我们来实现上面所声明的函数。

1) initializeGL

该函数用来初始化当前的 OpenGL 环境。

注意,在此函数中,我们必须调用 initializeOpenGLFunctions()语句以便 Qt 在后台完成 OpenGL 环境的初始化工作。

随后,使用 glClearColor 函数来设置清除颜色。该函数的前三个参数分别是红、绿、蓝的分量值,第四个参数为透明度值。

2)resizeGL

该函数主要用来对高度和宽度进行一些变化处理。当然,如果你没有什么特殊需求,也可以不处理这个函数。

3)paintGL

该函数才是重头戏,绘制一般在此函数内进行。在这里,作为示范,我们只是简单地用之前设置的清除颜色来清除窗口背景。

6

最后,我们添加一个 main.cpp 文件,在主函数中新建一个 Window 类对象,然后将其显示出来。啊哈,纵观整个过程,相比之前的 Qt 版本,在 Qt5 中使用 OpenGL 是不是超级简单呢?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11673503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存