利用GLSL绘制曲线

以前的项目里,我曾经用qwt绘制曲线.qwt是一种基于qt的第三方插件。用qwt绘制的好处是,在待绘制的样本数较多时(〉=1000),仍然可以在很短的时间内完成绘制。本篇博客介绍一种办法,不再利用qwt,而是直接利用GLSL来实现高速绘制曲线。这个功能封装在类GLCurve中。 头文件: #...

2018-10-15 22:05:17

阅读数 298

评论数 1

解决QWindowsEGLStaticContext::create: Could not initialize EGL display: error 0x

重新安装了win7操作系统之后,本来正常的opengl功能失灵了.在qt中运行qopenglwidget,程序报错: QWindowsEGLStaticContext::create: Could not initialize EGL display: error 0x3001 已开始以为是q...

2018-10-13 07:52:34

阅读数 548

评论数 0

OpenGL学习脚印: 坐标变换过程(vertex transformation)

来源:https://blog.csdn.net/wangdingqiaoit/article/details/51594408

2018-03-30 18:34:39

阅读数 83

评论数 0

对比 Android-GLSurfaceView 与 Qt-QOpenGLWidget的异同

以github上https://github.com/rahulrj/Apple-Music-Animation 作为android-GLSurfaceView的例子,以我自己写的博客《不使用gluSphere显示地球仪》作为Qt-QOpenGLWidget的例子,将两者比较。区别:qt的例子是双...

2018-03-27 20:09:54

阅读数 94

评论数 0

QWindow + GLSL 绘制地球仪(脱离QOpenGLWidget)

QT 自带的 “OpenGL Window Example”介绍了利用QWindow为窗体,调用GLSL完成绘制的实例。在这篇示例的基础上,我增加一个知识点:将QWindow嵌套进QWidget中显示。介绍下代码的逻辑结构:1)Qt提供了一个专门的函数createWindiowContainer来...

2018-03-11 18:19:46

阅读数 903

评论数 0

GLSL绘制旋转的地球

直接上代码:h文件:#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QOpenGLWidget> #include <QOpenGLFunctions>...

2018-03-05 20:12:36

阅读数 425

评论数 0

GLSL显示地球仪

在博客不使用gluSphere显示地球仪中,我介绍了一种opengl显示地球的办法。那种办法的短处是,大量的计算由CPU完成。假如我们在做一个功能很强、CPU负担较重的界面,较为明智的办法是尽量让GPU分担CPU的工作。本篇博客演示的就是通过GLSL,让GPU分担CPU的一部分工作。先分析《不使用...

2018-02-28 20:30:57

阅读数 257

评论数 0

GLSL矩阵变换详解(三、view matrix和projection matrix)

我们在前一篇博客GLSL矩阵变换详解(二、旋转变换、平移变换以及QMatrix4x4)的基础上再增加对摄像机位置、姿态的设置功能,以及成像区域的定义功能。QMatrix4x4::lookAt(camera, center, upDirection)定义了摄像机的位置与姿态,属于view matri...

2018-02-25 20:05:34

阅读数 1958

评论数 0

GLSL矩阵变换详解(二、旋转变换、平移变换以及QMatrix4x4)

本篇博客展示4个例子,都是关于旋转变换、平移变换和QMatrix的操作。在QT的帮助中,提到QMatrix是行主序。而opengl的矩阵是列主序的。乍一看,将QMatrix传入shader之前,qmatrix需要做转置处理。但是在实际的尝试中,我发现矩阵不应转置。我们从前面的博客 Qt结合GLSL...

2018-02-25 18:49:45

阅读数 2283

评论数 0

GLSL矩阵变换详解(一、总述)

按照《OpenGL SuperBible》第四版的描述,OpenGL涉及的变换共4种(ModelView 其实是View和Model的总和,不算单独的变换):View, Model, Projection, ViewPort。这里面,Viewport的变换通过glViewport函数完成即可,不涉...

2018-02-25 14:23:28

阅读数 1163

