工作生活

OpenGL/OpenGL ES (一) —— 专业名词快速了解

2019-07-03  本文已影响0人  HookLee

OpenGL/OpenGL ES (一) —— 专业名词快速了解
OpenGL/OpenGL ES (二) —— 渲染架构、图元、着色器、投影
OpenGL/OpenGL ES (三) —— 绘制甜甜圈
OpenGL/OpenGL ES (四) —— 纹理
OpenGL/OpenGL ES (五) —— 纹理翻转策略
OpenGL/OpenGL ES (六) —— 立方体旋转
OpenGL/OpenGL ES (七) —— 初探
OpenGL/OpenGL ES (八) —— 如何加载一张图片
OpenGL/OpenGL ES (九) —— 光照

前言

OpenGL ES 是OpenGL三维图形API的子集,方便集成到各个平台。OpenGL是一个跨平台、跨语言的应用程序编程API。它用于绘制从简单图形到复杂的三维景象。PC端的图形图像处理Kit有DirectX,这个需要开发者自己安装的,而GDI和GUI是可以直接调用的。

相关介绍

OpenGL下专业名词解析

OpenGL上下文 context

*由于OpenGL上下文是一个巨大的状态机,切换上下文往往会产生较大的开销,但是不同的绘制模块,可能需要使用完全独立的状态管理。因此,可以在应用程序中分别创建多个不同的上下文,在不同线程中使用不同的上下文,上下文之间共享纹理、缓冲区等资源。这样的方案,会比反复切换上下文,或者大量修改渲染状态更加合理高效

OpenGL 状态机

1、有记忆功能,能够记住当前的状态
2、可以接收输入,根据输入的内容和自己的原先状态,修改自己当前状态,并且可以有对应输出
3、当进入特殊状态(停机状态)的时候,便不再接收输入,即停止工作

OpenGL中,状态机可以这么理解

1、OpenGL可以记录自己的状态(如当前所使用的颜色、是否开启了混合功能等)
2、OpenGL可以接收输入(调用OpenGL函数时,可以理解成OpenGL在接收输入),如调用glColor3f,即OpenGL接收到这个输入后,会修改自己的“当前颜色”这个状态
3、OpenGL可以进入停止状态,不再接收输入。在程序退出前,OpenGL总会先停止工作

渲染
顶点数组VertexArray和顶点缓冲区VertexBuffer
管线
着色器程序Shader
顶点着色器VertexShader
片元着色器FragmentShader
GLSL (OpenGL Shading Language)
光栅化 Rasterization
纹理
混合 Blending
变换矩阵 Transformation
投影矩阵 Projection
渲染上屏/交换缓冲区 SwapBuffer
上一篇下一篇

猜你喜欢

热点阅读