博客专栏  >  编程语言   >  OpenGL学习

OpenGL学习

OpenGL学习系列的主要内容是在Qt5.6.x上学习OpenGL,不仅编程示例,同时学习理论知识。为了避免Visual Studio有点麻烦的环境配置,使用qmake创建项目文件,只需下载源代码就能跨平台运行。

关注
4 已关注
18篇博文
  • s7.GLSL学习之纹理映射(多个纹理)

    多个纹理   前一篇是一个简单的纹理应用,在片元着色器中没有为采样器设置值,这是因为只使用一个纹理。实际上,OpenGL同时支持多个纹理, 比如支持每个着色器阶段至少16个纹理,再乘以OpenGL支...

    2018-03-18 20:36
    67
  • s6.GLSL学习之纹理映射(三角形)

    纹理   通常来讲,计算机图像学的目标是决定组成图像的每个 部分的颜色。用高级着色算法计算像素的颜色是可能的,但这样的着色器的复杂度是很大的,以至于实现这样的方法是不实际的。因此,可以依赖纹理——大...

    2018-03-11 20:16
    92
  • s5.GLSL学习之坐标系统变换

    之前在OpenGL学习之三维观察中,介绍过视图变换。不过,《OpenGL编程指南(原书第8版)》这本书第五章用相机拍摄来类比 视图变换操作比较形象,这里就做个笔记。 相机模型    常见的视...

    2018-03-11 21:15
    88
  • s4.GLSL学习之图元类型

    图元类型    OpenGL的主要作用就是讲图形渲染到帧缓冲当中。为了实现这一要求,需要将复杂的物体分解成图元的形式(包括点、线、以及三角形),当它们的分布密度足够高时,就可以表达为2D以及3D物体...

    2018-03-11 21:52
    69
  • s3.GLSL学习之着色器基础

    着色器   着色器程序看起来确实和C语言非常类似,它们从入口点main函数开始,并且使用同样的字符集和注释约定,以及很多相同的处理指令。着色器是运行在GPU上的小程序。这些小程序为图形渲染管线的一个...

    2018-02-20 18:50
    108
  • s0.GLSL学习之初识OpenGL着色语言

    OpenGL渲染流水线 1、固定功能渲染流水线   以前OpenGL对程序员提出的各种绘制图元或者属性的请求都采用固定的方式来处理。这种实现方式称为固定功能渲染流水线(fixed-functi...

    2018-02-04 22:36
    110
  • s2.GLSL学习之绘制三角形

    主要内容   本文主要内容:实现《OpenGL编程指南(原书第8版)》第一章中渲染两个蓝色三角形示例。通过该示例,介绍GLSL编程的一般步骤。为了便于学习,没有新建用来保存着色器代码的文件trian...

    2018-02-04 21:54
    366
  • s1.GLSL学习之建立窗口

    QOpenGLWidget   依旧从最简单的建立窗口开始。从Qt5.4开始,Qt推荐使用QOpenGLWidget,它将替代我们之前使用的QGLWidget。和QGLWidget一样,QOpenG...

    2018-02-03 20:10
    142
  • 9.OpenGL学习之光照模型

    光照模型   如果我们希望渲染出的物体像是处于有若干光源照明的场景中。根据物体表面性质和光源的位置,每个物体不同的部分反射光的多少也不同。光照模型(lighting model)就是试图描述光源发出...

    2018-01-20 11:45
    234
  • 7.OpenGL学习之三维观察

    三维观察 如果对比纹理映射和以前的代码,发现多了调用gluLookAt方法语句,如下图所示。 如果没有这条语句,窗口里什么都没有。这其中涉及到三维观察或者变换管线,而三维观察的设置在OpenG...

    2018-01-14 12:59
    975
  • 6.OpenGL学习之多个纹理映射

    纹理基础   在纹理之间进行切换或者重新加载不同的纹理图像可能会是开销非常大的操作。纹理对象允许我们一次加载一个以上的纹理 状态(包括纹理图像),以及在它们之间进行快速切换。纹理状态是由当前绑定的纹...

    2018-01-06 11:47
    165
  • 8.OpenGL学习之颜色混合

    颜色混合   通常情况下OpenGL渲染时会把颜色值放在颜色缓冲区中。每个片段的深度值也是放在深度缓冲区中的。当深度测试被关闭(禁用)时,新的颜色值简单得覆盖颜色缓冲区中已经存在的其他值。当深度测试...

    2018-01-07 15:40
    127
  • 1.OpenGL学习之建立窗口

    使用OpenGL绘图  OpenGL是绘制三维图形的标准API。从Qt5开始,OpenGL不再是单独模块,而作为Qt GUI核心的一部分。OpenGL本身只提供平台无关的画图功能,而不包含特定平台的窗...

    2017-12-04 14:49
    210
  • 2.OpenGL学习之基本图元

    基本图元  在OpenGL中,基本图形元素如点、线、折线和多边形都是由一个或多个顶点所定义。这些顶点必须处于glBegin()和glEnd()函数之间。glBegin()的参数确定要画的对象,指示Op...

    2017-12-04 15:13
    374
  • 3.OpenGL学习之图元属性

    OpenGL状态变量  属性值和其他参数设置由定义当前OpenGL状态的独立函数指定。OpenGL中的状态变量由颜色和其他图元属性、当前矩阵模式、模型观察矩阵的元素、缓存当前位置和场景光照效果参数等。...

    2017-12-04 17:59
    223
  • 4.OpenGL学习之几何变换

    几何变换  应用于对象几何描述并改变它的位置、方向或大小的操作成为几何变换(geometric transformation)。一个三维位置在齐次坐标中表示为四元列向量。因此,每一次几何变换操作表示成...

    2017-12-05 09:32
    197
  • 5.OpenGL学习之纹理映射

    纹理映射  一个常用的添加表面细节的方法是将纹理模式映射到对象表面上。纹理模式可以由一个矩形数组进行定义,也可以用一个修改对象表面光强度值的过程来定义,这个方法 称为纹理映射,而纹理可以定义成一维、二...

    2017-12-17 11:57
    168
  • OpenGL学习系列导航

    简介   OpenGL学习系列是《计算机图形学(第四版)》、《OpenGL编程指南(原书第8版)》、《C++ GUI Qt4编程(第二版)》以及网络资源的学习笔记。主要内容是在Qt5.6.x上学习O...

    2017-12-17 11:42
    184

Spring Boot入门
25176357
VTK
3940158
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部