美文网首页
计算机图形学里的数学

计算机图形学里的数学

作者: xiaoxingyun | 来源:发表于2016-11-05 15:10 被阅读370次

图形管道

渲染一幅带有基本光照的的单个图像,图像管道中数据流的概况大致如下:

  • 建立场景:开始渲染之前,需要预先设定对整个场景有效的一些选项。比如,要建立摄像机位置(要选择进行渲染的出发点-视点,渲染的输出-视图)。
  • 可见性检测:选好了摄像机,就要决定场景中哪些物体是可见的。可见性检测对实时渲染极为重要,因为我们不需要花时间去渲染那些我们看不到的东西。
  • 设置物体级的渲染状态:如果有些物体是潜在可见,就要把它实际绘制出来。每个物体的渲染设置可能是不同的,在渲染该物体的任何片源之前,首先要设置上述选项,比如纹理映射。
  • 几何体的生成与提交:向API提交几何体,通常提交的数据是种种形式的三角形,可能会应用LOD,或者渐进式生成几何体。
  • 变换与光照
  • 背面剔除与裁剪:那些背对摄像机的三角形被去除(背面剔除),三角形在视锥外的部分也被剔除(裁剪)。
  • 投影到屏幕空间:在3D裁剪空间中产生的多边形,被投影到输出窗口的2D屏幕空间里。
  • 光栅化:当把裁剪过后的多边形转换到屏幕空间后,就到了光栅化阶段。光栅化是指计算应绘制三角形上哪些像素的过程,并为接下来的像素着色阶段提供合理的插值参数(如光照和纹理映射坐标)。
  • 像素着色:最后,在管道的最后阶段,计算三角形的色彩,接着把这些颜色写至屏幕,这时可能需要alpha混合与z-缓冲。

坐标空间

  • 摄像机空间:通过视变换,顶点从世界空间变换到摄像机空间,使用的坐标系一般为左手坐标系。
  • 裁剪空间:从摄像机空间,定点又被变换到裁剪空间,又称标准视体空间,该空间对应的矩阵成为裁剪矩阵。裁剪矩阵将有用信息放入向量的w值中,主要用处有:为透视投影准备向量,由除以w来实现;规范化x,y,z,使它们可与w比较。
    为透视投影做准备:4D齐次向量中由除以w而得到对应的3D向量,裁剪矩阵通过正确计算w的值,以得到正确的投影。设要投影到垂直于z轴且距离原点为d的平面。投影平面在视锥内的矩形部分将映射到屏幕,如果改变d。投影平面将前后移动,在一个真正的摄像机中,这样变化焦距将产生放大、缩小的效果。但对计算机内的投影平面不会如此,在真的摄像机中,增大焦距使像变大了,而底片位置不变,所以物体变大。在计算机中,增大焦距,像也会变大,但是“底片”(投影平面在视锥内的部分)也变大了,因为他们变化的比例一致,所以渲染出的图像不变。因此,在计算机图形学中,缩放完全由视锥的形状控制,d的值并不重要。所以假设d=1。
裁剪矩阵.PNG
  • 屏幕空间:一旦视锥完成了几何体裁剪,即可向屏幕空间投影,从而对应于真正的屏幕像素。因为屏幕空间是2D的,所以要进行一次3D到2D的映射以得到正确的2D坐标。
    2D-3D.PNG
输出窗口.PNG

光照与雾化

  • 标准光照方程
    颜色值=镜面反射分量+散射分量+环境分量
    其中的颜色值是打开光照情况下计算的,与关闭光照情况下计算的结果不同计算机图形学中的“光照”是指取关闭光照情况下的纹理颜色值进行计算,一般情况下得到的结果比原纹理颜色暗。
    镜面反射分量是指由光源直接经物体表面反射入眼睛的光线。
    漫反射分量反应的是散开的随机方向上的反射,由物体的粗糙程度决定。
    环境光分量取决于材质和全局环境光。好比在现实世界中,光线经常在经历多于一次的反射后进入眼睛,如在黑暗的房间打开冰箱,整个房间都会变得亮一些。

相关文章

  • OpenGL:三维数学基础坐标系、向量、矩阵

    一、计算机图形学 计算机图形学(Computer Graphics)是一种使用数学算法将二维或三维图形转化为计算机...

  • 计算机图形学里的数学

    图形管道 渲染一幅带有基本光照的的单个图像,图像管道中数据流的概况大致如下: 建立场景:开始渲染之前,需要预先设定...

  • 计算机图形学基础重点

    计算机图形学基础重点 计算机图形学的定义:  计算机图形学(CG)是研究怎样利用计算机来显示、生成和处理图形的原理...

  • 计算机图形学——001概论

    001.概论 内容:计算机图形学的概念、发展历程和应用 001.1 计算机图形学的研究内容 什么是计算机图形学(C...

  • 计算机图形学

    计算机图形学

    介绍 计算机图形学(Computer Graphics,...

  • 《计算机图形学》.pdf

    【下载地址】 《计算机图形学》与大多数传统的计算机图形学教材不同,它仅简要介绍交互式计算机图形学方面的基本知识,主...

  • CG006读《什么是计算机图形学》

    一 什么是计算机图形学 计算机图形学(computer Graphics) 是研究计算机世界中图形的学问。 二 计...

  • webgl 1.开始

    是先学习计算机图形学还是先学习 OpenGL ?我建议先熟悉 OpenGL, 大体了解图形学编程。计算机图形学偏底...

  • 2022-05-22 计算机图形学学习笔记

    lecture 01:overview 计算机图形学≠计算机视觉,视觉需要猜测,图形学需要模拟 lecture 0...

  • 自学OpenGL(九)-数学基础

    自学OpenGL(九)-数学基础 前言 计算机图形学中大量使用了数学原理,尤其是矩阵和矩阵代数。虽然我们倾向于认为...

网友评论

      本文标题:计算机图形学里的数学

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