zoukankan      html  css  js  c++  java
  • 三维观察流水线的理解

      在计算机图形学中,渲染图形的过程可以分为两大类:第一步是T&L过程全称是Transforming and Lighting,即顶点的坐标变换和光照过程,通常称为顶点变换流水线;第二步就是光栅化,对于光栅化就是按照图形顶点信息设置对应的像素的颜色,然后呈现在屏幕上。下面我们以DirectX3D中的T&L过程为例,说明具体的过程。DirectX3D中图形的顶点的坐标系是三维坐标系,而计算机的屏幕则是一个二维的平面,我们要将三维坐标系中的顶点渲染到二维的电脑平面上,就需要对顶点进行处理。使其投射到二维坐标系中,这个过程就是顶点的坐标变换。
      T&L的顶点的变换过程分为以下五步:

    1 世界变换

      物体在三维空间中的运动以及形变的过程叫做世界变换。其中物体所在的三维空间为世界空间,物体的坐标系为世界坐标系。世界变换主要包括移动、旋转、缩放等。

    2 观察变换

      物体由世界坐标系转换到观察坐标系的过程叫做观察变换。这其实就像用摄像机摄影一样,摄影机所在位置就是观察点,摄像机的朝向就是观察方向。以观察点为坐标原点,以观察方向为坐标轴的坐标系就是观察坐标系。

    3 投影变换

      将三维空间中的顶点投影到二维平面的过程叫做投影变换。这个过程可以看做,顶点经过观察变换后,将三维坐标投影到摄像机的胶片上,以胶片的中心为坐标原点的坐标系为投影坐标系。

    4 规范化变换与裁剪

    这里写图片描述

    这里写图片描述

    5 视区变换

      将浮点坐标转换为像素坐标的过程叫做视区变换。最终的坐标与定义的视区的长宽比例以及长宽大小有关。不过DirectX3D的图形渲染也没有必要必须需要经过T&L处理,像在之前的章节中,我们绘制的图形使用的顶点,在定义时被定义为经过变换的顶点,即直接将顶点的坐标作为屏幕坐标绘制出来,并没有进行T&L处理,但如果想得到绚丽的效果,T&L处理还是必须的。

  • 相关阅读:
    网线帘幕动画
    图片缩放/旋转/平移/设置分辨率
    贝塞尔样条
    线性梯度画刷
    画七彩五角星
    kafka安装
    在windows远程提交任务给Hadoop集群(Hadoop 2.6)
    把Spark SQL的metadata存储到mysql
    使用IDEA开发SPARK提交remote cluster执行
    Netty的Channel
  • 原文地址:https://www.cnblogs.com/zhiyinglky/p/5805318.html
Copyright © 2011-2022 走看看