Cache world on all render passes in case some mod disables the first pass.

This commit is contained in:
LexManos 2013-08-19 10:45:29 -07:00
parent 461a30812b
commit baf1e771e9
2 changed files with 17 additions and 15 deletions

View file

@ -95,21 +95,25 @@
GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_ALPHA_TEST);
} }
} }
@@ -1222,6 +1233,13 @@ @@ -1222,6 +1233,17 @@
renderglobal.sortAndRender(entitylivingbase, 1, (double)par1); renderglobal.sortAndRender(entitylivingbase, 1, (double)par1);
} }
+ RenderHelper.enableStandardItemLighting(); +
+ this.mc.mcProfiler.endStartSection("entities"); + if (this.debugViewDirection == 0) //Only render if render pass 0 happens as well.
+ ForgeHooksClient.setRenderPass(1); + {
+ renderglobal.renderEntities(entitylivingbase.getPosition(par1), frustrum, par1); + RenderHelper.enableStandardItemLighting();
+ ForgeHooksClient.setRenderPass(-1); + this.mc.mcProfiler.endStartSection("entities");
+ RenderHelper.disableStandardItemLighting(); + ForgeHooksClient.setRenderPass(1);
+ renderglobal.renderEntities(entitylivingbase.getPosition(par1), frustrum, par1);
+ ForgeHooksClient.setRenderPass(-1);
+ RenderHelper.disableStandardItemLighting();
+ }
+ +
GL11.glDepthMask(true); GL11.glDepthMask(true);
GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_BLEND);
@@ -1231,14 +1249,17 @@ @@ -1231,14 +1253,17 @@
entityplayer = (EntityPlayer)entitylivingbase; entityplayer = (EntityPlayer)entitylivingbase;
GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glDisable(GL11.GL_ALPHA_TEST);
this.mc.mcProfiler.endStartSection("outline"); this.mc.mcProfiler.endStartSection("outline");
@ -129,7 +133,7 @@
GL11.glDisable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_BLEND);
this.mc.mcProfiler.endStartSection("weather"); this.mc.mcProfiler.endStartSection("weather");
this.renderRainSnow(par1); this.renderRainSnow(par1);
@@ -1248,6 +1269,20 @@ @@ -1248,6 +1273,20 @@
{ {
this.renderCloudsCheck(renderglobal, par1); this.renderCloudsCheck(renderglobal, par1);
} }

View file

@ -10,7 +10,7 @@
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderGlobal implements IWorldAccess public class RenderGlobal implements IWorldAccess
{ {
@@ -447,35 +450,47 @@ @@ -447,8 +450,13 @@
*/ */
public void renderEntities(Vec3 par1Vec3, ICamera par2ICamera, float par3) public void renderEntities(Vec3 par1Vec3, ICamera par2ICamera, float par3)
{ {
@ -24,10 +24,10 @@
--this.renderEntitiesStartupCounter; --this.renderEntitiesStartupCounter;
} }
else else
{ @@ -456,26 +464,33 @@
this.theWorld.theProfiler.startSection("prepare"); this.theWorld.theProfiler.startSection("prepare");
- TileEntityRenderer.instance.cacheActiveRenderInfo(this.theWorld, this.mc.func_110434_K(), this.mc.fontRenderer, this.mc.renderViewEntity, par3); TileEntityRenderer.instance.cacheActiveRenderInfo(this.theWorld, this.mc.func_110434_K(), this.mc.fontRenderer, this.mc.renderViewEntity, par3);
- RenderManager.instance.cacheActiveRenderInfo(this.theWorld, this.mc.func_110434_K(), this.mc.fontRenderer, this.mc.renderViewEntity, this.mc.pointedEntityLiving, this.mc.gameSettings, par3); RenderManager.instance.cacheActiveRenderInfo(this.theWorld, this.mc.func_110434_K(), this.mc.fontRenderer, this.mc.renderViewEntity, this.mc.pointedEntityLiving, this.mc.gameSettings, par3);
- this.countEntitiesTotal = 0; - this.countEntitiesTotal = 0;
- this.countEntitiesRendered = 0; - this.countEntitiesRendered = 0;
- this.countEntitiesHidden = 0; - this.countEntitiesHidden = 0;
@ -40,8 +40,6 @@
- TileEntityRenderer.staticPlayerZ = entitylivingbase.lastTickPosZ + (entitylivingbase.posZ - entitylivingbase.lastTickPosZ) * (double)par3; - TileEntityRenderer.staticPlayerZ = entitylivingbase.lastTickPosZ + (entitylivingbase.posZ - entitylivingbase.lastTickPosZ) * (double)par3;
+ if (pass == 0) + if (pass == 0)
+ { + {
+ TileEntityRenderer.instance.cacheActiveRenderInfo(this.theWorld, this.mc.func_110434_K(), this.mc.fontRenderer, this.mc.renderViewEntity, par3);
+ RenderManager.instance.cacheActiveRenderInfo(this.theWorld, this.mc.func_110434_K(), this.mc.fontRenderer, this.mc.renderViewEntity, this.mc.pointedEntityLiving, this.mc.gameSettings, par3);
+ this.countEntitiesTotal = 0; + this.countEntitiesTotal = 0;
+ this.countEntitiesRendered = 0; + this.countEntitiesRendered = 0;
+ this.countEntitiesHidden = 0; + this.countEntitiesHidden = 0;