Как зарендерить несколько текстур в один obj блок?

Версия Minecraft
1.7.10
Решение
Java:
    private void render(TileEntityObj8 tile, double x, double y, double z, float f) {
        GL11.glPushMatrix();
        GL11.glTranslated(x, y, z);
        GL11.glTranslatef(0.5F, 0.0F, 0.5F);
        if (tile != null) {
            switch(tile.getBlockMetadata()) {
            case 0:GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);break;
            case 1:GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);break;
            case 2:GL11.glRotatef(0F, 0.0F, 1.0F, 0.0F);break;
            case 3:GL11.glRotatef(180F + 90F, 0.0F, 1.0F, 0.0F);break;
            }
        }
        
        Minecraft.getMinecraft().renderEngine.bindTexture(texture1);
        model.renderPart("jest2");

        Minecraft.getMinecraft().renderEngine.bindTexture(texture)...
Сгруппировать все полигоны по соответствующими текстурам
Простись по списку групп, биндить нужную текстуру, потом рисовать все полигоны из группы
 
Сгруппировать все полигоны по соответствующими текстурам
Простись по списку групп, биндить нужную текстуру, потом рисовать все полигоны из группы
можно мне пример в коде так как я питался зделать з примера брони но получаеться ошибка
 
Сгруппировать все полигоны по соответствующими текстурам
Простись по списку групп, биндить нужную текстуру, потом рисовать все полигоны из группы
GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderPart("jest2");
GL11.glPopMatrix();
GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture1);
model.renderPart("jest1");
я попробовал так но показивает токо одну модель(
 
вот сам код
Java:
package timaxa007.obj_block.RenderTileEntity;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import timaxa007.obj_block.ModBlockObj;
import timaxa007.obj_block.TileEntity.TileEntityObj8;

import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class RenderTileEntityObj8 extends TileEntitySpecialRenderer {

    public static final IModelCustom model =
            AdvancedModelLoader.loadModel(new ResourceLocation(ModBlockObj.MODID, "obj/jest.obj"));
   
    public static final ResourceLocation texture = new ResourceLocation(ModBlockObj.MODID, "textures/blocks/jest2.png");
            public static final ResourceLocation texture1 =  new ResourceLocation(ModBlockObj.MODID, "textures/blocks/jest1.png");
   
   
   
    @Override
    public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) {
        render((TileEntityObj8)tile, x, y, z, f);
    }

    private void render(TileEntityObj8 tile, double x, double y, double z, float f) {
        GL11.glPushMatrix();
        GL11.glTranslated(x, y, z);
        GL11.glTranslatef(0.5F, 0.0F, 0.5F);
        if (tile != null) {
            switch(tile.getBlockMetadata()) {
            case 0:GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);break;
            case 1:GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);break;
            case 2:GL11.glRotatef(0F, 0.0F, 1.0F, 0.0F);break;
            case 3:GL11.glRotatef(180F + 90F, 0.0F, 1.0F, 0.0F);break;
            }
        }
        GL11.glTranslatef(0.0F, 0.0F, 0.0F);
        Minecraft.getMinecraft().renderEngine.bindTexture(texture1);
        model.renderPart("jest2");
       GL11.glPopMatrix();
     
    }
    {
       GL11.glTranslatef(0.0F, 0.0F, 0.0F);
       Minecraft.getMinecraft().renderEngine.bindTexture(texture);
        model.renderPart("jest1");
        }
             

              }
 
Java:
    private void render(TileEntityObj8 tile, double x, double y, double z, float f) {
        GL11.glPushMatrix();
        GL11.glTranslated(x, y, z);
        GL11.glTranslatef(0.5F, 0.0F, 0.5F);
        if (tile != null) {
            switch(tile.getBlockMetadata()) {
            case 0:GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);break;
            case 1:GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);break;
            case 2:GL11.glRotatef(0F, 0.0F, 1.0F, 0.0F);break;
            case 3:GL11.glRotatef(180F + 90F, 0.0F, 1.0F, 0.0F);break;
            }
        }
        
        Minecraft.getMinecraft().renderEngine.bindTexture(texture1);
        model.renderPart("jest2");

        Minecraft.getMinecraft().renderEngine.bindTexture(texture);
        model.renderPart("jest1");
        
        GL11.glPopMatrix();
    
    }
 
Назад
Сверху