gpt4 book ai didi

安卓 OpenGL : GLbyte LoadShader conversion

转载 作者:行者123 更新时间:2023-11-28 03:40:16 25 4
gpt4 key购买 nike

我有一个关于类型兼容性的问题 - 检查这个例子:

 GLbyte vShaderStr[] =
"attribute vec4 vPosition; \n"
"void main() \n"
"{ \n"
" gl_Position = vPosition; \n"
"} \n";

vertexShader = LoadShader ( GL_VERTEX_SHADER, vShaderStr );

LoadShader 属于 esUtil.h http://code.google.com/p/angleproject/source/browse/trunk/samples/gles2_book/Common/esUtil.h代码来自同一本书OpenGL ES 2.0 Programming Guide。

给出以下信息:

error: vertexShader = LoadShader(GL_VERTEX_SHADER, vShaderStr);
Multiple markers at this line
- initializing argument 2 of 'GLuint LoadShader(GLenum, const char*)'
- invalid conversion from 'GLbyte*' to 'const char*'

有人可以阐明......如何解决“GLbyte*”到“const char*”的问题。

如果我只是尝试不使用 GLbyte,而是声明:

const char* vShaderStr[] ={...};

错误更改为:

cannot convert 'const char**' to 'const char*' for... 
...argument '2' to 'GLuint LoadShader(GLenum, const char*)'

OpenGL ES 2.0 应该在移动设备上运行,因此我尝试编译并运行适用于 Android Native C++ 的代码示例。

有人知道这本书中提供的代码是否有很多错误?还是我做错了什么?如何解决这个贯穿全书的转换问题?

非常欢迎所有评论。

最佳答案

const char* vShaderStr[] 是一个指针数组。使用 const char vShaderStr[] 代替

关于安卓 OpenGL : GLbyte LoadShader conversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9503145/

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