OpenGL学习复习笔记

GLSL = OpenGl Shader Language,着色器语言,转载GL Shader Language(GLSL)详解-基础语法 - 知乎
文档查询:docs.gl 百科查询:glTexCoord2f_百度百科
扩展查询:registry.khronos.org:/OpenGL/extensions/

模型/mesh网格- 模型可以分割为成多个三角形,gpu只能画三角形。三个点可以确定一个平面,计算效率高。三角形光栅化为一个个的像素点。

顶点着色器(Vertex) - gl_Position确定三角形的点的坐标和形状

片元着色器(Fragment)- gl_FragColor对每个像素点进行填色、贴图(纹理)

矩阵(Mat)- 融合计算(旋转、平移、变换),计算一次,所有的点都只需要和该矩阵结果乘即可,减少计算次数提高效率。gl_Position 是一个四维向量vec4(齐次坐标,方便旋转平移缩放)。MVP矩阵。

摄像头坐标系 - lookat实现相机移动,想象人站立右手指向x 头顶指向y 后背指向z;

精度(float、int)- 高中低分别为highp、mediump、lowp。顶点着色器已经默认指定了高精度highp;片元着色器中未指定浮点精度,可以通过以下方法指定,一般直接使用precision mediump float;减少资源消耗。

#ifdef GL_ES // 是否是ES环境
#ifdef GL_FRAGMENT_PRECISION_HIGH // 为1则表示支持片源着色器高精度
precision highp float;
#else
precision mediump float;
#endif
#endif
void main(){
}

离屏渲染 - makecurrent绑定EGL环境到当前线程,surface可以自行创建用来创建纹理,渲染的时候surface从surfaceview或surfaceTexture拿,参考GPUImage链式滤镜多滤镜处理逻辑
、webrtc;共享上下文可以使A线程绘制的纹理在B线程也可以使用,以此优化提高绘制效率。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容