AragoniteDragon Posted July 27, 2019 Posted July 27, 2019 (edited) 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, 2019 by AragoniteDragon Quote
AragoniteDragon Posted July 28, 2019 Author Posted July 28, 2019 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? Quote
Recommended Posts
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.