Advertisement
Guest User

Untitled

a guest
Jul 14th, 2015
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     private void renderLightRuneFx(Vec3Int coord) {
  2.         glPushMatrix();
  3.  
  4.         EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
  5.  
  6.  
  7.         double offsetX = coord.x - (player.lastTickPosX + (player.posX - player.lastTickPosX) * partialTicks) + 0.5;
  8.         double offsetY = coord.y - (player.lastTickPosY + (player.posY - player.lastTickPosY) * partialTicks) + 5.5;
  9.         double offsetZ = coord.z - (player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * partialTicks) + 0.5;
  10.  
  11.         int renderDistBlocks = FMLClientHandler.instance().getClient().gameSettings.renderDistanceChunks * 16;
  12.         if ((offsetX*offsetX + offsetZ*offsetZ) > (renderDistBlocks*renderDistBlocks)) return;
  13.  
  14.         glTranslated(offsetX, offsetY, offsetZ);
  15.         glColor4f(0.8f, 0.8f, 1f, 0.9f);
  16.         glRotatef(renderTick, 0, 1, 0);
  17.         glDisable(GL_TEXTURE_2D);
  18.  
  19.         glEnable(GL_BLEND);
  20.         glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
  21.  
  22.  
  23.         blurredXTexBuffer.bindFramebuffer(true); // true = adjust viewport
  24.         ShaderHelper.useShader(ShaderHelper.GAUSSIAN);
  25.         ShaderHelper.setUniform(ShaderHelper.GAUSSIAN, "direction", DIRECTION_X);
  26.  
  27.         sphere.draw(2, 24, 24);
  28.  
  29.         glEnable(GL_TEXTURE_2D);
  30.         blurredYTexBuffer.bindFramebuffer(true);
  31.         ShaderHelper.useShader(ShaderHelper.GAUSSIAN);
  32.         ShaderHelper.setUniform(ShaderHelper.GAUSSIAN, "direction", DIRECTION_Y);
  33.         glBindTexture(GL_TEXTURE_2D, blurredXTexBuffer.framebufferTexture);
  34.         glDrawArrays(GL_TRIANGLES, 0, 6);
  35.  
  36.         blurredYTexBuffer.unbindFramebuffer();
  37.         ShaderHelper.useShader(ShaderHelper.GAUSSIAN);
  38.         ShaderHelper.setUniform(ShaderHelper.GAUSSIAN, "direction", DIRECTION_Z);
  39.         glBindTexture(GL_TEXTURE_2D, blurredYTexBuffer.framebufferTexture);
  40.         glDrawArrays(GL_TRIANGLES, 0, 6);
  41.  
  42.         glEnable(GL_TEXTURE_2D);
  43.         glDisable(GL_BLEND);
  44.         glPopMatrix();
  45.     }
  46.  
  47.     public static void setUniform(int shader, String name, IntBuffer values) {
  48.         int location = ARBShaderObjects.glGetUniformLocationARB(shader, name);
  49.         ARBShaderObjects.glUniform1ARB(location, values);
  50.     }
  51.  
  52.     public static void useShader(int shader, IntConsumer callback) {
  53.         if(!useShaders())
  54.             return;
  55.  
  56.         ARBShaderObjects.glUseProgramObjectARB(shader);
  57.  
  58.         if(shader != 0) {
  59.             // We'll see if we need this
  60.             //int time = ARBShaderObjects.glGetUniformLocationARB(shader, "time");
  61.             //ARBShaderObjects.glUniform1iARB(time, ClientTickHandler.ticksInGame);
  62.  
  63.             if(callback != null)
  64.                 callback.accept(shader);
  65.         }
  66.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement