exState = exState.withProperty(Properties.AnimationProperty, pair.getLeft()); worldRenderer.setTranslation(x - pos.getX(), y - pos.getY(), z - pos.getZ()); worldRenderer.setTranslation(0, 0, 0);
.withProperty( AEBaseTileBlock.UP, forward ); buffer.setTranslation( x - pos.getX(), y - pos.getY(), z - pos.getZ() );
buffer.setTranslation( -te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ() ); dispatcher.getBlockModelRenderer().renderModel( te.getWorld(), model, blockState, te.getPos(), buffer, false ); buffer.setTranslation( 0, 0, 0 );
private void buildFaces(BufferBuilder builder, List<EnumFacing> faces, IBlockState state, Biome biome, BlockPos pos, int x, int z) { int color = this.getBlockColor(state, biome, pos); int red = (color >> 16) & 0xFF; int green = (color >> 8) & 0xFF; int blue = color & 0xFF; builder.setTranslation(x, pos.getY(), z); for (EnumFacing face : faces) { this.buildFace(builder, face, red, green, blue); } }
@Override public void renderParticle(@Nonnull BufferBuilder buffer, @Nonnull Entity entityIn, float partialTicks, float rotationX, float rotationZ, float rotationYZ, float rotationXY, float rotationXZ) { // Move the particle against the face of the block, and counteract the scaling so that it grows from the center buffer.setTranslation(-0.08 * facing.getDirectionVec().getX() * offset, -particleScale * height, -0.08 * facing.getDirectionVec().getZ() * offset); // Lie about rotation so that it always renders facing outwards from the machine super.renderParticle(buffer, entityIn, partialTicks, facing.getDirectionVec().getZ(), 1, facing.getDirectionVec().getX(), 0, 0); buffer.setTranslation(0, 0, 0); } }
@Override public void apply(@Nonnull BlockRenderLayer layer) { ForgeHooksClient.setRenderLayer(layer); setGlStateForPass(layer); BufferBuilder wr = Tessellator.getInstance().getBuffer(); wr.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); wr.setTranslation(translation.x, translation.y, translation.z); blocks.apply(new BlockRenderer(layer)); Tessellator.getInstance().draw(); wr.setTranslation(0, 0, 0); } }
@Override public void renderTileEntityFast(@Nonnull TileReservoirBase te, double x, double y, double z, float partialTicks, int destroyStage, float partial, @Nonnull BufferBuilder buffer) { if (NullHelper.untrust(te) != null && te.hasWorld() && !te.isInvalid() && !te.getTank().isEmpty()) { buffer.setTranslation(x, y, z); computeGeometry(te.getTank(), te.getWorld(), te.getPos()).apply(new RenderFacesFast(buffer)); buffer.setTranslation(0, 0, 0); } }
private void doWorldRenderPass(@Nonnull Vector3d trans, @Nonnull NNList<BlockPos> blocks, final @Nonnull BlockRenderLayer layer) { BufferBuilder wr = Tessellator.getInstance().getBuffer(); wr.begin(7, DefaultVertexFormats.BLOCK); Tessellator.getInstance().getBuffer().setTranslation(trans.x, trans.y, trans.z); blocks.apply(new Callback<BlockPos>() { @Override public void apply(@Nonnull BlockPos pos) { IBlockState bs = world.getBlockState(pos); Block block = bs.getBlock(); bs = bs.getActualState(world, pos); if (block.canRenderInLayer(bs, layer)) { renderBlock(bs, pos, world, Tessellator.getInstance().getBuffer()); } } }); Tessellator.getInstance().draw(); Tessellator.getInstance().getBuffer().setTranslation(0, 0, 0); }
@Override public void preRenderBlocks(final BufferBuilder buffer, final BlockPos pos) { buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR); buffer.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ()); }
private void finishTessellating() { Tessellator.getInstance().getBuffer().setTranslation(0, 0, 0); Tessellator.getInstance().draw(); }
@Override public ListenableFuture<Object> uploadChunk(final BlockRenderLayer layer, final BufferBuilder buffer, final RenderChunk renderChunk, final CompiledChunk compiledChunk, final double distanceSq) { if (!Minecraft.getMinecraft().isCallingFromMinecraftThread() || OpenGlHelper.useVbo()) { return super.uploadChunk(layer, buffer, renderChunk, compiledChunk, distanceSq); } uploadDisplayList(buffer, ((RenderOverlayList) renderChunk).getDisplayList(layer, compiledChunk), renderChunk); buffer.setTranslation(0.0, 0.0, 0.0); return Futures.immediateFuture(null); } }
public void render(@Nonnull TileEntity tileEntity, final @Nonnull IBlockState state) { final BlockPos pos = tileEntity.getPos(); final Tessellator tessellator = Tessellator.getInstance(); final BufferBuilder vertexBuffer = tessellator.getBuffer(); final BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); final IBakedModel ibakedmodel = blockrendererdispatcher.getBlockModelShapes().getModelForState(state); vertexBuffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); vertexBuffer.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ()); blockrendererdispatcher.getBlockModelRenderer().renderModel(tileEntity.getWorld(), ibakedmodel, state, pos, vertexBuffer, false); vertexBuffer.setTranslation(0, 0, 0); tessellator.draw(); }
private void drawBlock() { final Tessellator tessellator = Tessellator.getInstance(); final BufferBuilder wr = tessellator.getBuffer(); final BlockRendererDispatcher dispatcher = parent.getMinecraft().getBlockRendererDispatcher(); for (BlockRenderLayer layer : BlockRenderLayer.values()) { if (blockState.getBlock().canRenderInLayer(blockState, layer)) { net.minecraftforge.client.ForgeHooksClient.setRenderLayer(layer); wr.setTranslation(-0.5, -0.5, -0.5); wr.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); dispatcher.renderBlock(blockState, FakeBlockAccess.ORIGIN, access, wr); tessellator.draw(); } } wr.setTranslation(0.0D, 0.0D, 0.0D); net.minecraftforge.client.ForgeHooksClient.setRenderLayer(null); }
private void startTessellating(double x, double y, double z) { Tessellator.getInstance().getBuffer().begin(7, DefaultVertexFormats.OLDMODEL_POSITION_TEX_NORMAL); Tessellator.getInstance().getBuffer().setTranslation(x, y, z); Tessellator.getInstance().getBuffer().noColor(); }
public static void finishRender(BufferBuilder buffer) { Tessellator.getInstance().draw(); buffer.setTranslation(0, 0, 0); GL14.glBlendEquation(GL14.GL_FUNC_ADD); GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.depthMask(true); GL11.glDisable(GL_POLYGON_OFFSET_FILL); GlStateManager.enableDepth(); GlStateManager.enableTexture2D(); }
private void doWorldRenderPass(Vector3d trans, List<DoubleCoordinates> blocks, BlockRenderLayer layer) { BufferBuilder wr = Tessellator.getInstance().getBuffer(); wr.begin(7, DefaultVertexFormats.BLOCK); Tessellator.getInstance().getBuffer().setTranslation(trans.x, trans.y, trans.z); for (DoubleCoordinates bc : blocks) { IBlockState bs = world.getBlockState(bc.getBlockPos()); Block block = bs.getBlock(); bs = bs.getActualState(world, bc.getBlockPos()); if (block.canRenderInLayer(bs, layer)) { renderBlock(bs, bc.getBlockPos(), world, Tessellator.getInstance().getBuffer()); } } Tessellator.getInstance().draw(); Tessellator.getInstance().getBuffer().setTranslation(0, 0, 0); }
private void renderSelection() { if (selection == null) { return; } BoundingBox bb = new BoundingBox(selection.config.getLocation()); TextureAtlasSprite icon = selectedFaceIcon.get(TextureAtlasSprite.class); List<Vertex> corners = bb.getCornersWithUvForFace(selection.face, icon.getMinU(), icon.getMaxU(), icon.getMinV(), icon.getMaxV()); GlStateManager.disableDepth(); GlStateManager.disableLighting(); RenderUtil.bindBlockTexture(); BufferBuilder tes = Tessellator.getInstance().getBuffer(); GlStateManager.color(1, 1, 1); Vector3d trans = new Vector3d((-origin.x) + eye.x, (-origin.y) + eye.y, (-origin.z) + eye.z); tes.setTranslation(trans.x, trans.y, trans.z); RenderUtil.addVerticesToTessellator(corners, DefaultVertexFormats.POSITION_TEX, true); Tessellator.getInstance().draw(); tes.setTranslation(0, 0, 0); }
private void renderSelection() { if (selection == null) { return; } BoundingBox bb = new BoundingBox(new DoubleCoordinates(selection.config)); TextureAtlasSprite icon = (TextureAtlasSprite) Textures.LOGISTICS_SIDE_SELECTION; List<Vertex> corners = bb.getCornersWithUvForFace(selection.face, icon.getMinU(), icon.getMaxU(), icon.getMinV(), icon.getMaxV()); GlStateManager.disableDepth(); GlStateManager.disableLighting(); RenderUtil.bindBlockTexture(); BufferBuilder tes = Tessellator.getInstance().getBuffer(); GlStateManager.color(1, 1, 1); Vector3d trans = new Vector3d((-origin.x) + eye.x, (-origin.y) + eye.y, (-origin.z) + eye.z); tes.setTranslation(trans.x, trans.y, trans.z); RenderUtil.addVerticesToTessellator(corners, DefaultVertexFormats.POSITION_TEX, true); Tessellator.getInstance().draw(); tes.setTranslation(0, 0, 0); }
@Override public void renderTileEntityFast(T te, double x, double y, double z, float partialTicks, int destroyStage, float partial, BufferBuilder renderer) { BlockPos pos = te.getPos(); IBlockAccess world = MinecraftForgeClient.getRegionRenderCache(te.getWorld(), pos); IBlockState state = world.getBlockState(pos); if (state instanceof IExtendedBlockState) { IExtendedBlockState exState = (IExtendedBlockState) state; exState = handleState(te, partialTicks, exState); renderer.setTranslation(x, y, z); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(renderer); ccrs.setBrightness(world, pos); bakery.renderTransformedBlockModels(ccrs, exState); } }
@SubscribeEvent(priority = EventPriority.HIGHEST, receiveCanceled = true) public void onDrawBlockHighlightEventFirst(DrawBlockHighlightEvent event) { GL11.glPushMatrix(); BlockPos pos = Minecraft.getMinecraft().objectMouseOver.getBlockPos(); if (pos != null) { PhysicsWrapperEntity wrapper = ValkyrienWarfareMod.physicsManager.getObjectManagingPos(Minecraft.getMinecraft().world, pos); if (wrapper != null && wrapper.wrapping != null && wrapper.wrapping.renderer != null && wrapper.wrapping.centerCoord != null) { RayTraceResult objectOver = Minecraft.getMinecraft().objectMouseOver; if (objectOver != null && objectOver.hitVec != null) { BufferBuilder buffer = Tessellator.getInstance().getBuffer(); oldXOff = buffer.xOffset; oldYOff = buffer.yOffset; oldZOff = buffer.zOffset; buffer.setTranslation(-wrapper.wrapping.renderer.offsetPos.getX(), -wrapper.wrapping.renderer.offsetPos.getY(), -wrapper.wrapping.renderer.offsetPos.getZ()); wrapper.wrapping.renderer.setupTranslation(event.getPartialTicks()); // objectOver.hitVec = RotationMatrices.applyTransform(wrapper.wrapping.coordTransform.wToLTransform, objectOver.hitVec); } } } }