Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

ArthurII

Treue Seele

  • »ArthurII« ist der Autor dieses Themas

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

1

17.08.2010, 15:14

Shader-problem

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
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

2

17.08.2010, 15:19

Hast du im Debugger mal überprüft ob dein vv Array wirklich den Source enthält?

Wenn ich mich richtig entsinne dürfte das ganze auch funktionieren wenn du direkt &vs angibst und nicht den Umweg über vv machst.

ArthurII

Treue Seele

  • »ArthurII« ist der Autor dieses Themas

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

3

22.08.2010, 21:18

ich werds mal testen, wenn ich wieder in Aachen bei meinem Hauptrechner bin. Proggen am Laptop ist doof...
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

ArthurII

Treue Seele

  • »ArthurII« ist der Autor dieses Themas

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

4

24.08.2010, 20:57

Verdammt was bin ich für ein Horst! Hab versucht 'nen Shader zu laden der an dem Pfad, der fürs Debuggen gültig ist, gar nicht aufzufinden ist... *kopfanwand**kopfanwand*

gibt es da irgendeine Möglichkeit solche Fehler auszuschließen? kann ich zb. das Verzeichnis in dem die Release-Exe erzeugt wird zum Arbeitsverzeichnis des Debuggers machen, ohne dass dieses mit irgendwelchen für den Release unnötigen Daten zugemüllt wird??
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

24.08.2010, 23:11

Natürlich. Du kannst das Arbeitsverzeichnis fürs Debuggen in den Projekteigenschaften einstellen...

ArthurII

Treue Seele

  • »ArthurII« ist der Autor dieses Themas

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

6

25.08.2010, 21:14

hat wunderbar geklappt! thx

Meine Shader machen es zwar immer noch net so wie sie sollen, aber das problem erscheint mir etwas zu umfangreich um es hier zu posten. muss da erst mal die stelle etwas genauer eingrenzen...
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

Werbeanzeige