java类net.minecraft.client.renderer.vertex.DefaultVertexFormats的实例源码

TexturedQuad.java 文件源码 项目:BaseClient 阅读 26 收藏 0 点赞 0 评论 0
/**
 * Draw this primitve. This is typically called only once as the generated drawing instructions are saved by the
 * renderer and reused later.
 */
public void draw(WorldRenderer renderer, float scale)
{
    Vec3 vec3 = this.vertexPositions[1].vector3D.subtractReverse(this.vertexPositions[0].vector3D);
    Vec3 vec31 = this.vertexPositions[1].vector3D.subtractReverse(this.vertexPositions[2].vector3D);
    Vec3 vec32 = vec31.crossProduct(vec3).normalize();
    float f = (float)vec32.xCoord;
    float f1 = (float)vec32.yCoord;
    float f2 = (float)vec32.zCoord;

    if (this.invertNormal)
    {
        f = -f;
        f1 = -f1;
        f2 = -f2;
    }

    renderer.begin(7, DefaultVertexFormats.OLDMODEL_POSITION_TEX_NORMAL);

    for (int i = 0; i < 4; ++i)
    {
        PositionTextureVertex positiontexturevertex = this.vertexPositions[i];
        renderer.pos(positiontexturevertex.vector3D.xCoord * (double)scale, positiontexturevertex.vector3D.yCoord * (double)scale, positiontexturevertex.vector3D.zCoord * (double)scale).tex((double)positiontexturevertex.texturePositionX, (double)positiontexturevertex.texturePositionY).normal(f, f1, f2).endVertex();
    }

    Tessellator.getInstance().draw();
}
Minecraft.java 文件源码 项目:Zombe-Modpack 阅读 20 收藏 0 点赞 0 评论 0
/**
 * Draw with the WorldRenderer
 */
public void draw(int posX, int posY, int texU, int texV, int width, int height, int red, int green, int blue, int alpha)
{
    VertexBuffer vertexbuffer = Tessellator.getInstance().getBuffer();
    vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
    float f = 0.00390625F;
    float f1 = 0.00390625F;
    vertexbuffer.pos((double)posX, (double)(posY + height), 0.0D).tex((double)((float)texU * 0.00390625F), (double)((float)(texV + height) * 0.00390625F)).color(red, green, blue, alpha).endVertex();
    vertexbuffer.pos((double)(posX + width), (double)(posY + height), 0.0D).tex((double)((float)(texU + width) * 0.00390625F), (double)((float)(texV + height) * 0.00390625F)).color(red, green, blue, alpha).endVertex();
    vertexbuffer.pos((double)(posX + width), (double)posY, 0.0D).tex((double)((float)(texU + width) * 0.00390625F), (double)((float)texV * 0.00390625F)).color(red, green, blue, alpha).endVertex();
    vertexbuffer.pos((double)posX, (double)posY, 0.0D).tex((double)((float)texU * 0.00390625F), (double)((float)texV * 0.00390625F)).color(red, green, blue, alpha).endVertex();
    Tessellator.getInstance().draw();
}
TileRenderCauldron.java 文件源码 项目:Bewitchment 阅读 14 收藏 0 点赞 0 评论 0
private void renderWater(ResourceLocation loc) {
    final TextureAtlasSprite sprite = Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(loc.toString());
    final Tessellator tessellator = Tessellator.getInstance();
    tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
    tessellator.getBuffer().pos(0, 16, 0).tex(sprite.getMinU(), sprite.getMaxV()).endVertex();
    tessellator.getBuffer().pos(16, 16, 0).tex(sprite.getMaxU(), sprite.getMaxV()).endVertex();
    tessellator.getBuffer().pos(16, 0, 0).tex(sprite.getMaxU(), sprite.getMinV()).endVertex();
    tessellator.getBuffer().pos(0, 0, 0).tex(sprite.getMinU(), sprite.getMinV()).endVertex();
    tessellator.draw();
}
HarshenClientUtils.java 文件源码 项目:harshencastle 阅读 23 收藏 0 点赞 0 评论 0
public static void drawTexture(int x, int y, float u, float v, float uWidth, float vHeight, int width, int height, float tileWidth, float tileHeight)
{
    float f = 1.0F / tileWidth;
       float f1 = 1.0F / tileHeight;
       Tessellator tessellator = Tessellator.getInstance();
       BufferBuilder bufferbuilder = tessellator.getBuffer();
       bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
       bufferbuilder.pos((double)x, (double)(y + height), 0.0D).tex((double)(u * f), (double)((v + vHeight) * f1)).endVertex();
       bufferbuilder.pos((double)(x + width), (double)(y + height), 0.0D).tex((double)((u + uWidth) * f), (double)((v + vHeight) * f1)).endVertex();
       bufferbuilder.pos((double)(x + width), (double)y, 0.0D).tex((double)((u + uWidth) * f), (double)(v * f1)).endVertex();
       bufferbuilder.pos((double)x, (double)y, 0.0D).tex((double)(u * f), (double)(v * f1)).endVertex();
       tessellator.draw();
}
HarshenClientUtils.java 文件源码 项目:harshencastle 阅读 24 收藏 0 点赞 0 评论 0
public static void renderGhostBlock(IBlockState state, BlockPos position, Color color, boolean noDepth, float partialTicks)
{
    if(!(state.getBlock() instanceof BlockLiquid) && !(state.getBlock() instanceof BlockFluidBase))
    {
        renderGhostModel(Minecraft.getMinecraft().getBlockRendererDispatcher().getModelForState(state), position, color, noDepth, partialTicks);
        return;
    }
    GlStateManager.enableBlend();
       GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE_MINUS_DST_COLOR);
    BufferBuilder vb;
    if(noDepth)
    {
           GlStateManager.depthFunc(519);
        vb = prepRenderBlockDepth(partialTicks, true);
    }
    else
        vb = prepRender(partialTicks, true);
       vb.begin(7, DefaultVertexFormats.BLOCK);
       World world = Minecraft.getMinecraft().world;
       Minecraft.getMinecraft().getBlockRendererDispatcher().renderBlock(state, position.add(0, noDepth ? 500 : 0, 0), world, vb);
       for(int i = 0; i < vb.getVertexCount(); i++)
        vb.putColorMultiplier(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, i);
       vb.color(1, 1, 1, 0.1f);
       postRender();
       GlStateManager.disableBlend();
       GlStateManager.depthFunc(515);
}
RenderUtils.java 文件源码 项目:Pangu 阅读 28 收藏 0 点赞 0 评论 0
/**
 * Render Block with {@link Tessellator} and {@link BlockRendererDispatcher}
 */
