Problem bei Shader-Kompilierung (Windows, OpenGL)

Boddlnagg
Mausschubser
Mausschubser
Beiträge: 54
Registriert: 10. Dez 2012 12:07

Problem bei Shader-Kompilierung (Windows, OpenGL)

Beitrag von Boddlnagg »

Auf meinem Rechner stürzt das unmodifizierte Beispielprogramm für Übung 5 beim Start ab (wenn das OpenGL-Backend verwendet wird; mit D3D geht es). Es scheint an der Shaderkompilierung zu liegen, denn das Problem tritt auf in compileShader (in ProgramImpl.cpp):
glGetShaderiv(id, GL_COMPILE_STATUS, &result); setzt die result Variable nicht und der uninitialisierte Wert ist != GL_TRUE, daraufhin setzt auch glGetShaderiv(id, GL_INFO_LOG_LENGTH, &length); die length Variable nicht und die folgende Speicherallokation für errormessage schlängt mit einer std::bad_alloc Exception fehl, weil length zu groß ist (negativer int-Wert).

Ich habe einen Intel HD3000 Grafikchip (mit zusätzlicher NVidia-Grafikkarte, die aber dank "Nvidia Optimus" normalerweise nicht verwendet wird).

RobDangerous
Computerversteher
Computerversteher
Beiträge: 363
Registriert: 14. Okt 2014 17:05

Re: Problem bei Shader-Kompilierung (Windows, OpenGL)

Beitrag von RobDangerous »

Das klingt, als würde mit OpenGL-Shadern da so grundsätzlich gar nix funktionieren. Zumindest glGetShaderiv(id, GL_INFO_LOG_LENGTH, &length); sollte ja tun. Ist der Treiber aktuell?

Boddlnagg
Mausschubser
Mausschubser
Beiträge: 54
Registriert: 10. Dez 2012 12:07

Re: Problem bei Shader-Kompilierung (Windows, OpenGL)

Beitrag von Boddlnagg »

Auch nach einem Treiberupdate bleibt die Situation die selbe. Aber inzwischen habe ich herausgefunden, wie ich die NVidia-Grafik stattdessen verwende, und damit geht es.

Allerdings auch nur bis zu dem Punkt, wo der DepthTest aktiviert wurde, denn mit angeschaltetem Depthbuffer bleibt unter OpenGL der Bildschirm schwarz, auch bei meinen Teamkollegen (Mac OSX). Mit D3D funktioniert bei mir weiterhin alles.

RobDangerous
Computerversteher
Computerversteher
Beiträge: 363
Registriert: 14. Okt 2014 17:05

Re: Problem bei Shader-Kompilierung (Windows, OpenGL)

Beitrag von RobDangerous »

bzgl. depth buffer und OpenGL gab es noch einen Bug, den ich am Freitag behoben hatte. Bitte Kore einmal aktualisieren (git pull origin master im Kore-Verzeichnis).

Antworten

Zurück zu „Archiv“