美文网首页
初探计算机图形编程技术之概述

初探计算机图形编程技术之概述

作者: huxinwen | 来源:发表于2019-09-16 10:07 被阅读0次

最近听了北京林业大学杨刚教授的网络课程图形编程技术,将听课的有关内容作下整理,以便日后的复习。

计算机图形学概述

计算机图形学(Computer Graphics),简称CG。可以用以下三点概述:

  1. 计算机图形学是一门研究如何利用计算机进行图形的计算、处理和显示的学科。
  2. 是一种使用数学算法将二维或三维图形转化为计算机显示器所能显示的二维栅格形式的科学。
  3. 他所研究的内容: 计算机图形研究的内容.png

Graphics Pipeline (图形流水线)

概念:

在计算机中将3D模型转化为屏幕上的 图像需要经过一系列的处理步骤,这个处理步骤 就是图形流水线。

背景:

1992年,SGI 发布OpenGL1.0,图形流水线逐渐 形成业界标准。

1994年出现PC显卡,1999年出现GPU,图形流水 线逐渐硬化到了PC机专用的图形硬件上来实现。 image.png 从2002年开始Vertex operations(顶点着色器)和Fragment operations(片元着色器)为可编程模块。可以在Vertex shader中编程控制各个顶点的各种属性,在Fragment shader中编程控制各个片元、像素的各种属性。 新增Geometry shader(几何着色器).png Geometry shader of GPU

简单讲Geometry shader(几何着色器)就是可以添加很多不存在的顶点,从而可以处理出更多意想不到的细节,使得更逼真。

OpenGL(Open Graphics Library)编程库简介

调用图形硬件的程序接口,大约由150个函数组成,用户可以调用来完成各种绘图。 程序接口.png

OpenGL是状态机

  1. 整个绘制操作会按照固定的流程进行,如同流水线。
  2. OpenGL函数只是用来设置这条流水线的一系列状态参数, 而并不是用来真正执行绘制操作的。

OpenGL可以干什么:

• 变换 (几何变化, 投影, 视口变换)
• 光照与材质
• 纹理映射
• 图像功能 (anti-aliasing(反混淆), fog, blending(混合)...)
• 特效 (Depth Cue(深度暗示), Motion Blur(运动模糊)...)
• 建模 (basic primitives、NURBS)
• ......

• 注意:OpenGL不是用来建模的,而是用来渲染的。 OpenGL可以干的事.png

PS:2006又增加了Geometry shader可编程。

OpenGL包含的相关库:

OpenGL相关库.png 但是,仅仅有这些是不行的 辅助编程库.png

我想这样设计就是为了跨平台。
这节就整理到这,后续更新。。。

相关文章

网友评论

      本文标题:初探计算机图形编程技术之概述

      本文链接:https://www.haomeiwen.com/subject/gvfhyctx.html