gpt4 book ai didi

c - 用 C 编写着色器错误检查器

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:23 26 4
gpt4 key购买 nike

您好,我正在用 C 语言编写一个简单的着色器错误检查器来检查编译和链接时的错误。我在使用 glShaderSource() 函数时遇到了很大的问题。我首先使用 malloc(codelength * sizeof(char)) 为代码创建空间,然后使用此行 glShaderSource(shader, 1, (const char * *) &code, NULL);.我相信问题出在这条线上。我什至尝试将 NULL 更改为代码的长度,但无济于事。当我尝试获取有关着色器的信息时,它向 glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &compileloglength); 返回零,向 glGetShaderiv(shaders[0], GL_COMPILE_STATUS, &compileloglength); 返回零> 请不要向我指出已经存在的着色器错误检查器,除非它有相关代码,因为我喜欢做这样的小项目。

最佳答案

只是为了确保:您是否创建了有效的 OpenGL 上下文?对于您用来工作的那些函数,您需要一个支持 GLSL 的 OpenGL 上下文。

如果您想在不先创建 OpenGL 上下文的情况下进行静态 GLSL 检查,您可以使用 Mesa 项目的独立 GLSL 编译器。

关于c - 用 C 编写着色器错误检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19192536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com