Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Framebuffer bufferA = new Framebuffer(displayWidth, displayHeight, true);
- Framebuffer bufferB = new Framebuffer(displayWidth, displayHeight, true);
- private void renderLightRuneFx(Vec3Int coord) {
- glPushMatrix();
- double offsetX = coord.x - (player.lastTickPosX + (player.posX - player.lastTickPosX) * partialTicks) + 0.5;
- double offsetY = coord.y - (player.lastTickPosY + (player.posY - player.lastTickPosY) * partialTicks) + 5.5;
- double offsetZ = coord.z - (player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * partialTicks) + 0.5;
- glTranslated(offsetX, offsetY, offsetZ);
- glColor4f(0.8f, 0.8f, 1f, 0.9f);
- glRotatef(renderTick, 0, 1, 0);
- glDisable(GL_TEXTURE_2D);
- glEnable(GL_BLEND);
- glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
- // Render to framebuffer A
- bufferA.bindFramebuffer(false); // true = adjust viewport
- sphere.draw(2, 24, 24);
- glEnable(GL_TEXTURE_2D);
- // Render to framebuffer B, apply first blur
- ShaderHelper.useShader(ShaderHelper.GAUSSIAN_BLUR_X);
- bufferB.bindFramebuffer(false);
- ShaderHelper.setUniform(ShaderHelper.GAUSSIAN_BLUR_X, "tex", bufferA.framebufferTexture);
- glBindTexture(GL_TEXTURE_2D, bufferA.framebufferTexture);
- glDrawArrays(GL_TRIANGLES, 0, 6);
- // Render to screen, apply second blur
- ShaderHelper.useShader(ShaderHelper.GAUSSIAN_BLUR_Y);
- bufferB.unbindFramebuffer();
- ShaderHelper.setUniform(ShaderHelper.GAUSSIAN_BLUR_Y, "tex", bufferB.framebufferTexture);
- glBindTexture(GL_TEXTURE_2D, bufferB.framebufferTexture);
- glDrawArrays(GL_TRIANGLES, 0, 6);
- glDisable(GL_BLEND);
- glPopMatrix();
- ShaderHelper.releaseShader();
- }
- public static void useShader(int shader) {
- if(!useShaders())
- return;
- glUseProgram(shader);
- }
- public static void setUniform(int shader, String name, float val1, float val2) {
- //And similar overloads
- int location = glGetUniformLocation(shader, name);
- glUniform2f(location, val1, val2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement