List of usage examples for org.lwjgl.opengl GL14 glBlendColor
public static void glBlendColor(@NativeType("GLfloat") float red, @NativeType("GLfloat") float green, @NativeType("GLfloat") float blue, @NativeType("GLfloat") float alpha)
From source file:com.badlogic.gdx.backends.jglfw.JglfwGL20.java
License:Apache License
public void glBlendColor(float red, float green, float blue, float alpha) { GL14.glBlendColor(red, green, blue, alpha); }
From source file:de.ellpeck.actuallyadditions.mod.particle.ParticleLaserItem.java
@Override public void renderParticle(BufferBuilder buffer, Entity entityIn, float partialTicks, float rotationX, float rotationZ, float rotationYZ, float rotationXY, float rotationXZ) { GlStateManager.pushMatrix();/* w ww. j av a2s. co m*/ RenderHelper.enableStandardItemLighting(); GlStateManager.translate(this.posX - TileEntityRendererDispatcher.staticPlayerX, this.posY - TileEntityRendererDispatcher.staticPlayerY, this.posZ - TileEntityRendererDispatcher.staticPlayerZ); GlStateManager.scale(0.3F, 0.3F, 0.3F); double boop = Minecraft.getSystemTime() / 600D; GlStateManager.rotate((float) (boop * 40D % 360), 0, 1, 0); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_CONSTANT_COLOR, GlStateManager.SourceFactor.ONE.factor, GlStateManager.DestFactor.ZERO.factor); float ageRatio = (float) this.particleAge / (float) this.particleMaxAge; float color = this.motionY < 0 ? 1F - ageRatio : ageRatio; GL14.glBlendColor(color, color, color, color); AssetUtil.renderItemWithoutScrewingWithColors(this.stack); RenderHelper.disableStandardItemLighting(); GlStateManager.popMatrix(); }
From source file:de.sanandrew.mods.turretmod.client.event.RenderForcefieldHandler.java
License:Creative Commons License
@SubscribeEvent(priority = EventPriority.HIGH) public void onRenderWorldLast(RenderWorldLastEvent event) { Minecraft mc = Minecraft.getMinecraft(); Entity renderEntity = mc.getRenderViewEntity(); if (renderEntity == null) { return;/*from w w w. ja v a 2 s .c o m*/ } final float partialTicks = event.getPartialTicks(); double renderX = renderEntity.lastTickPosX + (renderEntity.posX - renderEntity.lastTickPosX) * partialTicks; double renderY = renderEntity.lastTickPosY + (renderEntity.posY - renderEntity.lastTickPosY) * partialTicks; double renderZ = renderEntity.lastTickPosZ + (renderEntity.posZ - renderEntity.lastTickPosZ) * partialTicks; List<ForcefieldCube> cubes = new ArrayList<>(); int worldTicks = (int) (mc.world.getTotalWorldTime() % Integer.MAX_VALUE); Iterator<Map.Entry<Integer, Queue<IForcefieldProvider>>> it = this.fieldProviders.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, Queue<IForcefieldProvider>> entry = it.next(); Entity entity = mc.world.getEntityByID(entry.getKey()); if (entity == null || entry.getValue().size() < 1) { it.remove(); continue; } Iterator<IForcefieldProvider> itFF = entry.getValue().iterator(); while (itFF.hasNext()) { IForcefieldProvider ffProvider = itFF.next(); ColorObj color = new ColorObj(ffProvider.getShieldColor()); double entityX = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * partialTicks; double entityY = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * partialTicks; double entityZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * partialTicks; ForcefieldCube cube = new ForcefieldCube( new Vec3d(entityX - renderX, entityY - renderY, entityZ - renderZ), ffProvider.getShieldBoundingBox(), color); cube.fullRendered = ffProvider.renderFull(); if (entity.isDead || !entity.isEntityAlive() || !ffProvider.isShieldActive() || !mc.world.loadedEntityList.contains(entity)) { if (ffProvider.hasSmoothFadeOut()) { this.fadeOutFields.add(cube); } itFF.remove(); } else { if (TmrConfiguration.calcForcefieldIntf) { for (ForcefieldCube intfCube : cubes) { cube.interfere(intfCube, false); intfCube.interfere(cube, true); } } cubes.add(cube); } } } Iterator<ForcefieldCube> fadeOutIt = this.fadeOutFields.iterator(); while (fadeOutIt.hasNext()) { ForcefieldCube shield = fadeOutIt.next(); if (shield.boxColor.alpha() <= 0) { fadeOutIt.remove(); } else { cubes.add(shield); shield.boxColor.setAlpha(shield.boxColor.alpha() - 3); } } Tessellator tess = Tessellator.getInstance(); for (int pass = 1; pass <= 5; pass++) { float transformTexAmount = worldTicks % 400 + event.getPartialTicks(); float texTranslateX = 0.0F; float texTranslateY = 0.0F; switch (pass) { case 1: texTranslateX = transformTexAmount * -0.01F; texTranslateY = transformTexAmount * 0.01F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P1.getResource()); break; case 2: texTranslateX = transformTexAmount * 0.005F; texTranslateY = transformTexAmount * 0.005F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P2.getResource()); break; case 3: texTranslateX = transformTexAmount * -0.005F; texTranslateY = transformTexAmount * 0.005F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P1.getResource()); break; case 4: texTranslateX = transformTexAmount * 0.0025F; texTranslateY = transformTexAmount * 0.0025F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P2.getResource()); break; case 5: texTranslateX = transformTexAmount * 0.00F; texTranslateY = transformTexAmount * 0.00F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P3.getResource()); break; } GlStateManager.matrixMode(GL11.GL_TEXTURE); GlStateManager.loadIdentity(); GlStateManager.translate(texTranslateX, texTranslateY, 0.0F); GlStateManager.matrixMode(GL11.GL_MODELVIEW); GlStateManager.enableBlend(); GlStateManager.blendFunc(GlStateManager.SourceFactor.CONSTANT_ALPHA, GlStateManager.DestFactor.ONE_MINUS_CONSTANT_ALPHA); for (ForcefieldCube cube : cubes) { tess.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); cube.draw(tess); GL14.glBlendColor(1.0f, 1.0f, 1.0f, cube.boxColor.fAlpha() * 0.5F); GlStateManager.depthMask(false); GlStateManager.disableCull(); tess.draw(); GlStateManager.enableCull(); GlStateManager.depthMask(true); GL14.glBlendColor(1.0F, 1.0F, 1.0F, 1.0F); } GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.disableBlend(); GlStateManager.matrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); GlStateManager.matrixMode(GL11.GL_MODELVIEW); } }
From source file:io.root.gfx.glutils.GL.java
License:Apache License
public static void glBlendColor(float red, float green, float blue, float alpha) { GL14.glBlendColor(red, green, blue, alpha); }
From source file:jpcsp.graphics.RE.RenderingEngineLwjgl.java
License:Open Source License
@Override public void setBlendColor(float[] color) { try {// w w w . j a v a 2s .com GL14.glBlendColor(color[0], color[1], color[2], color[3]); } catch (IllegalStateException e) { log.warn("VideoEngine: " + e.getMessage()); } }
From source file:net.malisis.blocks.renderer.VanishingBlockRenderer.java
License:Open Source License
private void renderVanishingTileEntity() { tileEntity = TileEntityUtils.getTileEntity(VanishingTileEntity.class, world, pos); if (tileEntity == null) return;/*from w w w. j ava 2s . co m*/ // if (!tileEntity.blockDrawn/* || (!tileEntity.isInTransition() && !tileEntity.isVibrating())*/) // { // if (!tileEntity.isPowered() && tileEntity.getCopiedTileEntity() != null) // { // clean(); // TileEntityRendererDispatcher.instance.renderTileEntity(tileEntity.getCopiedTileEntity(), partialTick, 0); // } // if (tileEntity.blockDrawn) // return; // } enableBlending(); float fx = 0.0F; float fy = 0.0F; float fz = 0.0F; float scale = (float) (tileEntity.getDuration() - tileEntity.getTransitionTimer()) / tileEntity.getDuration(); boolean rendered = tileEntity.getCopiedState() != null; RenderParameters rp = new RenderParameters(); rp.useBlockBounds.set(false); rp.interpolateUV.set(false); // randomize position for vibrations if (tileEntity.isVibrating()) { rp.alpha.set(200); fx = rand.nextFloat() * 0.05F; fy = rand.nextFloat() * 0.05F; fz = rand.nextFloat() * 0.05F; if (rand.nextBoolean()) GL11.glTranslated(fx, fy, fz); else GL11.glRotatef(rand.nextInt(5), 1, 1, 1); } else if (tileEntity.isInTransition()) { int alpha = tileEntity.getCopiedState() != null ? 255 - (int) (scale * 255) : (int) (scale * 255); rp.alpha.set(alpha); cube.scale(scale - 0.001F); } else if (tileEntity.blockDrawn) return; if (tileEntity.getCopiedState() != null) { BlockRendererDispatcher blockRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher(); wr.setVertexFormat(DefaultVertexFormats.BLOCK); try { boolean smbr = MalisisBlocksSettings.simpleMixedBlockRendering.get(); MalisisBlocksSettings.simpleMixedBlockRendering.set(true); BlockPos translate = BlockPosUtils.chunkPosition(pos); //GlStateManager.pushMatrix(); GlStateManager.translate(0.5F, 0.5F, 0.5F); GlStateManager.scale(scale, scale, scale); if (tileEntity.getCopiedState().getBlock().getRenderType() == MalisisCore.malisisRenderType) GlStateManager.translate(-translate.getX(), -translate.getY(), -translate.getZ()); else GlStateManager.translate(-pos.getX(), -pos.getY(), -pos.getZ()); GlStateManager.translate(-0.5F, -0.5F, -0.5F); GL11.glBlendFunc(GL11.GL_CONSTANT_ALPHA, GL11.GL_ONE_MINUS_CONSTANT_ALPHA); // GL11.glAlphaFunc(GL11.GL_GREATER, 1F); //GL14.glBlendColor(0, 0, 0, 1 - scale); //TODO: render underlying model with vanishing block texture // renderBlocks.overrideBlockTexture = block.getIcon(blockMetadata, 0); // rendered = renderBlocks.renderBlockByRenderType(tileEntity.copiedBlock, x, y, z); // renderBlocks.overrideBlockTexture = null; // next(); GL14.glBlendColor(0, 0, 0, scale); for (EnumWorldBlockLayer layer : EnumWorldBlockLayer.values()) { if (!tileEntity.getCopiedState().getBlock().canRenderInLayer(layer)) continue; ForgeHooksClient.setRenderLayer(layer); if (layer == EnumWorldBlockLayer.TRANSLUCENT) GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); if (tileEntity.getCopiedState().getBlock().getRenderType() == MalisisCore.malisisRenderType) blockRenderer.renderBlock(tileEntity.getCopiedState(), pos, ProxyAccess.get(world), wr); else { IBakedModel model = blockRenderer.getModelFromBlockState(tileEntity.getCopiedState(), ProxyAccess.get(world), pos); rendered |= blockRenderer.getBlockModelRenderer().renderModel(ProxyAccess.get(world), model, tileEntity.getCopiedState(), pos, wr, false); } next(); } if (!rendered) drawShape(cube, rp); //GlStateManager.popMatrix(); if (tileEntity.getCopiedTileEntity() != null) { clean(); TileEntityRendererDispatcher.instance.renderTileEntity(tileEntity.getCopiedTileEntity(), partialTick, 0); } MalisisBlocksSettings.simpleMixedBlockRendering.set(smbr); } catch (Exception e) { drawShape(cube, rp); } } else drawShape(cube, rp); }
From source file:net.malisis.core.client.gui.component.UIComponent.java
License:Open Source License
/** * Draws this {@link UIComponent} Called by {@link #parent} component.<br> * Will set the size of {@link #shape} according to the size of this <code>UIComponent</code><br> * Rendering is surrounded by glPushAttrib(GL_ALL_ATTRIB_BITS) so no state should bleed between components. Also, a draw() is triggered * between background and foreground./*from ww w . j a v a 2s . c om*/ * * @param renderer the renderer * @param mouseX the mouse x * @param mouseY the mouse y * @param partialTick the partial tick */ public void draw(GuiRenderer renderer, int mouseX, int mouseY, float partialTick) { if (!isVisible()) return; if (shape != null) { shape.resetState(); shape.setSize(getWidth(), getHeight()); } if (rp != null) rp.reset(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); if (getAlpha() < 255) { GL11.glBlendFunc(GL11.GL_CONSTANT_ALPHA, GL11.GL_ONE_MINUS_CONSTANT_ALPHA); GL14.glBlendColor(1, 1, 1, (float) getAlpha() / 255); } //draw background renderer.currentComponent = this; drawBackground(renderer, mouseX, mouseY, partialTick); renderer.next(); //draw foreground renderer.currentComponent = this; ClipArea area = this instanceof IClipable ? ((IClipable) this).getClipArea() : null; if (area != null) renderer.startClipping(area); //GL11.glColor4f(1, 1, 1, 0.5F); drawForeground(renderer, mouseX, mouseY, partialTick); if (area != null) renderer.endClipping(area); renderer.next(); for (IControlComponent c : controlComponents) c.draw(renderer, mouseX, mouseY, partialTick); GL11.glPopAttrib(); }
From source file:net.malisis.demo.lavapool.LavaPoolRenderer.java
License:Open Source License
@Override public void render() { int a = 155;/*from w w w .j a va 2 s . c o m*/ enableBlending(); tileEntity = (LavaPoolTileEntity) super.tileEntity; block = (LavaPoolBlock) super.block; if (tileEntity.startAnim) { ar.setStartTime(); tileEntity.startAnim = false; rp.alpha.set(a); renderBlocks = new RenderBlocks(LavaPoolDemo.lavaPool.multiBlock); } AlphaTransform at = new AlphaTransform(a, 0).forTicks(40, 40); ar.animate(rp, at); rp.interpolateUV.set(false); for (BlockState state : block.multiBlock) { if (!state.matchesWorld(world)) { GL11.glPushMatrix(); GL11.glTranslated(0.5F, 0.5F, 0.5F); GL11.glTranslated(-x - 0.5F, -y - 0.5F, -z - 0.5F); GL11.glBlendFunc(GL11.GL_CONSTANT_ALPHA, GL11.GL_ONE_MINUS_CONSTANT_ALPHA); GL14.glBlendColor(0, 0, 0, rp.alpha.get() / 255F); renderBlocks.renderBlockByRenderType(state.getBlock(), state.getX(), state.getY(), state.getZ()); GL11.glPopMatrix(); } } }
From source file:net.malisis.doors.renderer.VanishingBlockRenderer.java
License:Open Source License
private void renderVanishingTileEntity() { VanishingTileEntity te = (VanishingTileEntity) this.tileEntity; if (!te.inTransition && !te.vibrating) { if (!te.powered && te.copiedTileEntity != null) { clean();//from ww w . ja v a2 s. c o m TileEntityRendererDispatcher.instance.renderTileEntity(te.copiedTileEntity, partialTick); } return; } GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glAlphaFunc(GL11.GL_GREATER, 0); float fx = 0.0F; float fy = 0.0F; float fz = 0.0F; float scale = (float) (te.getDuration() - te.transitionTimer) / (float) te.getDuration(); boolean rendered = te.copiedBlock != null; RenderParameters rp = new RenderParameters(); rp.useBlockBounds.set(false); rp.interpolateUV.set(false); Shape shape = ShapePreset.Cube(); // randomize position for vibrations if (!te.inTransition && !te.powered) { rp.alpha.set(200); fx = rand.nextFloat() * 0.05F; fy = rand.nextFloat() * 0.05F; fz = rand.nextFloat() * 0.05F; if (rand.nextBoolean()) GL11.glTranslated(fx, fy, fz); else GL11.glRotatef(rand.nextInt(5), 1, 1, 1); } else { int alpha = te.copiedBlock != null ? 255 - (int) (scale * 255) : (int) (scale * 255); rp.alpha.set(alpha); shape.scale(scale - 0.001F); } if (te.copiedBlock != null) { RenderBlocks renderBlocks = new RenderBlocks(ProxyAccess.get(world)); renderBlocks.renderAllFaces = true; try { boolean smbr = MalisisDoorsSettings.simpleMixedBlockRendering.get(); MalisisDoorsSettings.simpleMixedBlockRendering.set(true); GL11.glPushMatrix(); GL11.glTranslated(0.5F, 0.5F, 0.5F); GL11.glScalef(scale, scale, scale); GL11.glTranslated(-x - 0.5F, -y - 0.5F, -z - 0.5F); GL11.glBlendFunc(GL11.GL_CONSTANT_ALPHA, GL11.GL_ONE_MINUS_CONSTANT_ALPHA); GL14.glBlendColor(0, 0, 0, 1 - scale); renderBlocks.overrideBlockTexture = block.getIcon(blockMetadata, 0); rendered = renderBlocks.renderBlockByRenderType(te.copiedBlock, x, y, z); renderBlocks.overrideBlockTexture = null; next(); if (te.copiedBlock.canRenderInPass(0)) { GL14.glBlendColor(0, 0, 0, scale); rendered |= renderBlocks.renderBlockByRenderType(te.copiedBlock, x, y, z); next(); } if (te.copiedBlock.canRenderInPass(1)) { GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); rendered |= renderBlocks.renderBlockByRenderType(te.copiedBlock, x, y, z); next(); } if (!rendered) drawShape(shape, rp); GL11.glPopMatrix(); if (te.copiedTileEntity != null) { clean(); TileEntityRendererDispatcher.instance.renderTileEntity(te.copiedTileEntity, partialTick); } MalisisDoorsSettings.simpleMixedBlockRendering.set(smbr); } catch (Exception e) { drawShape(shape, rp); } } else drawShape(shape, rp); }
From source file:org.oscim.gdx.LwjglGL20.java
License:Apache License
public void blendColor(float red, float green, float blue, float alpha) { GL14.glBlendColor(red, green, blue, alpha); }