本篇参考B站视频 “技术美术百人计划”·霜狼_may ;
《Shader入门精要》·冯乐乐女神著;
《OpenGL ES 3.0编程指南》
硬件的东西自己确实看的少,平常写的一些着色器什么的也都是引擎封装好的,归根到底还是OpenGL/DirectX这些API上,而研究硬件可以得知有哪些机型支持什么样的API,帮助开发者选择市场更大的API接口。新视频里的PPT基本概括了内容,有些部分我个人觉得说法不妥,在文中会点出来,部分名词打上了链接,可以直接查询相关含义。
本篇主要用于自我复习,如有疑问或发现有什么错误,请多指教~
前言
1.电脑的工作原理:电脑是由各种不同的硬件组成,由驱动软件驱使硬件进行工作。所有软件工程师都会直接或间接使用驱动;
2.定义:是一个图形库,用于渲染2D,3D矢量图形的跨语言,跨平台的应用程序编程接口(API),针对GPU;
一.基础概念
1.应用端:即程序端,相对于opengl es,opengl,DirectX,我们属于应用端,使用这些东西去编写自己的代码,将其渲染出来;
2.图元:要渲染的几何物体或者形状,正方形图片,直线,点不管是什么,只要是想渲染到屏幕上,都可称作是图元;
3.纹理:通俗点,可理解为一张图片,在opengl es中纹理是图片另一种叫法(图片说法不严谨,具体可以参考上一篇主要讲纹理);
4.纹素:纹理的基础单元,也就是像素(这一点上,在《Shader入门精要》里有不同定义,个人比较倾向于两者并非同一种,纹素应该是构成纹理的基本单位恰如像素是构成图像的基本单位一般,像素是显示设备上的最小成像单位,最终的像素可以等于N个纹素,N可以取1)
5.顶点数组:顶点指的是图元各个顶点的坐标数据,这些坐标数据可以存到一个内存数组中,该数组称为顶点数组;
6.顶点缓冲区:在显存中专门分配一块显存来存储这个顶点数组,这个显存称为顶点缓冲区;
7.顶点着色器:流水线第一阶段,完全可编程的,通常用于实现顶点的空间变换,顶点的空间变换,顶点着色