openGL ES3.0 glGetShaderInfoLog函数详解

2023-11-08

前言

glGetShaderInfoLog函数官方文档地址:

Name

glGetShaderInfoLog — Returns the information log for a shader object

C Specification

void glGetShaderInfoLog( GLuint shader,
GLsizei maxLength,
GLsizei *length,
GLchar *infoLog);

Parameters

shader

Specifies the shader object whose information log is to be queried.

maxLength

Specifies the size of the character buffer for storing the returned information log.

length

Returns the length of the string returned in infoLog (excluding the null terminator).

infoLog

Specifies an array of characters that is used to return the information log.

Description

glGetShaderInfoLog returns the information log for the specified shader object. The information log for a shader object is modified when the shader is compiled. The string that is returned will be null terminated.

glGetShaderInfoLog returns in infoLog as much of the information log as it can, up to a maximum of maxLength characters. The number of characters actually returned, excluding the null termination character, is specified by length. If the length of the returned string is not required, a value of NULL can be passed in the length argument. The size of the buffer required to store the returned information log can be obtained by calling glGetShaderiv with the value GL_INFO_LOG_LENGTH.

The information log for a shader object is a string that may contain diagnostic messages, warning messages, and other information about the last compile operation. When a shader object is created, its information log will be a string of length 0.

Notes

The information log for a shader object is the OpenGL implementer's primary mechanism for conveying information about the compilation process. Therefore, the information log can be helpful to application developers during the development process, even when compilation is successful. Application developers should not expect different OpenGL implementations to produce identical information logs.

Errors

GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL.

GL_INVALID_OPERATION is generated if shader is not a shader object.

GL_INVALID_VALUE is generated if maxLength is less than 0.

Associated Gets

glGetShaderiv with argument GL_INFO_LOG_LENGTH

glIsShader

API Version Support

OpenGL ES API Version
Function Name 2.0 3.0 3.1 3.2
glGetShaderInfoLog

See Also

glCompileShaderglGetProgramInfoLogglLinkProgramglValidateProgram

Copyright

Copyright © 2003-2005 3Dlabs Inc. Ltd. Copyright © 2010-2015 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.

翻译:

名称

glGetShaderInfoLog - 返回着色器对象的信息日志

C规范

void glGetShaderInfoLog(GLuint shader,GLsizei maxLength,GLsizei *length,GLchar *infoLog);

参数

shader

    指定要查询其信息日志的着色器对象。

maxLength

    指定用于存储返回的信息日志的字符缓冲区的大小。

length

    返回infoLog中返回的字符串的长度(不包括空终止符)。

infoLog

    指定用于返回信息日志的字符数组。

描述

    glGetShaderInfoLog返回指定着色器对象的信息日志。 编译着色器时,将修改着色器对象的信息日志。 返回的字符串将以空结尾。

    glGetShaderInfoLog尽可能多地在infoLog中返回信息日志,最多可返回maxLength个字符。实际返回的字符数(不包括空终止字符)由length指定。 如果不需要返回字符串的长度,则可以在length参数中传递NULL值。 可以通过调用值为GL_INFO_LOG_LENGTHglGetShaderiv来获取存储返回的信息日志所需的缓冲区大小。

    着色器对象的信息日志是一个字符串,其中可能包含诊断信息,警告信息以及有关上次编译操作的其他信息。 创建着色器对象时,其信息日志将为长度为0的字符串。

注意

    着色器对象的信息日志是OpenGL实现者用于传达有关编译过程的信息的主要机制。 因此,即使编译成功,信息日志也可以在开发过程中对应用程序开发人员有所帮助。 应用程序开发人员不应期望不同的OpenGL实现生成相同的信息日志。

错误

GL_INVALID_VALUEshader不是OpenGL生成的值。

GL_INVALID_OPERATIONshader不是着色器对象。

GL_INVALID_VALUEmaxLength小于0

相关Gets

glGetShaderiv 参数GL_INFO_LOG_LENGTH获取信息日志的长度

glIsShader

另见

glCompileShaderglGetProgramInfoLogglLinkProgramglValidateProgram

版权

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetShaderInfoLog.xml

https://blog.csdn.net/flycatdeng

Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.

程序工程源码地址:

