提示コードのコメント部内部のコードですがこの行で提示画像のアクセスエラーが発生してしまうのですがこれはなぜでしょうか?
std::shared_ptr<std::vector<GLchar>>型です。
cpp
1 2// ##################################### プログラムオブジェクト作成 ##################################### 3GLuint FrameWork::Shader::CreateProgram(std::shared_ptr<std::vector<GLchar>> vert, std::shared_ptr<std::vector<GLchar>> frag) 4{ 5 const GLuint program = glCreateProgram(); //シェーダープログラムを作成 6 7 if (vert != nullptr) 8 { 9 const GLuint vobj = glCreateShader(GL_VERTEX_SHADER); 10//////////////////////////////////////////////////////////////////////////////////////// 11 GLint n = frag->size(); 12 glShaderSource(vobj, 1,(GLchar**)frag->data(), &n); 13//////////////////////////////////////////////////////////////////////////////////////// 14 glCompileShader(vobj); 15 CompileInfoLog(vobj, "Complie Error: Vertex Shader"); 16 glAttachShader(program, vobj); 17 glDeleteShader(vobj); 18 } 19 else 20 { 21 std::cerr << "頂点シェーダー読み込み失敗" << std::endl; 22 } 23 24 if (frag != nullptr) 25 { 26 const GLuint fobj = glCreateShader(GL_FRAGMENT_SHADER); 27 glShaderSource(fobj, 1, (const GLchar**)(*frag).data(), NULL); 28 glCompileShader(fobj); 29 CompileInfoLog(fobj, "Complie Error: Fragment Shader"); 30 glAttachShader(program, fobj); 31 glDeleteShader(fobj); 32 } 33 else 34 { 35 std::cerr << "フラグメントシェーダー読み込み失敗" << std::endl; 36 } 37 38 glLinkProgram(program); //リンクプログラム 39 ProgramInfoLog(program); //リンク時のログを表示 40 41 return program; 42} 43
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/30 06:05