OpenGL基础入门及准备

一、计算机图像学相关概念

1.1 计算机图形学,是一种使用数学算法将二维或三维图形转化为计算机显示器所能显示的二维栅格形式的科学。

1.2 屏幕像素组成的网格即称为栅格。

1.3 计算机图形学研究

  • Modeling:构造场景的三维模型,建模;
  • Rendering:将三维场景渲染到屏幕上,根据三维模型,计算屏幕窗口中每个像素点的颜色,像素点颜色与光照、环境以及物体材质等因素有关,如下图中,展示的间接漫射光与焦散现象;
    • 间接漫射光与焦散现象;

在这里插入图片描述
在这里插入图片描述

  • Animation:动画
    • 关键帧技术;
    • 过程动画;
    • 基于物理的动画技术;
    • 关节动画;
    • Morphing和deformation(空间变形)技术;

1.4 Rendering

是一个3D model -> 2D images的过程,主要可以分为两大类方法。

  • 逐像素绘制,即光线投射或光线跟踪;
    在这里插入图片描述
  • 逐面片绘制:绘制速度较快,比较成熟,形成了固化在显卡里的图形流水线。
    在这里插入图片描述
    逐面片绘制的方式,把模型的每个面片进行投影、光栅化(Rasterization)。
    • 投影:三维变换到二维;
    • 光栅化:计算面片所覆盖的栅格。

1.5 Graphics Pipeline(图形流水线)

  • 在计算机中将3D模型转化为屏幕上的图像需要经过的一系列处理步骤,这个处理步骤就是图形流水线。
    在这里插入图片描述
    主要步骤可以简化为:
    在这里插入图片描述

1.6 本模块采用OpenGL作为基础图形库、freeglut作为辅助开发库、采用glew作为扩展功能库来进行开发。

  • OpenGL是一个图形硬件的程序接口。
    在这里插入图片描述
  • aux、glut、freeglut、glfw库
    • 提供了管理窗口的功能;
    • 加入了键盘、鼠标等交互接口;
    • 提供了右键菜单等交互功能;
    • 提供了一些“高级”建模函数,如glutSolidTeapot();

1.7 图形流水行是一个固定的处理步骤,OpenGL相关函数可以理解为对这个流水线进行参数设置。GPU在Vertex OperationsFragment Operations两个模块中具有可可编程功能。通过Vertex Shader 或Fragment Shader(Pixel Shader)编程来实现相关功能。

  • 可直接在Vertex Shader中编程控制顶点的各种属性;省去了在CPU中计算顶点的位置在传输到GPU中的耗时;通过Vertex Shader只需要传输一次,后面的计算顶点位置的计算都在GPU中进行,效率高;
    在这里插入图片描述

  • 可以直接在Fragment shader中编程控制片元、像素的各种属性;

  • 随之技术的发展,GPU中增加了一个Geometry shader模块,能能根据GPU中输入的源数据生成新的顶点和面片,可以在GPU中细化模型;

在这里插入图片描述

1.8 相关例子
在这里插入图片描述
1.9 shader编程
采用GLSL编程语言。

1.20 GPU高性能计算

  • 高性能计算;
  • 大计算量任务:医学、化学、生物、金融、科学计算、图像处理等领域;
  • 人工智能;
  • 区块链;
    上述大量计算都可以采用GPU来计算。

通用并行计算平台,使得不具备计算机图形基础得人可以采用GPU进行通用计算(GPGPU)。

  • CUDA
  • OpenCL

二、freeglut、glew环境配置

http://freeglut.sourceforge.net/
http://glew.sourceforge.net/

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秘境之眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值