程序运行结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openGL ES3.0 glGetShaderInfoLog函数详解 的相关文章

  • iOS4:如何使用视频文件作为 OpenGL 纹理?

    我正在尝试将视频文件的内容 暂时不包含音频 显示到 OpenGL 中的 UV 映射 3D 对象上 我已经在 OpenGL 中做了相当多的工作 但不知道从哪里开始处理视频文件 而且大多数示例似乎都是从相机获取视频帧 这不是我想要的 目前我觉得
  • 在 OpenGL 中移动相机时出现故障

    我正在为 iPhone 编写一个基于图块的游戏引擎 除了以下故障之外 它基本上可以正常工作 基本上 相机将始终将玩家保持在屏幕中央 并且它会移动以正确跟随玩家并在静止时正确绘制所有内容 然而 当玩家移动时 玩家行走的表面瓷砖会出现故障 如下
  • iOS glGenerateMipmap 是同步的,还是可能是异步的?

    我正在开发一个在 OpenGL ES 中使用大纹理的 iPad 应用程序 当场景首次加载时 我在天花板上看到了几帧的大型黑色伪像 如下图所示 就好像更高级别的 mipmap 尚未填充 在后续帧中 天花板正确显示 当我开始使用 mipmapp
  • Cocos2d:CCSpriteBatch 节点是否仅绘制可见属性设置为 true 的精灵?

    CCSpriteBatch 节点是否仅绘制可见属性设置为 true 的精灵 或者它也考虑屏幕尺寸 换句话说 如果节点内的精灵位于屏幕之外 opengl 绘制调用的性能是否会反映这一点 不 不 CCSpriteBatchNode 始终绘制所有
  • 有没有任何工具可以将 PVR 纹理分割成一组图块?

    我有一张大的 png 纹理 4096x4096 我需要将其部分加载到内存中 我已经将大 png 纹理分割成 16 个 1024x1024 块 然后将它们转换为 PVR 压缩文件 问题是 当我绘制这些图块时 图块之间的边缘与 png 的边缘不
  • Android中的OpenGL用于视频显示

    是否可以使用 OpenGL 来显示视频并能够在运行时调整视图大小 是的 它的工作原理是通过 glTexSubImage2D 将每个帧作为纹理上传 我已经测试了基于 FFmpeg 的解码器的输出 效果很好
  • libgdx SpriteBatch 渲染到纹理

    是否可以使用 libGdx 适用于 Android 桌面的 Java 引擎 中的 SpriteBatch 渲染到纹理 如果是这样 怎么办 基本上我想将所有内容渲染到 512 x 256 纹理的 320 x 240 区域 然后缩放区域以适合屏
  • 径向渐变绘制性能 - OpenGL-ES 可以改进吗?

    我正在开发一个图像处理应用程序 它将径向渐变叠加在从照片库加载的图像上 在屏幕上 我有一个滑块可以动态地增大 减小径向渐变的半径 我发现模拟器上的性能很好 但在 iPhone 3G 或 3GS 上就很糟糕了much移动滑块时重绘速度较慢 我
  • OpenGL (ES 2.0) 动态改变线宽

    我目前正在使用大量的工具绘制模型GL LINES全部在统一的半径内 我知道glLineWidth将改变半径all线 但它们各自应该有不同的半径 我想知道是否可以使用glLineWidth 以不同的方式 或其他功能 我还应该怎么做呢 将它们渲
  • 在 iOS 上使用 OpenGL ES 2.0 进行实例化绘制

    简而言之 谁能确认是否可以使用内置变量gl InstanceID or gl InstanceIDEXT 在 iOS 上使用 OpenGL ES 2 0 的顶点着色器中GL EXT draw instanced启用 Longer 我想使用绘
  • Google 的 Android OpenGL 教程是否教授了错误的线性代数?

    在帮助另一位用户解决有关该问题的问题后响应触摸事件 http developer android com training graphics opengl touch htmlAndroid教程 我下载了源代码 并且对我所看到的感到非常困惑
  • cocos2d-iphone-2.1-beta2 中的 CCScrollLayer 问题

    您好 我遇到了最新 cocos2d beta 中 CCScrollLayer 中所述的问题 主要是在编译时我得到 use of undeclared identifier CC GL BLEND 有没有办法解决这个有人发现的问题 您可以安全
  • 如何在 Android 上启用 OpenGL 扩展 GL_EXT_shader_framebuffer_fetch?

    我正在使用 OpenGL ES 2 0 开发一个 Android 应用程序 我想使用GL EXT shader framebuffer fetch https www khronos org registry gles extensions
  • 为什么 GDB 调试器不断冻结 Xcode 4?

    这真是一个奇怪的错误 我正在开发一个使用相机源的 iPhone 项目 并通过 OpenGL 着色器运行它以对其应用效果 然而 每次我在代码中简单地创建一个新的 GLfloat 时 调试器都会在启动时冻结 我无法复制和粘贴文本 因为整个 XC
  • OpenGL ES 2.0 中的透明对象

    所以我一直在 Android 上使用 OpenGL ES 2 0 但现在遇到了一个我无法解决的问题 提前道歉 看来我还不能发布两个以上的链接 所以我把我的三张图片放在 Photobucket 相册中 我正在尝试创建一个由透明区域 彩色玻璃
  • 为什么这个 OpenGL ES 代码在 iPhone 上速度很慢?

    我在学习 OpenGL ES 时稍微修改了 iPhone SDK 的 GLSprite 示例 结果发现它相当慢 即使在模拟器中 在最糟糕的硬件上 所以我一定做错了什么 因为它只有 400 个纹理三角形 const GLfloat sprit
  • GPU-android opengl es 3.0中的亮度直方图计算

    用于亮度直方图计算 我使用了 Brad Larson 的 GPU image ios 项目中的代码 他使用混合进行直方图计算 连接顶点和片段着色器 顶点着色器 version 300 es in vec4 position out vec3
  • OpenGL ES 中的高效绘图方法

    在我的应用程序中 我通过 OpenGL ES Api 绘制了很多立方体 所有立方体的尺寸相同 只是它们位于空间坐标不同 我可以想到两种绘制它们的方法 但我不确定哪一种是最有效的 我不是OpenGL专家 所以我决定在这里问 方法1 这就是我现
  • android OpenGl 如何绘制一个矩形

    我想用OpenGL画一个矩形 package jnidemo example com openglsquare import android content Context import android opengl GLSurfaceVi
  • iPhone OpenGLES 2.0 文本纹理带有奇怪的边框(不是笔划)问题

    我正在使用 CoreGraphcis 创建文本纹理 不幸的是 文本呈现如下 文本颜色与背景相同以展示奇怪的边框 我尝试过使用描边颜色和边框 我认为这是针对 OpenGLES 2 0 而不是 CoreGraphics Create defau

