OpenGL

本文介绍OpenGL中的关键技术,包括视口设置、深度测试、环绕判断等,并解释了规范化坐标系与设备坐标系的区别,以及如何进行坐标变换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)视口:视口用于在窗口的客户区域中绘制裁剪区域。视口的大小是按照像素大小来计算,而裁剪区域以及画图都是一个逻辑坐标。

(2)深度测试:这是一种有效的用于隐藏表面消除的技巧,OpenGL提供了一些函数,可以在幕后完成这个任务。在内部,这个任务是通过深度缓冲区来实现的,它存储了屏幕上每个像素的深度值。

(3)OpenGL利用环绕判断多边形的正面和背面,所以定义了物体外部形状的多边形保持相同的环绕方向是非常重要的。这种一致性允许我们告诉OpenGL只对多边形的正面或背面进行渲染,火灾两面都进行渲染。通过消除多边形的背面,可以大幅度地减少图像渲染所需要的处理时间。虽然深度测试可以防止物体的内表面被显示,但OpenGL在内部还是要考虑它们,除非显示地告诉它无须如此。

扫描转换(scan convrsion):将应用程序给出的图形定义数字化为一组像素强度值,并存放在帧缓存中,这个数字化过程称为扫描转换。

规范化坐标系(normalized coordinate)与设备坐标系(device coordinate)都是左手系。



为了将对象描述从xy坐标变换到MN坐标,必须建立把MN轴叠加到xy轴的变换,其中主要分两步进行:
(1)将MN系统的坐标原点平移到XY系统的原点;
(2)将M轴旋转到X轴上


OpenGL位图和图像:这两种数据都是以像素矩阵的形式存储,即用一个矩形数组来表示某一位图或图像。二者不同之处是位图包含每个象素的一位信息,而图像数据一般包含每个象素的多位信息(如,红、绿、蓝和Alpha值);还有位图类似于掩码,可用于遮掩别的图像,而图像数据则简单地覆盖先前已经存在的数据或者与之混合。


在三维观察坐标系中,裁剪窗口定位在观察平面上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值