Keshawn_lu's Blog

图形学知识点

字数统计: 1.5k阅读时长: 5 min
2020/06/25 Share

第一讲:

  1. 计算机图形学中的三大基础内容

    建模、动画、绘制

第二讲:

  1. 什么是图形应用系统?它们有哪些共同构成?

    • 输入设备:接收用户输入
    • 输出设备:呈现内容
    • 计算/处理设备:接收输入并计算以输出
  2. 图形学中的计算/处理设备主要有?

    CPU、GPU

  3. 图形平台的两类模式是?各自特点?

    1. 立即模式

      • OpenGL, Direct3D等早期固定管线

      • 场景数据由应用提供和维护

      • 独立于图形硬件的接口

      • 高性能

    2. 保留模式

      • WPF
      • OpenGL等现代基于着色器(Shader)的可编程管线
      • 更高层次的抽象
      • 场景数据维护
      • 易于复杂设计实现
      • 性能损失
  4. OpenGL 是什么?它有哪些特点?

    OpenGL是一个专业的、功能强大的3D图形接口。通过使用OpenGL,用户可以方便、高效地绘制出多种3D图形视觉效果,如光照、纹理、半透明、阴影和材质等。其特点有:

    • 工业标准
    • 跨平台性
    • 易用性
    • 出色的编程特性
    • 详细的文档。
  5. 什么是图形管线?

    相互连接的一系列数据处理单元,前一单元的输出将作为后 一单元的输入

  6. . OpenGL 固定管线有哪些特点?

    管线中的功能模块可以通过参数进行配置,各功能模块中的算法固定

  7. OpenGL 固定管线程序结构?

    • 初始化管线
    • 指定显示窗口/视图(大小、位置)
    • 设置照相机
    • 设置光源
    • 加载模型数据(几何数据、纹理数据…)
    • 设置事件响应函数
    • 开始事件循环
  8. OpenGL 基本绘制图元有哪些?

    点、线、三角形、多边形

第三讲:

  1. 向量在图形学中有哪些主要应用?

    表示方向、偏移、空间位置

  2. 内积(点积) $x·y = x{1}y{1}+x{2}y{2}+x{3}y{3}$(代数定义),$x·y = ||x|| ||y|| cos(a)$(几何定义),结果为标量

  3. 叉积,结果为新向量

  4. 二维变换:平移、旋转、缩放矩阵

  5. 二维形状的三角化

第四讲:

  1. 了解人视觉系统的基本构成

    • 眼睛: 信号接收
    • 视神经:信号传递
    • 视觉皮层:信号处理
  2. 颜色感知基本过程

    • 入射光光谱
    • 眼睛接收
    • 视网膜/视神经计算三色响应值
    • 大脑感知颜色
  3. RGB 颜色模型:定义及其特点

    通过组合红、绿、蓝三元色得到不同颜色,在显示器、电视机以及相机等设备中广泛使用。所能表示的颜色有一定范围,不适合描述主观感知。

  4. 了解颜色空间的基本定义及其特点

    定义一个X, Y, Z坐标系,每一颜色对应三维空间内的一个 点,该三维空间称为颜色空间。

    CIE-XYZ颜色空间: 使用“虚拟/想象”的三原色,无法生产对应的实际光源以再现所有可见光,对图像的编码和计算将变得低效且不实用。

  5. 二维图像表示

  6. 掌握二维图像的基本操作:线性滤波的定义、计算方法及其应用范围

    计算函数是对像素的加权和

第五讲:

  1. 掌握纹理映射的基本概念

    • 纹理映射只是改变表面外观而不改变其几何
    • 纹理映射使用图像建模表面外观
  2. 纹理图有哪几种类型?

    • 二维图像(外部图像)
    • 过程式纹理(代码生成)
  3. 纹理映射中的两大关键问题是?

    • 纹理坐标函数的设计
    • 反走样
  4. 了解纹理坐标函数的定义及其功能

    • 保障高质量纹理映射效果的关键
    • 对于一些表面,如平面或参数曲面,容易定义
    • 对于复杂表面,通常并不容易得到,需要仔细设计
  5. 纹理空间

    一般为包含纹理图像的矩形区域, 通常表示为单位正方形

  6. 纹理坐标有哪几种计算方式?

    • 几何计算方式(表面空间点)
    • 顶点插值方式(三角形网格,顶点插值)
  7. 什么是走样问题?纹理映射中的走样问题主要有那两类?

    • 图像空间中的一个像素对应纹理空间中的多个像素
    • 图像空间中的多个像素对应纹理空间中的一个像素
  8. Mipmap

  9. OpenGL中纹理映射主要步骤

    读取纹理图像 • 申请纹理资源 • 绑定纹理资源 • 传入纹理图像 • 设置纹理参数 • 指定纹理坐标 • 设置纹理环境

第六讲:

  1. 掌握一次、二次、三次 Bezier 曲线的构造方法及其数学特性

  2. 了解如何在 OpenGL 中绘制 Bezier 曲线

第七讲:

  1. 了解 OpenGL 中绘制 B 样条曲线的过程

    13:节点数

    knots:节点数组

    3:stride大小,跨越几个点

    controlPoints:控制顶点数组

    4:B-Spline阶数

第八讲:

  1. 掌握三维模型变换:旋转、平移以及缩放的矩阵形式及其推导过程

  2. 视点变换函数gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ,upX, upY, upZ)

    第一组eyex, eyey, eyez 相机在世界坐标的位置
    第二组centerx, centery, centerz 相机镜头对准的物体在世界坐标的位置
    第三组upx, upy, upz相机向上的方向在世界坐标中的方向
    你把相机想象成为你自己的脑袋:
    第一组数据就是脑袋的位置
    第二组数据就是眼睛看的物体的位置
    第三组就是头顶朝向的方向(因为你可以歪着头看同一个物体)。

  3. 三维投影变换

  4. 视口变换:

第九讲:

第十讲:

  1. Phong光照模型

  2. OpenGL中的光照计算

  3. 漫反射

第十一讲:

  1. 光线跟踪算法

  2. 辐射度算法

  3. 全局光照明:

CATALOG
  1. 1. 第一讲:
  2. 2. 第二讲:
  3. 3. 第三讲:
  4. 4. 第四讲:
  5. 5. 第五讲:
  6. 6. 第六讲:
  7. 7. 第七讲:
  8. 8. 第八讲:
  9. 9. 第九讲:
  10. 10. 第十讲:
  11. 11. 第十一讲: