• 计算机图形学-图形系统


    图片由图片元素(像素 pixel)的阵列(光栅 raster)生成。一个像素对应图像中的一个位置或一块小的区域。

    目前几乎所有计算机图形系统都基于光栅。

    帧缓存 frame buffer:用于保存像素的一个储存区域,可以看做是图形系统的核心元素。一般使用特殊类型的存储器芯片(可以快速重新显示帧缓存中的内容)实现。在基于软件的图形系统(如:用于高分辨率绘制的系统、生成复杂不能实时生成视觉效果的系统)中,帧缓存是系统存储器的一部分。

    分辨率 resolution:帧缓存中像素的数目,决定从图像中可以分辨多少细节。

    帧缓存的深度depth精度precision:表示每个像素所用的bit数,决定诸如给定系统中可以表示多少种颜色之类的性质。

    exp:深度为1bit的帧缓存允许有两种颜色,深度为8bit的帧缓存可以表示28=256种颜色。

    全彩色系统 Full color:每个像素有24个bit(或更多)。可以表示足够多的颜色从而逼真显示绝大多数图像,也被成为真彩色系统 true color RGB颜色系统 RGB-color

    每个像素对应的三组bit位分配给三原色。

    高动态范围的应用需要使用超过24bits的定点数来表示RGB颜色,近来有些帧缓存将RGB值存储为标准IEEE格式浮点数。

    故真彩色应该解释为:具有足够深度的帧缓存,用RGB值而不是一个有限的颜色集索引来表示颜色。

    处理器要完成的主要图形处理功能:获取由应用程序生成的图元属性、为帧缓存中的像素赋值、以最佳方式表示图元。

    光栅化rasterizaion扫描转换scan conversion:从几何实体到帧缓存中像素的颜色和位置。

    GPU graphics processing unit图形处理单元:专门用来完成图形处理功能,可以在系统的主板或者图形卡中。帧缓存可以被GPU访问,而且可能就在GPU中。

    光栅系统中两种把帧缓存中像素显示为屏幕上的点的方式:

    1. 逐行扫描 progressive非隔行扫描 noninterlaced

      像素按照刷新率一条一条扫描线显示

    1. 隔行扫描 interlaced

      奇数行和偶数行被交替刷新。

    成像过程中必须有的两个基本实体:对象和观察者。

    对象在空间中的存在不依赖于任何图像生成过程和任何观察者。

    对象和观察者处在一个三维世界,由观察者所定义的图像是二维的,对对象的指定与对观察者的指定组合在一起获得一副二维图像。

    光线和对象表面相互作用的细节决定了有多少光线进入照相机。

    几何光学geometric optics把光源建模为具有固定强度的光能辐射器。光线从光源出发沿直线到达与其相互作用的对象。一个理想的点光源point source从一个点向所有方向均匀地发射光线(可以是单一频率或包含多个频率)。

    一个特定光源由其发出光线的能量依频率和方向的分布来表征。

    如果API要遵从虚拟照相机模型,需要有相应的函数来确定4个要素:

    1. 对象
    2. 观察者
    3. 光源
    4. 材质属性

    确定照相机位置必须指定4个要素:

    1. 位置。照相机的位置由投影中心COP给出。
    2. 方向。以投影中心为原点设置一个照相机坐标系,可以分别绕坐标系的三个坐标轴旋转照相机。
    3. 焦距。决定了在胶片平面上成像的尺寸。
    4. 胶片平面。照相机的后部有一定的高度和宽度,胶片平面方向与透镜方向无关,可独立调节。

    gluLookat(cop_x, cop_y, cop_z, at_x, at_y, at_z, up_x, up_y, up_z);

    使照相机从投影中心指向所期望的位置(at)并且制定照相机的观察正向为up。

    glPerspective(field_of_view, aspect_ratio, near, far);

    为透视投影选择了透镜(视域),确定了场景中那一部分要被成像(宽高比与near和far距离)。

    图形绘制流水线 顶点→像素

    1. 顶点处理模块:执行坐标变换和计算顶点的颜色值
    2. 裁剪和图元组装模块: 对成像场景进行裁剪。(裁剪必须针对逐个图元,不能针对逐个顶点)
    3. 光栅化模块:将裁剪模块得到的用顶点表示的图元输出一组片元fragment。
    4. 片元处理模块:利用光栅化模块生成的片元来更新帧缓存中的像素。
  • 相关阅读:
    va_start/va_arg/va_end原理与使用
    一民工在火车上的遭遇(笑过后全是泪水)
    Introduce to ArcSDE
    浅谈优化空间数据库的几种方案
    ArcSDE安装全攻略(来源:GIS空间站 作者:陈元琳)
    arcsde sqlserver数据库的移植
    arcims开发经验总结(4) (arcIMS 客户端 连接器的选择)
    ArcSDE 8.1中空间数据的备份与恢复
    安装ArcSDE9 For Sqlserver的过程
    arcims开发经验总结(3) (杂谈1)
  • 原文地址:https://www.cnblogs.com/RDaneelOlivaw/p/6690562.html
Copyright © 2020-2023  润新知