![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
VerseZero
诗的篇章
展开
-
OpenGL(8)渲染基础
OpenGL(8)渲染基础简介前面内容主要集中在搭建OpenGL 的环境,包括库,窗口创建。接下来的内容就专注学习OpenGL渲染。让我们放下其它任何OpenGL概念不说,我们使用OpenGL,最终目的是在显示设备上显示出一张图片。而计算机在创建这张图片的过程就叫渲染。我们渲染3D环境是相当复杂的,有物体,光照,阴影,镜像等等一系列场景都需要表现在一张张图片上。这就需要用到OpenGL,它强大的状态机制,让我们在应对各种场景时游刃有余。这里我们直接使用OpenGL 的 Sharder(着色器) 和原创 2020-07-20 23:50:05 · 320 阅读 · 0 评论 -
OpenGL(7)调用系统API创建Ubuntu_X11窗口
OpenGL(7)调用系统API创建Ubuntu_X11窗口简介OpenGL(6)调用系统API创建Local窗口 在这一文讲了基于Qt(QWidget) + GLAD + GLEW + GLFW 在win32系统下创建3D窗口。这里延续上一章,操作系统换成Ubuntu18.04创建3D开发环境。毕竟只要装个虚拟机就可以开始折腾了。环境配置安装Qt5.12这里并不是将Qt的教程,如何在Ubuntu18.4下安装Qt5.12。网上资料很多。配置OpenGL安装基本的编译环境sudo apt原创 2020-07-18 00:39:02 · 892 阅读 · 11 评论 -
OpenGL(6)调用系统API创建Local窗口
OpenGL(6)调用系统API创建Local窗口简介为了将GPU绘制结果在窗口中显示出来,必然需要将OpenGL和具体窗口系统相结合。不同的操作系统,都有各自的绘制上下文创建、和设置当前绘制上下文的API。如下图所示,从应用程序到编写管线,最后得到具体窗口衍生出frame buffer,即可完成OpenGL应用程序的显示输出。所有的OpenGL调用,都需要指定是在哪个上下文环境下调用的。不同的上下文中,同样的资源ID,可能对应于各自上下文中不同类型的资源。因此,GL context的输出格式和F原创 2020-07-14 00:44:06 · 705 阅读 · 0 评论 -
OpenGL(5)深入理解Pipeline, State, Context
OpenGL(5)深入理解Pipeline, State, ContextPipeline(管线/管道)管线(pipeline),可以理解为渲染流水线。它的最终目的是将输入3D数据经过几个流程的处理,最终被映射到屏幕设备上显示的像素。当然整个流水线生产过程是受OpenGL状态的影响。线管分为两类:固定管线:可以简单理解为渲染图像的这个过程,我们只能通过调用GLShaderManager类的固定管线效果实现我们一系列的着色器处理。可编程管线:可以简单理解, 在我们处理图形的过程,我们必须使用顶点着原创 2020-07-14 00:27:17 · 1153 阅读 · 0 评论 -
OpenGL(4)之Qt窗口(QOpenGLWidget)
OpenGL(四)之Qt窗口(QOpenGLWidget简单例子)上一篇QOpenGLWidget详解中,详细介绍了QOpenGLWidget的一些使用方法和特点,下面给出一个具体的例子。QOpenGLWidget 简单例子简介QOpenGLWidget是一个用来渲染OpenGL图形的窗口组件,它继承于QWidget;具体使用:Header:头文件: #include <QOpenGLWidget>qmake: QT += widgets版本: Qt 5.4之后实例创建原创 2020-06-17 10:07:06 · 7464 阅读 · 2 评论 -
OpenGL(3)之Qt窗口(QOpenGLWidget)
OpenGL(三)之Qt窗口(QOpenGLWidget)在上一篇中窗口类渲染OpenGL部件是基于QWindow,但在实际应用开发中比较常用的窗口是基于QWidget(当然还有Qt Quick这里并不展开讲)。至于QWindow和QWidget的联系,可以简略看一下这边博文从QWindow到QWidget(Qt5)QOpenGLWidget 简单例子简介QOpenGLWidget是一个用来渲染OpenGL图形的窗口组件,它继承于QWidget;具体使用:Header:头文件: #includ原创 2020-06-17 00:41:34 · 10151 阅读 · 1 评论 -
Opengl (2)之Qt窗口
Qt + QOpenGL(一)这一学习系列,基于Qt UI组件以及QOpenGL,学习三维软件的开发。 暂定目标是做一个简单的机器人仿真软件。如果快速开发,可以直接用OSG 或者 OCCT 等开源3d引擎,加上自己熟悉的图形用户界面应用程序框架(如Qt,C#,MFC,Java等),整合出一个三维软件。这些内容在后面有空慢慢学习。这一系列就关注Qt 以及其opengl模块。OpenGL是Khronos Group开发维护的一个规范,它主要为我们定义了用来操作图形和图片的一系列函数的API,需要注意的原创 2020-06-10 02:33:46 · 1627 阅读 · 0 评论 -
OpenGL(1)入门简介
OpenGL(一)入门简介什么是OpenGLOpenGL(Open Graphics Library, 开放式图形库)。我们常用的平时使用的库包括:gl:核心库;以gl开头,包含了最基本的3D函数。glu: 实用库;对gl的部分封装,起辅助作用;如果算数好,不用glu的情况下,也是可以做出同样的效果;以glu开头,包含纹理、坐标、基本形状等;glaux: 辅助库;包含窗口、输入输出、基本形状;glut: (OpenGL Utility Toolkit)实用工具库,替代(aux);基本的窗口原创 2020-06-12 00:53:56 · 614 阅读 · 0 评论