随机推荐

  • C++ Primer 学习笔记 第十一章 关联容器

    关联容器中的元素是按关键字来保存和访问的 与之相对的顺序容器是按元素在容器中的顺序来保存和访问的 关联容器支持高效的关键字查找和访问 两个主要的关联容器类型是map和set map中的元素是一些键 关键字 值对 键起到索引的作用 值则表示与
  • 高,低电平复位电路原理

    单片机复位电路的作用是 使单片机恢复到起始状态 让单片机的程序从头开始执行 运行时钟处于稳定状态 各种寄存器 端口处于初始化状态等等 目的是让单片机能够稳定 正确的从头开始执行程序 1 高电平上电复位 我们来看一下高电平上电复位 本质就是R
  • npm install常见报错及问题

    目录 一 ERESOLVE unable to resolve dependency tree 1 可能性一 镜像源无法访问 2 可能性二 npm版本过低或者过高 3 可能性三 node和npm版本不匹配 二 Error EACCES pe
  • python调用js

    1 正常调用 import execjs print execjs eval red yellow blue split ctx execjs compile function add x y return x y print ctx ca
  • Win7联想电脑休眠后唤醒不了原因和解决方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 电脑BIOS不支持造成的 查看方法 1 点击运行 2 输入cmd打开dos命令窗口 3 输入 powercfg a 4 查看是否支持休眠后唤醒 如图就不支持休眠以后唤醒
  • C语言实现链表(增、删、查、改、排序)

    链表是一种常用的数据结构 但是在c语言中没有这样的数据结构 只能自己实现 下面是用C语言实现了基本的链表操作 typedef struct STU int id int age char name 20 struct STU next ST
  • DVWA靶场01-系统命令执行漏洞利用及防护(Low/Medium/Hight)

    目录 01 Low 01 1 任意文件读取 01 2 小马实现Getshell 01 2 1 获取网站路径 01 2 2 写入一句话木马 01 2 3 连接一句话木马 01 3 设置后门 02 Medium 03 Hight 04 impo
  • 低代码平台实现原理

    整个可视化搭建系统分为三部分 分别是配置页 setting 视图页 view 和 json schema 配置页生成 json schema 视图页消费 json schema 基本原理 通过json schema保存用户所编辑的内容并保存
  • 《大话脑影像》之:趣谈散点图与相关系数

    最近不少读者对高大上的机器学习 动态脑网络 曲面形态指标共变网络感到爱不起 针对于此 我们特别推出一些基本的做脑功能的概念讲解 希望大家一步一步来 年轻人 不要动不动想一步登天 识得唔识得啊 那今天我们就谈谈这个相关系数 说起相关系数 从字
  • 如何将一个List按照某一个字段进行分组,并且得到一个顺序的Map

    首先 我们这里有一个对象 Data public class Pcr private String target 组 private String sample private Double cq private Double avgCq
  • 固定资产管理系统如何简化流程

    对于企业而言 管理固定资产是一项重要的任务 而如何有效地进行报销则是固定资产管理的关键环节 为了解决这个问题 许多企业引入了固定资产管理系统 那么 这个系统究竟能如何简化流程呢 固定资产管理系统可以实现无纸化报销 通过这个系统 员工可以在任
  • 《深度学习500问》,川大优秀毕业生的诚意之作

    前端工程师掌握这18招 就能在浏览器里玩转深度学习 基于知识图谱的人机对话系统 公开课笔记 来呀 AI喊你斗地主 美团大脑 知识图谱的建模方法及其应用 公开课笔记 60天 4位诺奖得主 他们将这样改造区块链 程序员的江湖 务必掌握这些黑话
  • ECMAScript 2022 正式发布

    ECMAScript 2022 现已获得 ECMA International的批准通过 ECMAScript 是标准化的 JavaScript 语言 于 1997 年发布了第一版 现已发展成为世界上使用最广泛的通用编程语言之一 本 Ecm
  • level design : in pursuit of better levels 原文以及中文译本

    level design in pursuit of better levels 关卡设计 追求更好的关卡 推特关卡设计大佬Alex TychoBolt 分享了一份他归纳的游戏关卡设计基础知识文档 Level Design In Pursu
  • 2022护网日记,护网工作内容、护网事件、告警流量分析

    作者主页 士别三日wyx 作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 2022护网日记 一 监控设备 二 工作内容 三 安全事件 1 失陷主机排查 2 后门网站修复 四 告警流量分析 1 信息泄露
  • 基于dmclock分布式限流策略

    结合Cepb自身的特点 较为合理的做法是将QoS机制直接嵌入每个OSD中来实现 dmclock基本原理 mclock算法 mClock基本原理主要包含以下两个方面 1 为客户端设置一套QoS模板 并在每个1 0请求中携带该QoS模板 2 服
  • 第五天系统变量没有path变量如何添加

    作为新手小白 在第一次安装Java的时候 竟然神不知鬼不觉地把系统变量里面的path变量删除了 以至于在运行程序总是出错 难受想哭 现在就把我血的教训分享出来 对于不小心删除的path变量怎么恢复 我碰到的path变量会有两种故障情况 1
  • BeanUtils使用方法

    BeanUtils类可以帮助我们copy值到类的属性中 也可以copy一个对象到另一个对象 java view plain copy UserEO user new UserEO String key userName String val
  • JAVA网络编程 ——基于TCP的Socket编程(1)——实现服务器端与客户端的实时对话

    第一篇文章 我先介绍以及记录一下我所学的知识点 总结了一下视频老师讲的东西 一 HTTP与Socket 1 HTTP 超文本传输协议 特点 客户端发送的请求需要服务器端每次来响应 在请求结束之后主动释放连接 从建立连接到关闭连接称为 一次连
  • openGL ES3.0 glGetShaderInfoLog函数详解

    前言 glGetShaderInfoLog函数官方文档地址 Name glGetShaderInfoLog Returns the information log for a shader object C Specification vo