自己用Laravel写的小博客和CSDN的博客以后同步更新:
OpenGL编程指南2D部分【上】
1. OpenGL 概述
opengl是一套图形API,指示显卡进行显示操作,若无显示硬件则采用软件实现。
opengl渲染管线:
顶点数据->着色器->光栅->显示
创建对象:首先使用glGen*创建一个名字,再使用glBind*创建并且激活对象,将其绑定到名字上。
顶点对象:保存顶点信息。
缓存对象:顶点对象管理的数据存储在缓存对象中,是显存的一块区域。
每个大于3.1的opengl渲染管线中至少需要vertex shader和fragment shader
2. 着色器基础
杂项
- 现代opengl严重依赖shader,若无shader便只能清除窗口。
- double后面必须加LF。
- swizzle: vec3 a = color.rgb
可编程管线的阶段
- 顶点着色 vertex shading
- 细分着色 tessellation shading
- 几何着色 geometry shading
- 片元着色 fragment shading
- 计算着色 compute shading
基本数据类型
- float
- double
- int
- uint