OpenGl 学习 01 概述与概念

OpenGL是一种API,一种可以对图形硬件设备特性进行访问的软件库。OpenGL被设计为一个现代化的、硬件无关的接口。

一个用来渲染图像的OpenGL程序需要执行的主要操作如下所示:

(1)从OpenGL的几何图元中设置数据,用于构建形状。

(2)使用不同的着色器(shader)对输入的图元数据执行计算操作,判断他们的位置、颜色,以及其他的渲染属性。

(3)将输入图元的数学描述转换为与屏幕对应位置的像素片元(fragment)。这一步也称为光栅化。

(3)最后,针对光栅化过程产生的每个片元,执行片元着色器(fragment shader),从而决定这个片元的最终颜色和位置。

(4)如果有必要,还需要对每个片元执行一些额外的操作,例如判断片元对应的对象是否可见,或者将片元的颜色与当前屏幕位置的颜色进行融合。


OpenGL使用客户端-服务端的形式实现的,我们编写的应用程序可以看做客户端,而计算机图形硬件厂商提供的OpenGL实现可以看做服务端。

渲染render:表示计算机从模型创建最终图像的过程。OpenGL只是一种渲染系统,还有许多其他的渲染系统。OpenGL是基于光栅化的系统,但是也有别的方法用于生成图像,例如光线追踪(ray tracing)。

模型(model)或者场景对象,是通过几何图元,例如点、线和三角形来构建的,而图元与模型的顶点(vertex)也存在着各种对应的关系。

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

最终生成的图像包含了屏幕上绘制的素有像素点。像素(pixel)是显示器上最小的可见单元。计算机系统将所有的像素保存到帧缓存(framebuffer)当中,后者是由图形硬件设备管理的一块独立内存区域,可以直接映射到最终的显示器上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小田田_XOW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值