OpenGL系列教程(3)——OpenGL基础(2)

这篇教程介绍了OpenGL的基础知识,包括RGB颜色模型、RGBA与矢量图位图概念,重点讲解了OpenGL中的图元类型,如点、线、面以及三角形条带和扇面。还提及了图元由图元类型和顶点数据组成,顶点在OpenGL 4.x中是高度抽象的,需要手动设置属性。

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

本篇教程内容续上篇。

在实际接触OpenGL之前,需要先了解一些计算机图像领域的基础知识。

1.RGB颜色模型
或许你曾听说过三原色理论,这个理论奠定了RGB颜色模型的基础。光的三原色,即红、绿、蓝。我们普遍认为世界上所有颜色都能由这三种颜色混合得到,实际效果可见下图。
任意色彩都能由三原色混合而成
RGB颜色模型的全称是Red Green Blue颜色模型,它将任意一种颜色表示成红、绿、蓝三种分量。一般在计算机中,我们使用三个字节来表示一种颜色,从低位到高位依次是红色分量、绿色分量和蓝色分量。这种表示方法也是业界的一种标准,称为RGB888,其中8的意思是8bit。
然而实际上在处理图像时,光有红绿蓝三种颜色分量是不够的。随着图像技术的发展,人们提出了透明度的概念,并为其定义了一个度量Alpha。于是传统的RGB模型变成了RGBA模型,即Red Green Blue Alpha模型。该模型在RGB模型的基础上添加了一个新的度量Alpha,代表颜色的透明度。我们一般用四个字节来表示RGBA,即业界标准RGBA8888。

2.矢量图和位图
在计算机中,有两种方式表示一幅图像。第一种是使用图形代码表示,被称为矢量图;第二种是使用点阵表示,被称为位图。
使用图形代码表示可以从字面意思上理解,即使用图形语言来描述一副图像的构成,典型的有SVG语言描述的SVG图片,详情可以百度;点阵是最常见的一种图像表示法,平时我们打交道的图片几乎都是点阵表示的。点阵是一个颜色矩阵,图像按照宽高分成一个个小格子,每个格子中储存一种颜色。当格子密而多时,就能表现出一张完整的图片。
因此,位图可以使用一个RGBA类型的二维数组来存储。而OpenGL的渲染实质便是将矢量图转换成位图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值