0
私はOpenGL with NDKの例を書いています。Cで* .vert&* .fragをcharに変換するにはどうすればよいですか?
main.c
で私のシェーダコード:
const char vShaderStr[] =
"#version 300 es \n"
"uniform mat4 u_mvpMatrix; \n"
"layout(location = 0) in vec4 a_position; \n"
"layout(location = 1) in vec4 a_color; \n"
"out vec4 v_color; \n"
"void main() \n"
"{ \n"
" v_color = a_color; \n"
" gl_Position = u_mvpMatrix * a_position; \n"
"} \n";
const char fShaderStr[] =
"#version 300 es \n"
"precision mediump float; \n"
"in vec4 v_color; \n"
"layout(location = 0) out vec4 outColor; \n"
"void main() \n"
"{ \n"
" outColor = v_color; \n"
"} \n";
userData->programObject = esLoadProgram (vShaderStr, fShaderStr);
私は(私もmain.cの中にシェーダを作成する方法を変更)に変換するために、このsnippetを試みたが、失敗していた:
を私はEXTERNを使いたいですシェーダファイルをmain.c
に読み込んでください。
どうすれば変換できますか?
最小限の再現可能なコード例を質問自体に投稿してください。 Androidを使用している場合、OpenGLではなくOpenGL-esを使用していますので、それに応じて質問にタグを付ける必要があります。 – BDL
標準ライブラリを使用してファイルからデータを読み取り、文字列に格納するだけです。それはOpenGLとは関係がありません.C標準ライブラリにどの程度馴染んでいるのでしょうか。 – Downvoter