Hey Ho, ich versuche mich gerade an Shadern und hab damit ein kleines Problem.
aus einem Tutorial habe ich den Code um einen Shader zu initialisieren:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
void Shader::set(string vert_pfad, string frag_pfad)
{
char* vs = NULL;
char* fs = NULL;
shader_v = glCreateShader(GL_VERTEX_SHADER);
shader_f = glCreateShader(GL_FRAGMENT_SHADER);
vs = textFileRead(vert_pfad.c_str());
fs = textFileRead(frag_pfad.c_str());
const char* vv = vs;
const char* ff = fs;
glShaderSource(shader_v, 1, &vv, NULL);
glShaderSource(shader_f, 1, &ff, NULL);
free(vs);free(fs);
glCompileShader(shader_v);
glCompileShader(shader_f);
shader_p = glCreateProgram();
glAttachShader(shader_p,shader_v);
glAttachShader(shader_p,shader_f);
glLinkProgram(shader_p);
}
|
Problem: der Rechner kommt im Debug-Modus nicht an dieser Stelle vorbei:
|
C-/C++-Quelltext
|
1
|
glShaderSource(shader_v, 1, &vv, NULL);
|
Im Release Modus ist alles kein Problem.
Der Fehler: Unhandled exception at 0x6962f340 in game.exe: 0xC0000005: Access violation reading location 0x00000000.
Dazu öffnet sich ein Seitchen:
No Source Available
Call stack location:
nvoglnt.dll!6962f340()
Ich verwende WinXP und VS C++ 2010
thx
ArthurII