Posted July 27, 20196 yr After some working, I finally got the entity to render, and the lighting bug fixed, but something appears to be wrong with the texture. The texture that is showing up is not what is programmed in and I cant tell if its a code issue or mapping issue (Note: When imported into a modeling software the texture maps perfectly fine and the UV's match up perfectly). The entity looks like this ingame: Spoiler But the texture only vaguely has those colors. It appears to be extremely simplifying the texture. It could be an issue because my texture is very large, but large textures have worked fine in the past... Can anyone tell whats wrong? Original Texture (1024px x 1024px): Spoiler EntityRenderer: @Override public void doRender(final EntityBaneling entity, final double x, final double y, final double z, final float entityYaw, final float partialTicks) { super.doRender(entity, x, y, z, entityYaw, partialTicks); GlStateManager.pushMatrix(); GlStateManager.scale(.8, .8, .8); try { GlStateManager.pushMatrix(); GlStateManager.translate((float) x, (float) y + .3, (float) z); ClientUtil2.renderModelWithColor(ModelsCache.INSTANCE.getBakedModel(new ResourceLocation(Reference.MOD_ID + ":models/entity/banelingnew.obj")), (new ResourceLocation(Reference.MOD_ID + ":textures/entity/banelingnew2.png")), entity); GlStateManager.popMatrix(); } catch (Exception e) { System.out.println("Error in loading Baneling model."); e.printStackTrace(); } GlStateManager.pushMatrix(); GlStateManager.translate(x, y, z); //this.bindTexture(new ResourceLocation(Reference.MOD_ID + ":textures/entity/banelingnew.png")); //this.bindEntityTexture(entity); GlStateManager.popMatrix(); } @SideOnly(Side.CLIENT) public static void renderModelWithColor(final IBakedModel model, final int color, final ResourceLocation texture, Entity entity) { GlStateManager.pushMatrix(); GL11.glPushMatrix(); GL11.glDisable(GL11.GL_LIGHTING); RenderHelper.disableStandardItemLighting(); Minecraft.getMinecraft().entityRenderer.enableLightmap(); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240f, 240f); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder builder = tessellator.getBuffer(); WavefrontObject obj = new WavefrontObject(); Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation(Reference.MOD_ID + ":textures/entity/banelingnew2.png")); builder.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL); obj.load(new ResourceLocation(Reference.MOD_ID + ":models/entity/banelingnew.obj").getResourcePath()); obj.putVertices(builder); renderQuadsColor(builder, model.getQuads(null, (EnumFacing) null, 0L), -1); tessellator.draw(); GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopMatrix(); GlStateManager.popMatrix(); } @SideOnly(Side.CLIENT) private static void renderQuadsColor(final BufferBuilder bufferbuilder, final List<BakedQuad> quads, int color) { int i = 0; for (final int j = quads.size(); i < j; ++i) { final BakedQuad bakedquad = quads.get(i); net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor(bufferbuilder, bakedquad, 1); } Edited July 28, 20196 yr by AragoniteDragon
July 28, 20196 yr Author After some more tinkering, I used a different texture and it appears the renderer is only using a tiny fraction of the whole texture. Does anyone know how to change that?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.