- 6
- 0
Всем привет! Возникла проблема. При рендере obj бьется моделька. Во время просмотра через стороннее ПО модель выглядит так:
А уже непосредственно в игре так:
Рендер использовал стандартный форджевский.
Код рендера:
Загрузка модели из ProxyClient
А уже непосредственно в игре так:
Рендер использовал стандартный форджевский.
Код рендера:
Render:
public class RenderEquipArmor
{
private static ResourceLocation texture;
private static String model;
public static void setResources(Item equip)
{
if(equip instanceof ItemHelmet) {
texture = new ResourceLocation(Adtime.modid, "textures/models/items/armor/helmets/"+equip.getUnlocalizedName().substring(5)+"/default.png");
model = "armor/helmets/"+equip.getUnlocalizedName().substring(5);
}
}
public static void renderHelmet(RenderPlayer renderModel, Item equip, ItemStack item)
{
setResources(equip);
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_NORMALIZE);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
renderModel.modelBipedMain.bipedHead.postRender(0.0625F);
GL11.glRotatef(180.0f, 1F, 0F, 0F);
GL11.glRotatef(-90.0f, 0F, 1F, 0F);
GL11.glScalef(0.25F, 0.25F, 0.25F);
GL11.glTranslatef(0F, 1F, 0F);
GL11.glCallList(ClientProxy.getRenderAll(model));
GL11.glDisable(GL11.GL_NORMALIZE);
GL11.glPopMatrix();
}
}
Загрузка модели из ProxyClient
Loader:
public static int getRenderAll(String model)
{
if (hash.containsKey(model)) return hash.get(model);
int displayList = GLAllocation.generateDisplayLists(1);
GL11.glNewList(displayList, GL11.GL_COMPILE);
AdvancedModelLoader.loadModel(new ResourceLocation(Adtime.modid, "models/" + model + ".obj")).renderAll();
GL11.glEndList();
hash.put(model, displayList);
return displayList;
}