OpenGL对场景中的图像进行渲染时所执行的主要图形操作

1. 根据几何图元创建形状,从而建立物体的数学描述。(OpenGL把点、直线、多边形和位图作为基本的图元。)

2. 在三维空间中排列物体,并选择观察复合场景的有利视角。

3. 计算所有物体的颜色。颜色可以由应用程序明确指定,可以根据特定的光照条件确定,也可以通过纹理贴到物体的表面而获得,或者是上述三种操作的混合产物。这些操作可能使用着色器来执行,这样可以显示的控制所有的颜色计算,或者可能使用OpenGL的预编程算法在其内部执行(我们常用术语固定功能的管线来表示后者)。

4. 把物体的数学描述以及与物体相关的颜色信息转换为屏幕上的像素。这个过程叫做光栅化(rasterization)。

  在这些阶段期间,OpenGL可能还会执行其他操作,例如消除被其他物体所遮挡的物体(或该物体的一部分)。此外,在场景被光栅化之后但在绘制到屏幕之前,仍然可以根据需要对像素数据执行一些操作。

  OpenGL必须实现这样一个目标:显示程序员所创建的图形的计算机和运行图形程序的计算机可以不相同。由多台计算机通过一个数字网络彼此连接在一起所组成的网络计算机环境就属于这种情况。在这种情况下,运行图形程序并发出绘图命令的计算机称为客户机,接受这些命令并执行绘图任务的计算机称为服务器。客户机发送给服务器的命令的传输格式(称为协议)总是相同,因此OpenGL程序可以通过网络运行,即使客户机和服务器并不是同种类型的计算机。如果OpenGL程序并不是通过网络运行的,那就只涉及一台计算机,它既是客户机也是服务器。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值