GLSL
文章平均质量分 88
彩阳
学习DirectX还要靠大家指点指点啊。
展开
-
编写基于Qt的GLSL程序需要注意的几点
最近尝试着编写基于Qt和GLSL的小例子,遇到了一些小问题,在这里给大家分享一下,希望大家不要重蹈覆辙。原创 2013-08-25 10:00:29 · 13668 阅读 · 5 评论 -
使用GLSL实现对光照的模拟(二)
OpenGL固定渲染管线主要实现的是高洛德着色模型,这是一种简单的光照效果,主要应用在实时渲染领域。我这次实践主要将全局光照、漫反射效果以及镜面反射效果实现了,漫反射使用了兰伯特(Lambert)公式、镜面反射使用可比林 – 冯(Blinn - Phong)公式。原创 2014-04-20 22:02:51 · 5430 阅读 · 0 评论 -
OpenGL4.x学习之使用绘制三角形
OpenGL很多人都有所了解,也有很多人使用OpenGL开发过工业级的应用和游戏应用,不过它的最新版本OpenGL4.x了解的人就不是太多了。目前OpenGL的最新版本是4.4,并且NVIDIA和AMD厂商发布了支持OpenGL最新版本的驱动程序,我想基于OpenGL4.x讲解的书籍也会逐渐增多。原创 2014-02-19 22:08:47 · 3360 阅读 · 0 评论 -
OpenGL4.x学习之使用着色器、绑定VAO以及绘制最简单的图元——点
OpenGL4.x是OpenGL系列最新的规范,它为此制定了很多的概念,包括6种着色器、以及诸多内存对象,让简单的三维显示变得不简单。我也是刚刚了解这些新的特性,所以有的地方阐述不正确还请高手们指出来。原创 2014-02-19 22:02:27 · 4059 阅读 · 9 评论 -
利用GPGPU方法将大量数据通过纹理传输至GPU进行计算
在显卡并行计算起源的领域,比如说游戏开发领域,GPU的发展使得其迈向了新的纪元,画面愈加精致,效果愈加震撼,同时并行计算框架CUDA和OpenCL的兴起,则将显卡的计算潜能充分地释放了出来。最后令人高兴的是,以前就受惠于显卡发展的游戏开发领域,将显卡的功能做了新的扩展,以前只用来渲染用的显卡,目前可以做更多逻辑领域相关的事儿了。原创 2014-02-19 22:26:34 · 6724 阅读 · 10 评论 -
OpenGL4.x学习之开发环境的选择
从OpenGL3.2开始,固定渲染的功能逐渐地被废弃,可编程渲染成为了主角,为此我们也必须跟上来,学习OpenGL可编程渲染部分。不过虽然说固定渲染功能被废弃了,有些内容还真的必须是固定渲染流程,没法走可编程渲染。比如说栅格化(Rasterization)和帧缓存(一说帧缓冲区)的操作(Framebuffer operations),在现阶段无法做到可编程。直到OpenGL4.4,着色器的种类增加到了6个。它们分别是顶点着色器、分格化控制着色器(Tessellation control shader)、分格原创 2014-02-08 15:15:42 · 4477 阅读 · 6 评论 -
探究OpenGL光照模型的着色器实现
OpenGL的着色器是新的显卡提供给开发者一个小程序,为的是让开发者对光照、坐标转换以及像素进行一些个性化的处理。OpenGL的着色器有一种专门的语言:GLSL,现在的GLSL应该全面转向Shader Model5,像我这样的初学者还需要花费更长的时间来学习才能基本了解OpenGL的着色器方面的知识。 下面两图展示了OpenGL从固定渲染管线到可编程渲染管线的变化 从图中我们可以很容易地看出,OpenGL的顶点着色器取代了固定渲染管线的转换、光照、纹理坐标生成和转换;片断着色器取代了纹理、颜色求和和雾的原创 2013-09-27 23:08:07 · 5076 阅读 · 1 评论 -
Qt的Graphics-View框架和OpenGL结合详解
这是一篇纯技术文,介绍了这一个月来我抽时间研究的成果。 Qt中有一个非常炫的例子:Boxes,它展示了Qt能够让其Graphics – View框架和Qt的OpenGL模块结合起来,渲染出非常出色的效果。其实我私自认为凭这个程序,已经有很多游戏开发者关注Qt了,因为游戏开发一个非常常见的模块就是UI,一般情况下游戏引擎提供的UI模块比较弱,基本上都是游戏引擎 + 第三方GUI库进行结合的。但是Qt以其Graphics – View框架能够非常轻松地将UI控件嵌入场景中,而且能够和OpenGL底层共存,更重原创 2013-09-27 00:08:01 · 19632 阅读 · 23 评论 -
将Qt、OpenGL、GLSL以及Qt的Graphics-View框架结合
Qt的QWidget大家族已经成熟,不会得到太大的发展了,而随着Qt5的发展,新的界面类会崭露头角,比如QWindow、QSurface、QScreen这些类。但现在的状况(Qt5.2即将出了),这些类和模块并不会对现有的GUI模块造成威胁,更不用说取代Qt4的GUI(在Qt5是QtGui和QtWidgets)模块了。自Qt4.4起,Qt拥有了Graphics-View框架,使用这个框架可以更加轻松地在窗口中嵌入任意你想要绘制的元素。但是据我所知,Qt5的那些类无法和Graphics-View框架进行整合,原创 2013-09-25 00:34:57 · 8428 阅读 · 10 评论 -
基于Qt和GLSL的着色器例子
基于Qt和GLSL的着色器例子 我的计算机换成新的了,可以支持OpenGL2.0以及以上的规范,这样我开始正式涉足OpenGL高级的内容了。目前我的OpenGL基础库是Qt,它有完备的功能,以及对OpenGL一层好的封装,所以用它来开发基于OpenGL的应用程序非常合适。下面是我就来介绍一下如何开发基于Qt和GLSL的程序。 GLSL是在OpenGL2.原创 2013-08-25 10:38:36 · 8850 阅读 · 5 评论 -
使用GLSL实现对光照的模拟(一)
OpenGL1.1是很老的OpenGL标准了,即使这样,对于光照也是提供了很好的支持。OpenGL默认的光照着色模型是高洛德(Gouraud)着色模型,虽然着色的精度上不是很好,但却非常好理解,对于该光照模型的例子也非常多,在《OpenGL ES 2.0 Programming Guide》中使用OpenGLES2.0实现了OpenGL1.1的高洛德着色模型。互联网上搜索GLSL+光照,相应的文章也是非常的多。有些直接成了我参考的蓝本。不管怎么样,花了大概一周的时间在以前的基础上使用Qt + OpenGL(原创 2014-04-12 09:27:25 · 4750 阅读 · 2 评论