List of usage examples for org.lwjgl.opengl ARBShaderObjects glUniform1iARB
public static native void glUniform1iARB(@NativeType("GLint") int location, @NativeType("GLint") int v0);
From source file:com.a2client.corex.ShaderUniform.java
License:Open Source License
public void setValue(int data) { if (ID != -1) { if (Type == Const.SHADER_UNIFORM_TYPE.utInt) ARBShaderObjects.glUniform1iARB(ID, data); else//from w ww.j a v a2 s . c om Log.error("shader unifrorm set wrong val" + Type + " must be utInt"); } }
From source file:com.ardor3d.scene.state.lwjgl.shader.LwjglShaderUtil.java
License:Open Source License
private static void updateShaderUniform(final ShaderVariableInt shaderUniform) { ARBShaderObjects.glUniform1iARB(shaderUniform.variableID, shaderUniform.value1); }
From source file:com.github.atomicblom.nullplayerexception.client.render.ShaderHelper.java
License:Open Source License
public static void useShader(int shader, ShaderCallback callback) { if (!useShaders()) return;/*from w ww .j av a 2 s . co m*/ ARBShaderObjects.glUseProgramObjectARB(shader); if (shader != 0) { int time = ARBShaderObjects.glGetUniformLocationARB(shader, "time"); ARBShaderObjects.glUniform1iARB(time, ClientTickHandler.ticksInGame); if (callback != null) callback.call(shader); } }
From source file:com.mtbs3d.minecrift.VRRenderer.java
License:LGPL
private void doDistortionAndSuperSample() { int FBWidth = this.mc.displayFBWidth; int FBHeight = this.mc.displayFBHeight; if (this.mc.vrSettings.useDistortion || this.mc.vrSettings.useSupersample || this.mc.vrSettings.useFXAA) { // Setup ortho projection GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity();/*w w w . jav a 2s.c o m*/ GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glLoadIdentity(); GL11.glTranslatef(0.0f, 0.0f, -0.7f); } if (this.mc.vrSettings.useSupersample) { FBWidth = (int) ceil(this.mc.displayFBWidth * this.mc.vrSettings.superSampleScaleFactor); FBHeight = (int) ceil(this.mc.displayFBHeight * this.mc.vrSettings.superSampleScaleFactor); } if (mc.vrSettings.useDistortion) { //mc.checkGLError("Before distortion"); preDistortionFBO.bindTexture(); if (this.mc.vrSettings.useFXAA) { //chain into the FXAA FBO fxaaFBO.bindRenderTarget(); } else if (this.mc.vrSettings.useSupersample) { //chain into the superSample FBO postDistortionFBO.bindRenderTarget(); } else { unbindFBORenderTarget(); } GL11.glClearColor(1.0f, 1.0f, 1.0f, 0.5f); GL11.glClearDepth(1.0D); GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer on the framebuffer to black // Render onto the entire screen framebuffer GL11.glViewport(0, 0, FBWidth, FBHeight); // Set the distortion shader as in use ARBShaderObjects.glUseProgramObjectARB(_Distortion_shaderProgramId); // Set up the fragment shader uniforms ARBShaderObjects.glUniform1iARB(_DistortionShader_RenderTextureUniform, 0); if (this.mc.vrSettings.useDistortionTextureLookupOptimisation) { distortParams.bindTexture_Unit1(); ARBShaderObjects.glUniform1iARB(_DistortionShader_DistortionMapUniform, 1); } ARBShaderObjects.glUniform1iARB(_DistortionShader_half_screenWidthUniform, distortParams.half_screenWidth); ARBShaderObjects.glUniform2fARB(_DistortionShader_LeftLensCenterUniform, distortParams.leftLensCenterX, distortParams.leftLensCenterY); ARBShaderObjects.glUniform2fARB(_DistortionShader_RightLensCenterUniform, distortParams.rightLensCenterX, distortParams.rightLensCenterY); ARBShaderObjects.glUniform2fARB(_DistortionShader_LeftScreenCenterUniform, distortParams.leftScreenCenterX, distortParams.leftScreenCenterY); ARBShaderObjects.glUniform2fARB(_DistortionShader_RightScreenCenterUniform, distortParams.rightScreenCenterX, distortParams.rightScreenCenterY); ARBShaderObjects.glUniform2fARB(_DistortionShader_ScaleUniform, distortParams.scaleX, distortParams.scaleY); ARBShaderObjects.glUniform2fARB(_DistortionShader_ScaleInUniform, distortParams.scaleInX, distortParams.scaleInY); ARBShaderObjects.glUniform4fARB(_DistortionShader_HmdWarpParamUniform, distortParams.DistortionK[0], distortParams.DistortionK[1], distortParams.DistortionK[2], distortParams.DistortionK[3]); ARBShaderObjects.glUniform4fARB(_DistortionShader_ChromAbParamUniform, distortParams.ChromaticAb[0], distortParams.ChromaticAb[1], distortParams.ChromaticAb[2], distortParams.ChromaticAb[3]); drawQuad(); // Stop shader use ARBShaderObjects.glUseProgramObjectARB(0); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); //mc.checkGLError("After distortion"); } if (this.mc.vrSettings.useFXAA) { fxaaFBO.bindTexture(); if (this.mc.vrSettings.useSupersample) { //chain into the superSample FBO postDistortionFBO.bindRenderTarget(); } else { unbindFBORenderTarget(); } GL11.glClearColor(1.0f, 1.0f, 1.0f, 0.5f); GL11.glClearDepth(1.0D); GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer on the framebuffer to black // Render onto the entire screen framebuffer GL11.glViewport(0, 0, FBWidth, FBHeight); // Set the distortion shader as in use ARBShaderObjects.glUseProgramObjectARB(_FXAA_shaderProgramId); // Set up the fragment shader uniforms ARBShaderObjects.glUniform1iARB(_FXAA_RenderTextureUniform, 0); ARBShaderObjects.glUniform2fARB(_FXAA_RenderedTextureSizeUniform, (float) FBWidth, (float) FBHeight); drawQuad(); // Stop shader use ARBShaderObjects.glUseProgramObjectARB(0); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); //ShaderHelper.checkGLError("After fxaa"); } if (this.mc.vrSettings.useSupersample) { // Now switch to 1st pass target framebuffer postSuperSampleFBO.bindRenderTarget(); // Bind the FBO postDistortionFBO.bindTexture(); GL11.glClearColor(0.0f, 0.0f, 1.0f, 0.5f); GL11.glClearDepth(1.0D); GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer on the framebuffer to black // Render onto the entire screen framebuffer GL11.glViewport(0, 0, this.mc.displayFBWidth, FBHeight); // Set the downsampling shader as in use ARBShaderObjects.glUseProgramObjectARB(_Lanczos_shaderProgramId); // Set up the fragment shader uniforms ARBShaderObjects.glUniform1fARB(_LanczosShader_texelWidthOffsetUniform, 1.0f / (3.0f * (float) this.mc.displayFBWidth)); ARBShaderObjects.glUniform1fARB(_LanczosShader_texelHeightOffsetUniform, 0.0f); ARBShaderObjects.glUniform1iARB(_LanczosShader_inputImageTextureUniform, 0); GL11.glClear(GL11.GL_COLOR_BUFFER_BIT); // Pass 1 drawQuad(); // mc.checkGLError("After Lanczos Pass1"); // Pass 2 // Now switch to 2nd pass screen framebuffer unbindFBORenderTarget(); postSuperSampleFBO.bindTexture(); GL11.glViewport(0, 0, this.mc.displayFBWidth, this.mc.displayFBHeight); GL11.glClearColor(0.0f, 0.0f, 1.0f, 0.5f); GL11.glClearDepth(1.0D); GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); // Bind the texture GL13.glActiveTexture(GL13.GL_TEXTURE0); // Set up the fragment shader uniforms for pass 2 ARBShaderObjects.glUniform1fARB(_LanczosShader_texelWidthOffsetUniform, 0.0f); ARBShaderObjects.glUniform1fARB(_LanczosShader_texelHeightOffsetUniform, 1.0f / (3.0f * (float) this.mc.displayFBHeight)); ARBShaderObjects.glUniform1iARB(_LanczosShader_inputImageTextureUniform, 0); drawQuad(); // Stop shader use ARBShaderObjects.glUseProgramObjectARB(0); // mc.checkGLError("After Lanczos Pass2"); } }
From source file:com.wuest.prefab.Structures.Render.ShaderHelper.java
License:Open Source License
public static void useShader(int shader) { if (!OpenGlHelper.shadersSupported) { return;//from w w w. j av a2 s . c o m } ARBShaderObjects.glUseProgramObjectARB(shader); if (shader != 0) { int time = ARBShaderObjects.glGetUniformLocationARB(shader, "time"); ARBShaderObjects.glUniform1iARB(time, ClientEventHandler.ticksInGame); int alpha = ARBShaderObjects.glGetUniformLocationARB(shader, "alpha"); ARBShaderObjects.glUniform1fARB(alpha, 0.4F); } }
From source file:de.sanandrew.mods.turretmod.client.gui.tinfo.GuiButtonCategory.java
License:Creative Commons License
private void doBtnShader(int shader) { TextureManager texMgr = Minecraft.getMinecraft().renderEngine; int heightMatchUniform = ARBShaderObjects.glGetUniformLocationARB(shader, "heightMatch"); int imageUniform = ARBShaderObjects.glGetUniformLocationARB(shader, "image"); int maskUniform = ARBShaderObjects.glGetUniformLocationARB(shader, "mask"); float heightMatch = this.ticksHovered / TIME; OpenGlHelper.setActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB); GlStateManager.bindTexture(texMgr.getTexture(this.texture).getGlTextureId()); ARBShaderObjects.glUniform1iARB(imageUniform, 0); OpenGlHelper.setActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB + TmrConfiguration.glSecondaryTextureUnit); GlStateManager.enableTexture2D();/*from w w w.j a va 2 s. com*/ GlStateManager.glGetInteger(GL11.GL_TEXTURE_BINDING_2D); ResourceLocation stencil = Resources.TINFO_GRP_STENCIL.getResource(); texMgr.getTexture(stencil); ITextureObject stencilTex; texMgr.bindTexture(stencil); stencilTex = texMgr.getTexture(stencil); GlStateManager.bindTexture(stencilTex.getGlTextureId()); ARBShaderObjects.glUniform1iARB(maskUniform, 7); ARBShaderObjects.glUniform1fARB(heightMatchUniform, heightMatch); }
From source file:de.sanandrew.mods.turretmod.client.shader.ShaderGrayscale.java
License:Creative Commons License
private void drawGrayscale(int shader, float brightness) { TextureManager texMgr = Minecraft.getMinecraft().renderEngine; int imageUniform = ARBShaderObjects.glGetUniformLocationARB(shader, "image"); int brightnessUniform = ARBShaderObjects.glGetUniformLocationARB(shader, "brightness"); OpenGlHelper.setActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB); GlStateManager.bindTexture(texMgr.getTexture(this.texture).getGlTextureId()); ARBShaderObjects.glUniform1iARB(imageUniform, 0); ARBShaderObjects.glUniform1fARB(brightnessUniform, brightness); }
From source file:de.sanandrew.mods.turretmod.client.shader.ShaderItemAlphaOverride.java
License:Creative Commons License
public void call(int shader) { TextureManager texMgr = Minecraft.getMinecraft().renderEngine; int alphaUniform = ARBShaderObjects.glGetUniformLocationARB(shader, "alpha"); int imageUniform = ARBShaderObjects.glGetUniformLocationARB(shader, "image"); OpenGlHelper.setActiveTexture(ARBMultitexture.GL_TEXTURE0_ARB); GL11.glBindTexture(GL11.GL_TEXTURE_2D, texMgr.getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).getGlTextureId()); ARBShaderObjects.glUniform1iARB(imageUniform, 0); ARBShaderObjects.glUniform1fARB(alphaUniform, this.alphaMulti); }
From source file:de.sanandrew.mods.turretmod.client.util.ShaderHelper.java
License:Open Source License
public static void useShader(int shader, Consumer<Integer> callback) { if (!areShadersEnabled()) { return;/* w w w. j ava 2 s . c om*/ } ARBShaderObjects.glUseProgramObjectARB(shader); if (shader != 0) { int time = ARBShaderObjects.glGetUniformLocationARB(shader, "time"); ARBShaderObjects.glUniform1iARB(time, ClientTickHandler.ticksInGame); if (callback != null) { callback.accept(shader); } } }
From source file:elucent.roots.render.ShaderHandler.java
License:Open Source License
public static void useShader(int shader, Consumer<Integer> callback) { if (!useShaders()) return;// w w w . j a v a2 s .c o m ARBShaderObjects.glUseProgramObjectARB(shader); if (shader != 0) { int time = ARBShaderObjects.glGetUniformLocationARB(shader, "time"); ARBShaderObjects.glUniform1iARB(time, ClientTickHandler.ticksInGame); if (callback != null) callback.accept(shader); } }