QT_QML_3D_OpenGL_游戏
文章平均质量分 68
3D模型相关,加载、渲染、操控等
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
山间点烟雨
这个作者很懒,什么都没留下…
展开
-
2. Qt小游戏 --- 简易飞机大战
本代码只是做了一个简单的游戏,仅实现了飞机的移动和子弹发射,以及敌机的碰撞消失,代码整体主要使用。原创 2023-06-08 17:04:39 · 435 阅读 · 0 评论 -
1. Qt小游戏 --- 推箱子
Qt制作推箱子小游戏。原创 2023-06-06 12:05:26 · 1650 阅读 · 4 评论 -
2.5 使用SolidWorks转换STL格式为OBJ文件格式
使用SW进行三维模型建模,一般应用在机械工程领域中。将模型保存成STL格式后,转换为.obj文件,才能进一步转换为mesh文件,供QT中的3D控件进行使用,本文章记录一些格式转换步骤和关键点,以便参考。原创 2023-03-11 22:07:41 · 6479 阅读 · 1 评论 -
17. OPenGL实现旋转移动物体
整体思路:如果想实现动态,可以使用一个***矩阵***和我们给定的坐标值进行相乘,实时的改变坐标值,类似于***坐标的齐次变换***,然后使用一个定时器,在规定时间内触发重新绘制的函数。原创 2023-03-03 09:07:17 · 1316 阅读 · 0 评论 -
16. OPenGL加载纹理贴图
在OPenGL中,三维物体模型并非只能渲染单一颜色,还可以通过纹理贴图的方式进行渲染,增强物体模型的渲染效果,本篇文章简单讲解给一个矩形添加纹理图片效果。原创 2023-02-27 14:19:18 · 848 阅读 · 0 评论 -
15. Qt中OPenGL的参数传递问题
在OPenGL中,需要使用GLSL语言来编写着色器的函数,在顶点着色器和片段着色器之间需要参数值的传递,且在CPU中的数据也需要传递到顶点着色器中进行使用原创 2023-02-22 17:52:53 · 531 阅读 · 0 评论 -
14. QT_OPenGL中引入顶点着色器和片段着色器
着色器是OPenGL中非常重要的一部分,在有了模型后,如果未给模型添加着色器,那么渲染效果会折扣很多。原创 2023-02-17 15:14:51 · 754 阅读 · 0 评论 -
13. OPenGL与QT界面元素交互控制图形渲染
前面文章中讲到的 OPenGL 渲染都是在页面加载完成即立刻渲染的,如果向控制图形渲染的时间,可以在QT界面中添加一些元素来进行控制。此时需要用到OPenGL当中的makeCurrent(),update(),doneCurrent()函数。原创 2023-02-16 14:58:26 · 1502 阅读 · 0 评论 -
12. QT_OPenGL中使用索引器EBO访问数据
在图形绘制时,需要在顶点着色器中获取顶点坐标,一般情况下通过 VAO 进行数据的获取时,是一个值一个值进行获取的,通过移动的补偿和每次获取值的个数来区分每一个顶点的数据。但是,当顶点数据较多时,仅使用 VAO 进行数据获取速度较慢,此时可借助 EBO (数据索引器),通过顶点数据的索引辅助,获取坐标值。原创 2023-02-15 15:55:51 · 236 阅读 · 0 评论 -
11. GLSL(OpenGL Shader Language)常用知识点汇总
在使用OPenGL进行三维模型渲染时,需要使用到两个着色器对模型进行位置设置和颜色设置,分别为顶点着色器和片段着色器,这两个着色器是使用 GLSL 语法进行编写的。这篇文章总结了一些GLSL中的一些基本语法知识。原创 2023-02-15 14:51:33 · 435 阅读 · 0 评论 -
10. OPenGL中使用VAO和VBO渲染一个三角形
VBO:vertices buffer object 顶点缓冲对象,可理解为是用来***存储数据***的,有些数据的含义可以不同,可以是位置坐标,也可以是纹理坐标...VAO:vertices array object 顶点数组对象,可理解为是用来控制如何在 VBO 中***提取并解析***数据原创 2023-02-14 12:10:36 · 187 阅读 · 0 评论 -
9. QML_OpenGL--2. 在QQuick中搭建加载OpenGL框架
OPenGL一般在 QtWidget 中使用,但目前使用 QML 做界面开发是一种趋势,同时在QML中使用OPenGL进行渲染也是十分必要,文章简单介绍如何在QML中使用 OPenGL,搭建了一种基本的框架。整体思路和在 QtWidget 中类似,只不过在 QML 中需要定义一个中间辅助类,这个类是用来注册到QML中进行使用的,同时这个类也会去加载自定义的 OPenGL 类,从而实现 OPenGL 在 QML 中的显示。原创 2023-02-13 17:21:40 · 1586 阅读 · 3 评论 -
8. QT_OpenGL--1. 在QtWidget中搭建OpenGL加载框架
在 Qt 中使用 OpenGL,实际上时严格遵循一种代码开发框架的,在 QtWidget 中,需要使用 openGlWidget 控件,并自定义类,类中还需继承 QOpenGLWidget,QOpenGLFunctions_3_3_Core 两个类,并将 openGlWidget ***控件提升***为我们自定义的类,才能正常显示图形,本文将介绍最基本的框架搭建,后续即可在这个框架中不断添加代码进行 OpenGL 的深入学习。原创 2023-02-13 15:39:20 · 1258 阅读 · 0 评论 -
6. QML使用View3D时添加动画特效
使用 View3D 控件加载三维模型,添加动画时比较方便的,直接使用QML中的动画即可添加。比如 属性动画 PropertyAnimation ,数值动画 NumberAnimation,顺序动画 SequentialAnimation ,ParallelAnimation 并行动画等。原创 2023-02-07 14:13:21 · 493 阅读 · 0 评论 -
7. QML使用View3D时添加鼠标控制模型旋转缩放
旋转缩放模型,主要是根据鼠标当前的位置,计算位置差,让后分别设置模型相机的 eulerRotation 值,缩放模型,主要是根据鼠标中轮的值,更新模型相机的 z 值。总的来说,模型是不动的,动的是相机距离模型的远近或者相机相对于模型的位置,从而达到控制模型的目的。原创 2023-02-07 11:28:17 · 888 阅读 · 1 评论 -
5. QML中 View3D 的 DefaultMaterial 材质使用
这个材质属于默认材质,最基本的用法是通过镜面反射 specularAmount, 粗糙度 specularRoughness 和漫反射颜色 diffuseColor 属性控制材质的外观。原创 2023-02-06 16:40:45 · 649 阅读 · 0 评论 -
4. QML中 View3D 的 PrincipledMaterial 材质使用
材质类型之一,旨在通过较少的参数设置达到渲染目的,会提供一些默认值,及时我们自己不设置属性值,也会有一个默认的渲染样式,各个属性的值均在 0 - 1 之间。最基本的用法是通过金属度属性 metalness 、粗糙度属性 roughness 和基色属性 baseColor 来控制外观原创 2023-02-06 15:49:25 · 588 阅读 · 0 评论 -
2. QML使用View3D控件显示三维模型
View3D控件和QML中其它控件类似,只是在其中可以显示三维模型,类似在界面中创建一个场景,所有的模型将在这个场景中被加载出来。原创 2023-02-04 18:51:36 · 2555 阅读 · 0 评论 -
1. QML使用 Scene3D 加载三维模型框架
3D模型的加载是通过 Scene3D 组件完成的,可以理解为 Scene3D 为3D模型提供了一个展示空间,然后在这个空间内使用 Entity 控件装载不同的模型部分,最基本的是要添加一个总的 Entity 组件,这个总的组件是用来装载一些参数设置的,比如摄像机什么的,然后在里面继续使用 Entity 组件收集不同的部分,最后进行组装,完成一整个模型的加载。原创 2023-02-03 18:11:58 · 1479 阅读 · 0 评论