zoukankan      html  css  js  c++  java
  • 光栅化规则(Rasterization Rules)

    光栅化规则不是唯一的,只要能满足在扫描线填充过程中,对于一条分割线两边的像素能够被不重复不遗漏地填充即可。

    在gdi3d中目前使用的是下面光栅化规则:

    xLeft_int=ceil(xLeft-0.5)
    xRight_int=ceil(xRight-1.5)
    yTop_int=ceil(yTop-1.5)
    yBottom_int=ceil(yBottom-0.5)

    下面验证上面规则是满足不重复不遗漏的,如图:

    先验证纵向上不重复不遗漏:

    (1),假设上面三角形的yBottom=0.5,则下面与之共边的三角形的yTop=0.5,则

    yBottom_int=ceil(yBottom-0.5)=ceil(0.5-0.5)=0

    yTop_int=ceil(yTop-1.5)=ceil(0.5-1.5)=-1

    即上面三角形填充第0行,下面三角形填充第-1行。两行正好相邻,不重复不遗漏。

    (2),假设上面三角形的yBottom=0.4,则下面与之共边的三角形的yTop=0.4,则

    yBottom_int=ceil(yBottom-0.5)=ceil(0.4-0.5)=0

    yTop_int=ceil(yTop-1.5)=ceil(0.4-1.5)=-1

    即上面三角形填充第0行,下面三角形填充第-1行。两行正好相邻,不重复不遗漏。

    (3),假设上面三角形的yBottom=0.6,则下面与之共边的三角形的yTop=0.6,则

    yBottom_int=ceil(yBottom-0.5)=ceil(0.6-0.5)=1

    yTop_int=ceil(yTop-1.5)=ceil(0.6-1.5)=0

    即上面三角形填充第1行,下面三角形填充第0行。两行正好相邻,不重复不遗漏。

    同理可验证横向上也是不重复不遗漏的。

    ----

    参考:https://msdn.microsoft.com/en-us/library/windows/desktop/cc627092(v=vs.85).aspx

  • 相关阅读:
    认识与设计Serverless(二)
    认识与设计Serverless(一)
    log4j2动态修改日志级别及拓展性使用
    log4j2高级配置(1)
    log4j2介绍及配置
    Java 并发编程篇
    JAVA多线程之volatile 与 synchronized 的比较
    springboot分布式锁学习
    springboot2连接多数据库mysql+oracle
    Mysql的分页查询优化
  • 原文地址:https://www.cnblogs.com/wantnon/p/4894597.html
Copyright © 2011-2022 走看看