Mam inny błąd sterownika OpenGL ES. Tym razem próbuję skompilować następujące linie:OpenGL ulega awarii podczas łączenia programu, LG Nexus 4
precision mediump float;
varying highp vec2 textureCoordinate;
void main() {
highp vec4 color = texture2D(input0, textureCoordinate);
vec3 color3 = color.rgb;
vec2 tc = (2.0 * textureCoordinate) - 1.0;
float d = dot(tc, tc);
vec2 lookup = vec2(d, color3.r);
..
..
}
ale ja dostaję po linii:
GLES20.glLinkProgram(program);
rodzimy katastrofy: „Fatal sygnału 11 (SIGDEV) na 0x00000060 (kod = 1), wątek 1231 " Zgaduję, że tak się dzieje, ponieważ LG nexus 4 używa GPU Adreno, a także zawiesza się dla mnie z kodem błędu 14 na innej awarii - używając zbyt wielu makr.
Jeśli szukamy błędów w kodzie shadera, powinieneś dołączyć kod _complete_ shader. Brakuje wszystkich deklaracji zmiennych i zakładam, że zostawiłeś trochę rzeczy na końcu. Pomocny może być również kod aplikacji. –
Prawdopodobnie twój kod shadera nie kompiluje się, a zatem twój program nie może się połączyć. Nawiasem mówiąc, OpenGL ES nie ma shaderów, więc nie ma tu znaczenia dodawanie tagu OpenGL ES. – eozgonul
Proszę podać pełny kod modułu cieniującego. – keaukraine