• 基于3d计算机图形学理论(二)


    第二章 顶点处理机制

    1.管线:数据序列并用于处理元素。
    2.渲染管线的过程包括:顶点处理过程——>光栅化过程——>片元处理过程——>输出合并操作(其中可编程状态包括:顶点和片元,称为顶点程序和片元程序)
    3.光栅化过程和输出合并操作依赖于硬件。
    4.在顶点处理阶段,对象空间模型将贯穿多个空间,直至到达剪裁空间。
    5.对象空间——(世界转换)——>世界空间——(视见转换)——>相机空间——(投影转换)——>剪裁空间

    2.1 世界转换

    1.世界转换和视见转换取决于各种基本转换:缩放转换、旋转转换、平移转换
    2.缩放转换:三维缩放操作可用3x3矩阵描述:

    3.sx,sy,sz表示沿主轴方向上的缩放系数 (系数都相等则称为均匀缩放)
    4.旋转操作(2d):需要得知旋角【a,b表示旋转后坐标,x,y表示旋转前】:

    5.旋转操作(3d):对应坐标为三维,且需确定旋转轴,不同旋转轴对应的变换矩阵不同:



    6.平移转化:矩阵的加法,加上偏移量:

    7.齐次坐标:给定某一顶点的3d笛卡尔坐标(x,y,z),则可简单的将(x,y,z,1)视为齐次坐标
    8.对应的四维变换矩阵:

    9.齐次坐标(x,y,z,w)对应于笛卡尔坐标(x/w,y/w,z/w). w项可用于分辨向量和顶点数据,如果w=0,表示向量,否则为顶点。

    2.1.2 世界矩阵

    1.建模完毕后,对象隶属于自身对象空间嗲与其他对象空间不存在任何关联,渲染管线首要将定义于自身空间内的模型整合至单一空间内,即世界空间。
    2.“世界”可视为针对全部游戏环境的坐标系统
    3.“世界矩阵”:将对应操作的矩阵相乘。利用世界矩阵与原坐标相乘可得到白能换后在世界的位置。

    2.1.3 欧拉转换

    1.定义:沿x,y,z轴进行连续转换(利用沿不同轴的矩阵相乘),转换角x1,x2,x3为欧拉角。

    2.1.4 表面法线的转换

    1.标准化操作:对顶点进行的系列变化操作。
    2.令M为多边形网格的转换矩阵,若M为某一旋转操作,平移操作,均匀缩放操作或者上述组合,则可用M对该对象进行表面法线转换【非均匀缩放则不可】
    3.转换公式:

    【T:转置,-1:逆】

  • 相关阅读:
    VS2010 C++环境下DLL和LIB文件目录及名称修改
    从点击Button到弹出一个MessageBox, 背后发生了什么
    Unicode化
    ANSI和UNICODE编程的注意事项
    SQL的主键和外键约束
    关于_WIN32_WINNT的含义
    清理Visual Studio中VC++工程里不需要的文件
    Windows应用程序的VC链接器设置
    #define WIN32_LEAN_AND_MEAN 的作用
    c++中char*wchar_t*stringwstring之间的相互转换
  • 原文地址:https://www.cnblogs.com/katy0308/p/11537781.html
Copyright © 2020-2023  润新知