我正在用NDK编写一个OpenGL。
我在 main.c中的着色器代码:
const convertTimestamp = (timestampInMs: number): string => {
return moment.utc(timestampInMs).format("YYYY-MM-DD HH:mm:ss");
};
我试过这个snippet来转换(我也改变了 main.c 中创建着色器的方式),但是失败了:
我想通过在 main.c 中读取它们来使用extern着色器文件。
我该如何转换它?
答案 0 :(得分:0)
您的加载方式与加载任何其他文件的方式相同:
char * get_file_contents(char const* file_name) {
FILE * file = fopen("vert.glsl", "r");
fseek(file, 0, SEEK_END);
size_t size = ftell(file);
rewind(file);
char * str = malloc(size);
fread(str, 1, size, file);
fclose(file);
return str;
}
int main() {
/*...*/
char const* vShaderStr = get_file_contents("vert.glsl");
char const* fShaderStr = get_file_contents("frag.glsl");
userData->programObject = esLoadProgram ( vShaderStr, fShaderStr );
free(vShaderStr);
free(fShaderStr);
/*...*/
}
我只用C ++编程,所以我不会尝试为这段代码添加错误处理。不过,这应该足以让你开始。