关于矩阵在光栅化中的使用,以及空间的解释

4*4矩阵,局部空间,世界空间,摄像机空间,NDC空间,光栅空间;
矩阵的逆矩阵

概要:

  • 主要过程 将3D空间的点映射在平面上,并得出二维空间点

  • 4*4 矩阵的可以看做是一组空间坐标系
    ( x1, x2 ,x3 , 0);
    ( y1, y2, y3, 0);
    ( z1, z2, z3, 0);
    (Xoffset, Yoffset, Zoffset,0);
    ---看成,坐标轴从单位矩阵代表的坐标轴移到到的位置
    ---例如单位矩阵没有移动

  • 将局部空间的点转化为世界空间,相当于将物体的局部空间点移到世界空间的原点,然后利用4维矩阵代表的移动来便宜局部空间,--所以局部空间移动到世界空间,就是局部的坐标系在世界空间的位置组成的矩阵 * 局部空间坐标(向量)
    *同样,我们可以把相机空间转换到世界空间,意义和局部与世界空间的转换一致,但是,我们希望世界空间的物体用相机空间表示,所以转换矩阵为
    Matrix(CameraToWord).inverse * 世界空间

  • 如何将3d坐标转换为2D坐标 (Camera ->NDC空间)
    1.固定z坐标(-1), x = x坐标 / -z坐标 y = y坐标 / -z坐标(相似三角形性质)
    2.画布为canvasWidth,canvasWidth,所以有些部分显示不出

        |x| > width / 2 || |y| height / 2 不显示
    
  • 这时候已经将空间从照相机空间转化为NDC空间,如何转化光栅空间
     1.归一化
    (x + width/2)/width
    (y + height /2 ) / height
    2.光栅坐标系
    x = 归一x *width
    y= (1-归一y)height

关于矩阵在光栅化中的使用,以及空间的解释_第1张图片
Paste_Image.png

but
在NDC空间中,画布上的点的x和y坐标包含在[0,1]的范围内。在GPU世界中,NDC空间中的坐标包含在[-1,1]范围内.

你可能感兴趣的:(关于矩阵在光栅化中的使用,以及空间的解释)