Чо это? Я не очень шарю в майне, но по логике там должно быть что-то типаGlStateManager.activeTextureUnit. Тут будет 1
GlStateManager.activeTextureUnit - GL13.GL_TEXTURE0
Из-за чего угодно. После каждого своего гл метода чекай ошибку. А потому гугли этот метод в khronos'е и смотри из-за чего она.Почему может выдавать:
А в чем смысл?Чо это? Я не очень шарю в майне, но по логике там должно быть что-то типа
либо от GL_TEXTURE0
Да это идиотская константа от можанга, черт пойми для чегоОткуда берется единица вообще?
А еще я не знаю, что хранится в GlStateManager.activeTextureUnit. Либо там число от 0, либо от GL_TEXTURE0. Но предполагаю, что второе.
Что на счет использования юниформы sampler2D? Например, если хочу работать с текущей текстурой в шейдере?
Попробовал так:
Эффект как будто не трогаю эту юниформуScala:GL20.glUseProgram(id) val uniformID = GL20.glGetUniformLocation(id, "img")//она там uniform sampler2D img GL20.glUniform1i(uniformID, GlStateManager.activeTextureUnit /*OpenGlHelper.defaultTexUnit - GL13.GL_TEXTURE0*/) //GL33.glBindSampler(GlStateManager.activeTextureUnit, uniformID) bindTexture(new ResourceLocation(...))
Что я делаю неправильно?
uniform sampler2D DiffuseSampler;
...Угу... Попробую. Но фишка в том, что у меня всё работает даже с этой ошибкой... И вылетает она только один раз при запуске игры... Это страшно или не оч?Из-за чего угодно. После каждого своего гл метода чекай ошибку. А потому гугли этот метод в khronos'е и смотри из-за чего она.
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Misty World (mist)
Caused by: org.lwjgl.opengl.OpenGLException: Invalid operation (1282)
at org.lwjgl.opengl.Util.checkGLError(Util.java:59)
at org.lwjgl.opengl.GL20.glGetShaderi(GL20.java:542)
at ru.liahim.mist.shader.ShaderProgram.createProgram(ShaderProgram.java:83)
at ru.liahim.mist.shader.ShaderProgram.initShaders(ShaderProgram.java:24)
at ru.liahim.mist.common.ClientProxy.preInit(ClientProxy.java:60)
at ru.liahim.mist.common.Mist.preInit(Mist.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
if (GL20.glGetShaderi(program, GL20.GL_LINK_STATUS) == GL11.GL_FALSE)
GL20.GL_LINK_STATUS
?