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


    第三章 光栅化操作

    1.该操作为由顶点程序处理顶点进入硬件处理阶段。
    2.光栅器:将顶点组装成图元 eg,三角形将其光栅化为片元集合。
    3.光栅化操作包含子过程:剪裁操作,透视除法,背面剔除操作,视口转换,扫描转换。

    3.1 剪裁操作

    1.由硬件进行剪裁操作,主要是针对立方体视见体执行多边形剪裁操作。

    3.2 透视除法

    1.视椎体转换方法当中的一种。
    2.将视锥体转换为2x2x1的立方体。
    3.转换后的x和y的范围为(-1,1),转换后的z的范围为(-1,0)。
    4.透视除法与投影矩阵转换的区别:<1>从齐次空间至笛卡尔空间的转换(由三维坐标升维为四维坐标时),转换后顶点的w坐标为-z,且无需为1. <2>各个顶点还需要除以自身的w坐标,w的值为-z,且为正值。——>确保z坐标位于(0,1)。
    5.经过w除法操作后,较远处的对象通常比较小,产生透视投影或者透视收缩的效果。

    3.3背面剔除操作、

    1.剔除操作是指消除相机对象不可见的场景内容。
    2.视椎体剔除操作消除部分不在视线中的场景内容,却不完整,还需进行背面剔除操作,以消除背向相机视点的相关多边形。【背向相机的多边形为背面】
    3.判断一个三角形网格是否处于背面:该三角形的表面法线以及连接相机位置到当前三角形的法线c的点积。
    4.nc为负值,两者之间构成钝角,三角形位于正面,反之为与背面。(后补图)

    3.5 视口转换

    1.视口:为当前场景所投影的矩形区域。
    2.视口无需为全部屏幕,也可以为当前窗口的部分区域。
    3.通过角顶点(MINx,MINy),宽度w,高度h,以及深度范围【minz,maxz】定义屏幕空间视口。(后补图)
    4.剪裁空间到屏幕空间的转换矩阵:

    5.大多数程序中,视口占全部窗口,minx,miny=(0,0)minz=0,maxz=1.则转换矩阵可简化为:

    3.6扫描转换

    1.各个屏幕空间图元将被划分为一组图元,该过程定义了图元所覆盖的屏幕空间的像素位置,并插值计算各顶点的属性,进而定义各个像素位置处的片元属性,该过程通常称为扫描转换。
    2.线性插值计算:<1>边界线段 <2>水平扫描线【对R,G,B的值分别进行计算】
    3.通过重复增加斜率可获得下一条扫描线的R值和x.(后补图)

  • 相关阅读:
    动态调用WebService以及传递复杂对象
    2021.1112月 SQL、前端、Java文章学习及资源记录
    字符串导出word
    Dapper 返回存储过程值
    SQL2008 查询XML
    兼容各浏览器的iframe方法
    .net 后台任意设置 控件显示和隐藏就OK
    List 增删该查
    iis 7上发布mvc报错:403.14Forbidden Web 服务器被配置为不列出此目录的内容
    kafka使用入门api2
  • 原文地址:https://www.cnblogs.com/katy0308/p/11556945.html
Copyright © 2020-2023  润新知