Не отображается шейдер

Версия Minecraft
1.7.10
1,417
44
594
Доброго времени суток.

Пошел мутить шейдеры, получил по шее ошибку:
Java:
[01:38:45] [Client thread/ERROR]: ########## GL ERROR ##########
[01:38:45] [Client thread/ERROR]: @ Post render
[01:38:45] [Client thread/ERROR]: 1282: Invalid operation
Вызывается только при создании мира, где и происходит рендер модели с этим шейдером:
Код:
  final static int myShader = ShaderHelper.createProgram(null, "sacrafic/shader/shader.frag");
...
public static void Shpere() {
        Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("textures/blocks/anvil_base.png"));
        GL11.glPushMatrix();
        ShaderHelper.useShader(myShader);
        sphere.renderAll(); // рендерю модель
        ShaderHelper.releaseShader();
        GL11.glPopMatrix();
    }

ShaderHelper взял с Альфхейма: *Клац*

В /shader/shader.frag
Код:
#version 120

uniform sampler2D bgl_RenderedTexture;

void main() {
    vec2 texcoord = vec2(gl_TexCoord[0]);
    vec4 color = texture2D(bgl_RenderedTexture, texcoord);
    float gs = (color.r + color.g + color.g) / 3.0;
    
    float rm = 1.0;
    float gm = 0.85;
    float bm = 0.07;
    
    gl_FragColor = vec4(gs * rm, gs * gm, gs * bm, color.a);
}
 
Последнее редактирование:

CumingSoon

Местный стендапер
1,634
12
269
Ты вообще читал мой комментарий?
Тебе не кажется, что виновата эта строка:
GL20.glGetUniformLocation(proramID, "time");
Которая не принимает значение и ведёт к вызову:
GL20.glUniform1f(time, Minecraft.getMinecraft().theWorld.getTotalWorldTime() / 20.0F);
С, по сути, пустым указателем
 
1,111
47
420
Могу прикинуть, что виноваты следующие строки:
Java:
int time = GL20.glGetUniformLocation(proramID, "time");
GL20.glUniform1f(time, Minecraft.getMinecraft().theWorld.getTotalWorldTime() / 20.0F);
А там пофигу. Если передашь отрицательно, то все равно не крашнет.
Первый, кинь крашлог блин.
 
Сверху