OpenGL学习笔记1:OpenGL概述

本文介绍了OpenGL的基本概念,包括渲染过程中的关键步骤如光栅化、片元着色等,并详细阐述了从顶点到最终图像的整个渲染管线流程。

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

一、OpenGL概述

OpenGL:API,对图形硬件设备特性进行访问的软件库

二、图形学名词

1.渲染:计算机从模型创建最终图像的过程。OpenGL就是一种基于光栅化的渲染系统。

2.模型:模型是通过图元(点、线、三角形)构建的。

3.着色器:可看成专门为GPU编译的一种小型程序。最常用的有:顶点着色器,片元着色器

4.像素:显示器上最小的可见单元,所有的像素都保存到帧缓存中。

三、渲染图像的过程

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

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

3.光栅化:将输入图元的数学描述转化为与屏幕位置对应的像素片元。

4.对每个片元执行片元着色器决定最终颜色、位置。

四、渲染管线

顶点 -> 顶点着色器 -> 细分控制着色器 -> 细分计算着色器 -> 几何着色器 -> 图元设置 -> 剪切 -> 光栅化 -> 片元着色器

1.顶点着色

  处理顶点相关的数据,可能非常简单(传递着色器),可能十分复杂

2.细分着色

  进一步处理数据

3.几何着色

  在光栅化之前对几何图元作进一步处理

4.图元装配

  将顶点与相关几何图元组织起来

5.剪切

  顶点落在视口之外时,对与顶点相关的图元做出改动,以保证相关像素不在视口外。

6.光栅化

  将图元转换为片元

7.片元着色

  由片元着色器(fragment shader)计算片元的最终颜色和深度值。

  顶点着色决定图元的位置,片元着色决定片元的颜色。

8.逐片元操作

  使用深度测试(depth test,即Z buffering)和模板测试(stencil test)决定一个片元是否可见。

  若片元通过了所有的测试,则绘制到帧缓存中。

  若有融合模式(blending),则片元颜色与该像素当前颜色相叠加,写入帧缓存。

  像素数据通常保存在纹理贴图中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值