public static void renderBlock(IBlockState state, BlockPos pos) {
    Tessellator tessellator = Tessellator.getInstance();
    BufferBuilder BufferBuilder = tessellator.getBuffer();
    BufferBuilder.begin(GL_QUADS, DefaultVertexFormats.BLOCK);
    BlockRendererDispatcher dispatcher = minecraft.getBlockRendererDispatcher();
    dispatcher.renderBlock(state, pos, minecraft.world, BufferBuilder);
    tessellator.draw();
}
GuiSlot.java 文件源码 项目:DecompiledMinecraft 阅读 19 收藏 0 点赞 0 评论 0
/**
 * Overlays the background to hide scrolled items
 */
protected void overlayBackground(int startY, int endY, int startAlpha, int endAlpha)
{
    Tessellator tessellator = Tessellator.getInstance();
    WorldRenderer worldrenderer = tessellator.getWorldRenderer();
    this.mc.getTextureManager().bindTexture(Gui.optionsBackground);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    float f = 32.0F;
    worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
    worldrenderer.pos((double)this.left, (double)endY, 0.0D).tex(0.0D, (double)((float)endY / 32.0F)).color(64, 64, 64, endAlpha).endVertex();
    worldrenderer.pos((double)(this.left + this.width), (double)endY, 0.0D).tex((double)((float)this.width / 32.0F), (double)((float)endY / 32.0F)).color(64, 64, 64, endAlpha).endVertex();
    worldrenderer.pos((double)(this.left + this.width), (double)startY, 0.0D).tex((double)((float)this.width / 32.0F), (double)((float)startY / 32.0F)).color(64, 64, 64, startAlpha).endVertex();
    worldrenderer.pos((double)this.left, (double)startY, 0.0D).tex(0.0D, (double)((float)startY / 32.0F)).color(64, 64, 64, startAlpha).endVertex();
    tessellator.draw();
}
HarshenClientUtils.java 文件源码 项目:harshencastle 阅读 33 收藏 0 点赞 0 评论 0
public static IBakedModel getModel(ResourceLocation resourceLocation) 
{
    IBakedModel bakedModel;
    IModel model;
    try {
        model = ModelLoaderRegistry.getModel(resourceLocation);
    } catch (Exception e) {
         throw new RuntimeException(e);
    }
    bakedModel = model.bake(TRSRTransformation.identity(), DefaultVertexFormats.BLOCK,
            location -> Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(location.toString()));
    return bakedModel;
}
GuiContainerChooseItem.java 文件源码 项目:ObsidianSuite 阅读 14 收藏 0 点赞 0 评论 0
private void drawCustomGui(double x, double y, double width, double height, double zLevel)
{
       GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    Tessellator tessellator = Tessellator.getInstance();
       BufferBuilder bufferbuilder = tessellator.getBuffer();
       GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
       bufferbuilder.begin(7, DefaultVertexFormats.POSITION);
       bufferbuilder.pos(x + 0, y + height, zLevel).endVertex();
       bufferbuilder.pos(x + width, y + height, zLevel).endVertex();
       bufferbuilder.pos(x + width, y + 0, zLevel).endVertex();
       bufferbuilder.pos(x + 0, y + 0, zLevel).endVertex();
       tessellator.draw();
}
GuiSlot.java 文件源码 项目:BaseClient 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Overlays the background to hide scrolled items
 */
protected void overlayBackground(int startY, int endY, int startAlpha, int endAlpha)
{
    Tessellator tessellator = Tessellator.getInstance();
    WorldRenderer worldrenderer = tessellator.getWorldRenderer();
    this.mc.getTextureManager().bindTexture(Gui.optionsBackground);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    float f = 32.0F;
    worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
    worldrenderer.pos((double)this.left, (double)endY, 0.0D).tex(0.0D, (double)((float)endY / 32.0F)).color(64, 64, 64, endAlpha).endVertex();
    worldrenderer.pos((double)(this.left + this.width), (double)endY, 0.0D).tex((double)((float)this.width / 32.0F), (double)((float)endY / 32.0F)).color(64, 64, 64, endAlpha).endVertex();
    worldrenderer.pos((double)(this.left + this.width), (double)startY, 0.0D).tex((double)((float)this.width / 32.0F), (double)((float)startY / 32.0F)).color(64, 64, 64, startAlpha).endVertex();
    worldrenderer.pos((double)this.left, (double)startY, 0.0D).tex(0.0D, (double)((float)startY / 32.0F)).color(64, 64, 64, startAlpha).endVertex();
    tessellator.draw();
}


问题


面经


文章

微信
公众号

扫码关注公众号