t0.0计算机图形学介绍

计算机图形学

 

        计算机图形学(Computer Graphic, CG)是研究如何利用计算机算法来生成、处理和显示图形的一门学科,主要的算法包括:基于光栅扫描显示器的基本图形的扫描转换原理;基于齐次坐标的二维、三维变换矩阵的几何变换原理;基于像空间和物空间的三维实体动态消隐原理;基于颜色模型、光照模型和纹理映射技术的真实感图形显示原理。简单来说,计算机图形是计算机产生的图像。计算机图形学是利用计算机研究图形的表示、生成、处理和显示的一门重要的计算机学科分支。有广泛的应用领域,如3D游戏,动画电影等。电脑游戏是交互式图形表达的常见例子,阿凡达电影就是运用了计算机图形。学习计算机图形学,主要掌握两大内容:建模和渲染。

       计算机中重现真实世界的场景叫做真实感绘制。真实感绘制的主要任务是模拟真实物体的物理属性,简单的说就是物体的形状,光学性质,表面的纹理和粗糙程度,以及物体间的相对位置,遮挡关系等等。

OpenGL介绍

         学习计算机图形学,那就要学习OpenGL。OpenGL是跨平台的图形应用程序接口API,是一种可以对图形硬件设备特性进行访问的软件库。可以做什么?包含了超过500个不同的命令,可以用于设置所需的对象、图像和操作,以便开发交互式的三维计算机图形应用程序。不可以做什么?OpenGL自身不包含任何执行窗口任务或处理用户输入的函数。事实上,我们需要通过应用程序所运行的窗口系统提供的接口来执行这些操作。OpenGL也没有提供任何用于表达三维物体模型或者读取图像文件的操作。我们需要通过一系列的几何图元(包括点、线、三角形以及Patch)来创建三维空间的物体。

         OpenGL主要通过扩展机制来发展。这种扩展机制能够用来获得指向任何加入OpenGL1.0之后任何版本核心的OpenGL函数的函数指针。有一个实现OpenGl3.3API完全存取的简单方法,就是使用一个自动初始化所有新函数指针并包含所需类型定义、常量和枚举值的扩展加载库。其中一种维护最好的开源库就是GLEW。使用OpenGL的最大优点是它的速度远远快于光线追踪器或软件渲染引擎。OpenGL并不包含任何负责窗口管理、用户交互或文件I/O的函数。

 

 

基本概念

计算机图形学中制作图像的基本元素

1、点

2、线

3、折线: 由一系列的直线段相互连接而成。

 

在上图中,由许多折线勾画出物体的轮廓。而这些折线其实有 一系列很短的直线段连接而成,由于人的肉眼,看作折线。

4、文本

5、填充区域:填充图元是指填充时的颜色或图案。

6、光栅图像:光栅图像以数值数值的形式存储在计算机中。由许多非常小的单元组成,每个单元称为像素。

这些图元一般都有属性,属性就是那些影响外观的特点,例如颜色和粗细。

 

深度缓冲

 深度缓冲是这样一段数据,它记录了每一个像素距离观察者有多近。在启用深度缓冲测试的情况下,如果将要绘制的像素比原来的像素更近,则像素将被绘制。否则, 像素就会被忽略掉,不进行绘制。这在绘制不透明的物体时非常有用——不管是先绘制近的物体再绘制远的物体,还是先绘制远的物体再绘制近的物体,或者干脆以 混乱的顺序进行绘制,最后的显示结果总是近的物体遮住远的物体。

 

着色器

着色器是图形硬件系统设备所执行的一类特殊函数。理解着色器最好的方法是把它看作专门为图形处理单元GPU编译的一种小型程序。OpenGL在其内部包含了所有的编译器工具,可以直接从着色器源代码创建GPU所需的编译代码并执行。在OpenGL中,会用到四种不同的着色阶段(shader stage)。其中最常见的包括顶点着色器(vertex shader)以及片元着色器,前者用于处理顶点数据,后者用于处理光栅化后的片元数据。所有的OpenGL程序都需要用到这两类着色器。

 

其他

将数学和图形数据转换成3D空间图像的操作叫做渲染(Rendering)。光栅化(Rasterization)实际绘制或填充每个定点之间的像素形成线段。投影矩阵(Projecttion Matrix),用于将3D坐标转换成二维屏幕坐标。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值