
OpenGL API
OpenGL 部分常用 API 的翻译、学习记录
Jave.Lin
积跬步至千里
展开
-
LearnGL - 16 - UBO(Uniform Block Object) - 实现 Shader Program Object 之间的数据共享
文章目录使用流程实践根据 ubo 名称,获取所有使用了这个 ubo 块的在该 shader 中 ubo 块的索引根据该 ubo 块中的每个属性名字,获取该 ubo 块的每个属性的索引值根据该 ubo 块中每个属性索引值,获取 offset(偏移)、size(大小,这里的大小理解为:元素数量)、type(数据类型)给这个 ubo 块 分配的 binding point index创建一个 GL_UNIFORM_BUFFER 的缓存对象 ubo并将 ubo 绑定到 上面分配的 binding point ind原创 2020-08-14 13:29:57 · 1109 阅读 · 0 评论 -
OpenGL - UBO 前置内容
文章目录数据块接口uniform 块指定着色器中的 uniform 块uniform 块的布局控制访问 uniform 块中声明的 uniform 变量从应用程序中访问 uniform 块buffer 块in/out 块、位置和分量References下面直接引用了 OpenGL RedBook 第九版 - 第2章 的内容数据块接口着色器与应用程序之间,或者着色器各阶段之间共享的变量可以组织为变量块的形式,并且有的时候必须采用这种形式。uniform 变量可以使用 uniform 块,输入和输出变量原创 2020-08-14 11:34:27 · 818 阅读 · 0 评论 -
OpenGL API - glMapBuffer - 可用于获取缓存对象指针
因为有需要对网格顶点属性实时更新,所以我之前使用的 API 是:glBufferData// method 1:glBindBuffer(GL_ARRAY_BUFFER, vbos[(int)MeshVboType::POSITION]);glBufferData(GL_ARRAY_BUFFER, arr->bytes_size(), arr->ptr(), _dynamic ? GL_DYNAMIC_DRAW : GL_STATIC_DRAW);checkGLError();但是从原创 2020-07-31 11:59:07 · 1517 阅读 · 0 评论 -
extensions/ARB/ARB_shading_language_include.txt API 中文翻译
原文:extensions/ARB/ARB_shading_language_include.txtOverview - 概述This extension introduces a #include GLSL directive to allow reusingthe same shader text in multiple shaders and defines the semanticsand syntax of the names allowed in #include directive翻译 2020-07-24 08:38:38 · 732 阅读 · 0 评论 -
OpenGL API - glClear
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glClear.xhtmlOpenGL API - 笔记汇总名称glClear ---- 清理指定的缓存。原型void glClear(GLbitfield mask);参数mask按位的“或”(OR) 的掩码来代表要清理的缓存。有三个掩码 GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, 和 GL_STE翻译 2020-06-05 21:27:08 · 663 阅读 · 0 评论 -
OpenGL API - glViewport
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glViewport.xhtmlOpenGL API - 笔记汇总名称glViewport ---- 设置视口。原型void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);参数x, y指定矩形视口的左下角,像素单位。初始值为 (0, 0)。翻译 2020-06-05 21:27:03 · 300 阅读 · 0 评论 -
OpenGL API - glDrawArrays
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glDrawArrays.xhtmlOpenGL API - 笔记汇总名称glDrawArrays ---- 从缓存数组数据中渲染图元。原型void glDrawArrays( GLenum mode, GLint first, GLsizei count);参数mode指定需要渲染什么图元。符号常量 GL_POIN翻译 2020-06-05 21:26:58 · 448 阅读 · 0 评论 -
OpenGL API - glGetAttribLocation
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetAttribLocation.xhtmlOpenGL API - 笔记汇总名称glGetAttribLocation ---- 返回 attribute 属性变量的 location(索引值)。原型GLint glGetAttribLocation( GLuint program, const GLchar *name);翻译 2020-06-05 21:26:51 · 1274 阅读 · 0 评论 -
OpenGL API - glEnableVertexAttribArray
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glEnableVertexAttribArray.xhtmlOpenGL API - 笔记汇总名称glEnableVertexAttribArray ---- 启用 或 禁用 通用顶点 attribute 数组。原型void glEnableVertexAttribArray(GLuint index); void glDisableVertex翻译 2020-06-05 21:26:43 · 2931 阅读 · 0 评论 -
OpenGL API - glVertexAttribPointer
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glVertexAttribPointer.xhtmlOpenGL API - 笔记汇总名称glVertexAttribPointer ---- 定义通用的顶点 attribute 数组数据。原型void glVertexAttribPointer( GLuint index, GLint size, GLenum翻译 2020-06-05 21:26:35 · 666 阅读 · 0 评论 -
OpenGL API - glDeleteShader
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glDeleteShader.xhtmlOpenGL API - 笔记汇总名称glDeleteShader ---- 删除一个 shader 对象原型void glBindBuffer( GLenum target, GLuint buffer);参数target绑定指定的缓存对象,绑定的类型必须是以下表格的:Buffer Bindi翻译 2020-06-05 21:26:27 · 813 阅读 · 0 评论 -
OpenGL API - glUseProgram
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glUseProgram.xhtmlOpenGL API - 笔记汇总名称glUseProgram ---- 安装一个程序对象作为当前渲染状态的一部分。原型void glUseProgram(GLuint program);参数program指定带有可执行对象的程序对象句柄,用于当前渲染状态的一部分。描述glUseProgram 安装指定的翻译 2020-06-05 21:26:20 · 2867 阅读 · 0 评论 -
OpenGL API - glGetProgramInfoLog
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetProgramInfoLog.xhtmlOpenGL API - 笔记汇总名称glGetProgramInfoLog ---- 绑定带名称的缓存对象。原型void glGetProgramInfoLog(GLuint program, GLsizei maxLength, GLsizei *length,翻译 2020-06-05 21:25:57 · 700 阅读 · 0 评论 -
OpenGL API - glGetProgramiv
文章目录名称原型参数描述错误注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetProgramiv.xhtmlOpenGL API - 笔记汇总名称glGetProgramiv ---- 返回程序对象参数。原型void glGetProgramiv(GLuint program, GLenum pname, GLint *params);参数program指定要查询的程序对象。p翻译 2020-06-05 21:25:29 · 522 阅读 · 0 评论 -
OpenGL API - glLinkProgram
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glLinkProgram.xhtmlOpenGL API - 笔记汇总名称glLinkProgram ---- 链接一个程序对象。原型void glLinkProgram(GLuint program);参数program指定要被链接的程序句柄。描述glLinkProgram 链接指定的 program 程序对象。如果有任意的 GL_翻译 2020-06-05 21:25:18 · 2120 阅读 · 0 评论 -
OpenGL API - glAttachShader
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glAttachShader.xhtmlOpenGL API - 笔记汇总名称glAttachShader ---- 附加一个 shader 对象到程序对象。原型void glAttachShader(GLuint program, GLuint shader);参数program指定用于接受附加着色器的程序对象。shader指翻译 2020-06-05 21:25:05 · 1128 阅读 · 0 评论 -
OpenGL API - glCreateProgram
文章目录名称原型描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glCreateProgram.xhtmlOpenGL API - 笔记汇总名称glCreateProgram ---- 创建着色器程序对象。原型GLuint glCreateProgram(void);描述**glCreateProgram ** 创建一个空的着色器程序对象,并返回一个可用于引用的非0值。着色器程序对象是用于附加着色器对象的。提翻译 2020-06-05 21:26:13 · 1133 阅读 · 0 评论 -
OpenGL API - glGetShaderInfoLog
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetShaderInfoLog .xhtmlOpenGL API - 笔记汇总名称glGetShaderInfoLog ---- 返回 shader 对象的日志信息。原型void glGetShaderInfoLog(GLuint shader, GLsizei maxLength, GLsizei *length翻译 2020-06-05 21:24:54 · 841 阅读 · 0 评论 -
OpenGL API - glGetShaderiv
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetShaderiv.xhtmlOpenGL API - 笔记汇总名称glGetShaderiv ---- 从一个 shader 对象中返回一个 指定 pname 的 params 参数。原型void glGetShaderiv( GLuint shader, GLenum pname, GLint *params)翻译 2020-06-05 21:24:45 · 504 阅读 · 0 评论 -
OpenGL API - glCompileShader
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glCompileShader.xhtmlOpenGL API - 笔记汇总名称glCompileShader ---- 编译 shader 对象。原型void glCompileShader(GLuint shader);参数shader指定要编译的 shader 对象。描述glCompileShader 编译指定的储存有字符串源码的 s翻译 2020-06-05 21:24:36 · 1940 阅读 · 0 评论 -
OpenGL API - glShaderSource
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glShaderSource.xhtmlOpenGL API - 笔记汇总名称glShaderSource ---- 给 shader 对象指定源码。原型void glShaderSource(GLuint shader, GLsizei count, const GLchar **string, const G翻译 2020-06-05 21:24:27 · 1261 阅读 · 0 评论 -
OpenGL API - glCreateShader
文章目录名称原型参数描述注意错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glCreateShader.xhtmlOpenGL API - 笔记汇总名称glCreateShader ---- 创建一个 shader 对象。原型GLuint glCreateShader(GLenum shaderType);参数shaderType指定创建 shader 的类型。必须是 GL_COMPUTE_SHADER, GL_翻译 2020-06-05 21:24:20 · 1760 阅读 · 0 评论 -
OpenGL API - glBufferData, glNamedBufferData
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBufferData.xhtmlOpenGL API - 笔记汇总名称glBufferData, glNamedBufferData ---- 创建与初始化缓存对象的储存数据。原型void glBufferData( GLenum target, GLsizeiptr size, const void * data,翻译 2020-06-05 21:27:41 · 1680 阅读 · 0 评论 -
OpenGL API - glBindBuffer
文章目录名称原型参数描述错误https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBindBuffer.xhtmlOpenGL API - 笔记汇总名称glBindBuffer ---- 绑定带名称的缓存对象。原型void glBindBuffer( GLenum target, GLuint buffer);参数target绑定指定的缓存对象,绑定的类型必须是以下表格的:Buffer Binding Targ翻译 2020-06-05 21:27:35 · 702 阅读 · 0 评论 -
OpenGL API - glGenBuffers
文章目录名称原型参数描述https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGenBuffers.xhtmlOpenGL API - 笔记汇总名称glGenBuffers ---- 生成缓存对象的名称原型void glGenBuffers( GLsizei n, GLuint * buffers);参数n指定要生成的缓存对象名称的编号。buffers指定要生成用于储存缓存对象名称的数组。描述glGenBuffe翻译 2020-06-05 21:27:28 · 952 阅读 · 0 评论 -
OpenGL API - 笔记汇总
这里只会记录一些使用到的API汇总。OpenGL 红宝书第9版的我也买了一本,但觉得这书买得不值。主要我们要查找API什么的,没有电子版直接输入API名称定为的快。如果你用书去翻的话,只能慢慢的找,很不方便(我也不喜欢用Kindle)。而且官方的在线文档什么的直接、清晰明了。其实我们学习用的话,OpenGL API用不了多少个。。。全都用上的话,那也是需要还久时间去熟悉的。下面我列出的都是在gl4,即:OpenGL 4.5 的API参考内容:glGenBuffers...原创 2020-06-05 21:24:01 · 893 阅读 · 0 评论