评论数 0

Qt结合GLSL贴出纹理(二、采用QOpenGLShaderProgram和QOpenGLTexture)

鉴于前一篇博客的问题,我又尝试用QOpenGLShaderProgram和QOpenGLTexture来贴纹理。pro文件:#------------------------------------------------- # # Project created by QtCreator 201...

2018-02-21 19:37:46

阅读数 1897

评论数 0

Qt结合GLSL贴出纹理(一、采用原生OpenGL API)

Qt提供QOpenGLShaderProgram这种类来完成GLSL操作,同时也支持原生的OpenglAPI。在接下来的两篇博客里,我将分别介绍如何用QOpenGLShaderProgram来贴出纹理,以及如何用原生的OpenglAPI贴出纹理。这篇博客介绍的是如何利用原生的OpenglAPI贴纹...

2018-02-21 19:25:37

阅读数 499

评论数 0

不使用gluSphere显示地球仪

思路:用一个个的四边形来近似球面,每一个四边形仅占一小块立体角。将平铺的世界地图与地球仪做如下对应--图片的左上角对应球体的theta = 0, phi = 0位置。向下则theta增加,直到180度;向右则phi增加,直到360度。theta和phi都按照10度步进。步进一次得到一个立体角,立体...

2018-01-29 23:17:05

阅读数 309

评论数 0

又一种Qt + OpenGL 的离屏渲染方法

前面的博客《Qt + OpenGL + 离屏渲染》介绍了一种离屏渲染的办法:先在framebuffer里面绘制,然后把绘制的结果转化为QImage。但是这样做涉及到从显存(framebuffer)到内存QImage的传递,降低效率。本博客介绍一种新办法,从显存到显存,不必经由内存。 本文受了 ht...

2017-12-20 23:33:34

阅读数 1708

评论数 0

qt + opengl 绘制地球

方法: 先载入纹理图(pLoadTex函数); 再画建立一个二次曲面物体(gluNewQuadric函数),并利用函数gluQuadricTexture声明这个二次曲面可以贴纹理; 在paintGL函数里,只要调用glBindTexture和gluSphere函数,即可绘制地球。 代码: ...

2017-11-22 07:06:12

阅读数 1131

评论数 0

建立Win32工程,向三维物体贴纹理

本文来源http://blog.csdn.net/tiankefeng19850520/article/details/18655907 亲测无问题。 首先打开vs2012,选择建立win32控制台工程。 然后输入以下代码: #include #include #include #i...

2017-11-21 23:05:31

阅读数 171

评论数 0

利用VBO绘制

在前面的博客《  QOpenGLWidget + QPainter混合编程 》中,我利用glColorPointer 和 glVertexPointer来绘制图形。这就要求每次调用paintGL()函数时,都要从内存里取出数据再绘制。本篇博客介绍一种新的方法,利用VBO,只需从内存里读取一...

2017-11-16 22:34:23

阅读数 199

评论数 0

QOpenGLWidget + QPainter混合编程

本示例将一个二维数组可视化,且每一个数据点的颜色由它的Z值决定。根据http://blog.csdn.net/dp_huang/article/details/53816805 在调用opengl函数时,要使用glEnable(GL_DEPTH_TEST);而使用QPainter之前,要使用glD...

2017-11-07 22:50:44

阅读数 1536

评论数 1

gluLookAt() 和 glOrtho() 的个人理解

转自http://blog.csdn.net/songjiaweizangai/article/details/40479293 gluLookAt函数原型为: void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLd...

2017-11-06 20:42:02

阅读数 244

评论数 0

Qt + OpenGL + 离屏渲染

本文来自https://stackoverflow.com/questions/31323749/easiest-way-for-offscreen-rendering-with-qopenglwidget,经亲测(有小量修改),确实能运行。现在把自己示例代码贴出来。 简单介绍下代码结构:核心的...

2017-10-26 21:45:04

阅读数 2649

评论数 3

提示
确定要删除当前文章?
取消 删除
关闭
关闭