Hallo Community,
ich habe heute einen relativ großen Wrapper um die Shader von OpenGL gebastelt, ihn mittlerweile auch debuggen können, und stehe nun nur noch vor einem Problem, das ich einfach nicht gelöst bekommen will:
Bei folgendem Code:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
bool VertexShader::init(const std::string& name)
{
int compile = 0;
m_shader = glCreateShader(GL_VERTEX_SHADER);
std::string file = loadFile(name);
const char* source = file.c_str();
glShaderSource(m_shader, 1, &source, 0);
delete[] source;
glCompileShader(m_shader);
glGetShaderiv(m_shader, GL_COMPILE_STATUS, &compile);
if(compile == 0)
return false;
return true;
}
|
(m_shader ist hierbei eine MemberVariable einer Basis-Klasse, ein unsigned int, und public)
bekomme ich immer die Fehlermeldung, es liege eine Zugriffsverletzung bei der Zeile
|
C-/C++-Quelltext
|
1
|
m_shader = glCreateShader(GL_VERTEX_SHADER);
|
vor. Hat jemand von euch eine Idee, woran das liegen könnte?
IDE:
Visual Studio 2012 Professional C++
Viele, liebe Grüße,
~ EuadeLuxe ~
@Anhang:
loadFile() liest lediglich die Datei mit dem Namen name als ganzen string ein.