Hi, I'm trying to render a .obj model with TESR but nothing render.. if anyone have an idea.
@SideOnly(Side.CLIENT)
public class ElementItemRender implements LayerRenderer<AbstractClientPlayer> {
static private IModel model;
static private IBakedModel bakedModel;
static ResourceLocation texture;
public ElementItemRender(){
this.texture = new ResourceLocation(References.MOD_ID, "models/item/tutorial_item.obj");
try {
this.model = OBJLoader.INSTANCE.loadModel(this.texture);
} catch (Exception e) {
e.printStackTrace();
}
if (this.model != null)
{
this.bakedModel = this.model.bake(TRSRTransformation.identity(), DefaultVertexFormats.ITEM,
ModelLoader.defaultTextureGetter());
}
}
private static void renderModel(IBakedModel model, VertexFormat fmt)
{
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder worldrenderer = tessellator.getBuffer();
worldrenderer.begin(GL11.GL_QUADS, fmt);
for (BakedQuad bakedquad : model.getQuads(null, null, 0))
{
worldrenderer.addVertexData(bakedquad.getVertexData());
// net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor(worldrenderer, bakedquad, -1);
}
tessellator.draw();
}
@Override
public void doRenderLayer(AbstractClientPlayer entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
GlStateManager.pushMatrix();
GlStateManager.translate(entitylivingbaseIn.posX, entitylivingbaseIn.posY, entitylivingbaseIn.posZ);
// GlStateManager.enableRescaleNormal();
GlStateManager.scale(scale * 1.0f, scale * 1.0f, scale * 1.0f);
//
this.renderModel(this.bakedModel, DefaultVertexFormats.ITEM);
GlStateManager.popMatrix();
}
@Override
public boolean shouldCombineTextures() {
return true;
}
}
@Override
public void init()
{
Map<String, RenderPlayer> skinMap = Minecraft.getMinecraft().getRenderManager().getSkinMap();
RenderPlayer render = skinMap.get("default");
render.addLayer(new ElementItemRender());
render = skinMap.get("slim");
render.addLayer(new ElementItemRender());
}
Thank's for help