integrate renderer class
This commit is contained in:
parent
dc85ecc293
commit
e0a031c5d0
18 changed files with 4185 additions and 4657 deletions
|
@ -56,13 +56,11 @@ import client.init.DimensionMapping;
|
|||
import client.network.ClientLoginHandler;
|
||||
import client.network.ClientPlayer;
|
||||
import client.network.DummyConnection;
|
||||
import client.renderer.BlockRenderer;
|
||||
import client.renderer.Drawing;
|
||||
import client.renderer.EffectRenderer;
|
||||
import client.renderer.EntityRenderer;
|
||||
import client.renderer.Renderer;
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.ItemRenderer;
|
||||
import client.renderer.RenderGlobal;
|
||||
import client.renderer.blockmodel.ModelManager;
|
||||
import client.renderer.chunk.RenderChunk;
|
||||
import client.renderer.entity.RenderItem;
|
||||
|
@ -241,7 +239,7 @@ public class Client implements IThreadListener {
|
|||
|
||||
public static class DistanceFunction implements IntFunction {
|
||||
public void apply(IntVar cv, int value) {
|
||||
Client.CLIENT.distance(value);
|
||||
Client.CLIENT.applyDistance();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -347,22 +345,22 @@ public class Client implements IThreadListener {
|
|||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
Client.this.renderGlobal.markBlocksForUpdate(x - 1, y - 1, z - 1, x + 1, y + 1, z + 1);
|
||||
Client.this.renderer.markUpdate(x - 1, y - 1, z - 1, x + 1, y + 1, z + 1);
|
||||
}
|
||||
|
||||
public void clientNotifyLight(BlockPos pos) {
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
Client.this.renderGlobal.markBlocksForUpdate(x - 1, y - 1, z - 1, x + 1, y + 1, z + 1);
|
||||
Client.this.renderer.markUpdate(x - 1, y - 1, z - 1, x + 1, y + 1, z + 1);
|
||||
}
|
||||
|
||||
public void clientRenderUpdate(int x1, int y1, int z1, int x2, int y2, int z2) {
|
||||
Client.this.renderGlobal.markBlocksForUpdate(x1 - 1, y1 - 1, z1 - 1, x2 + 1, y2 + 1, z2 + 1);
|
||||
Client.this.renderer.markUpdate(x1 - 1, y1 - 1, z1 - 1, x2 + 1, y2 + 1, z2 + 1);
|
||||
}
|
||||
|
||||
public void setLastLightning(int last, int color) {
|
||||
Client.this.entityRenderer.setLastLightning(last, color);
|
||||
Client.this.renderer.setLastLightning(last, color);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -497,10 +495,8 @@ public class Client implements IThreadListener {
|
|||
private ItemRenderer itemRenderer;
|
||||
private TextureMap textureMap;
|
||||
private ModelManager modelManager;
|
||||
private BlockRenderer blockRenderer;
|
||||
public RenderGlobal renderGlobal;
|
||||
public EffectRenderer effectRenderer;
|
||||
public EntityRenderer entityRenderer;
|
||||
public Renderer renderer;
|
||||
public Gui open;
|
||||
|
||||
private SoundManager soundManager;
|
||||
|
@ -759,10 +755,9 @@ public class Client implements IThreadListener {
|
|||
this.textureManager.onReload();
|
||||
this.modelManager.onReload();
|
||||
this.renderItem.onReload();
|
||||
this.blockRenderer.onReload();
|
||||
this.renderGlobal.onReload();
|
||||
this.renderer.cacheSprites();
|
||||
EntityTexManager.loadNpcTextures();
|
||||
this.renderGlobal.loadRenderers();
|
||||
this.renderer.loadRenderers();
|
||||
this.logFeed("Texturen wurden neu geladen");
|
||||
}
|
||||
|
||||
|
@ -794,11 +789,8 @@ public class Client implements IThreadListener {
|
|||
this.renderManager = new RenderManager(this.textureManager, this.renderItem);
|
||||
this.itemRenderer = new ItemRenderer(this);
|
||||
this.renderItem.onReload();
|
||||
this.entityRenderer = new EntityRenderer(this);
|
||||
this.blockRenderer = new BlockRenderer(this.modelManager, this);
|
||||
this.blockRenderer.onReload();
|
||||
this.renderGlobal = new RenderGlobal(this);
|
||||
this.renderGlobal.onReload();
|
||||
this.renderer = new Renderer(this, this.modelManager);
|
||||
this.renderer.cacheSprites();
|
||||
EntityTexManager.loadNpcTextures();
|
||||
this.effectRenderer = new EffectRenderer(this.textureManager);
|
||||
|
||||
|
@ -868,7 +860,7 @@ public class Client implements IThreadListener {
|
|||
this.thirdPersonView = 0;
|
||||
}
|
||||
|
||||
this.renderGlobal.setDisplayListEntitiesDirty();
|
||||
this.renderer.setDisplayListEntitiesDirty();
|
||||
}
|
||||
|
||||
boolean hadZoom = this.zooming;
|
||||
|
@ -909,7 +901,7 @@ public class Client implements IThreadListener {
|
|||
{
|
||||
--this.rightClickTimer;
|
||||
}
|
||||
this.entityRenderer.getMouseOver(1.0F);
|
||||
this.renderer.getMouseOver(1.0F);
|
||||
if (this.world != null)
|
||||
{
|
||||
this.controller.update();
|
||||
|
@ -990,8 +982,7 @@ public class Client implements IThreadListener {
|
|||
this.ensureAreaLoaded(this.player);
|
||||
}
|
||||
}
|
||||
this.entityRenderer.updateRenderer();
|
||||
this.renderGlobal.updateClouds();
|
||||
this.renderer.update();
|
||||
this.world.updateEntities();
|
||||
}
|
||||
this.soundManager.update();
|
||||
|
@ -1035,7 +1026,7 @@ public class Client implements IThreadListener {
|
|||
GL11.glClear(16640);
|
||||
GlState.enableTexture2D();
|
||||
if(this.world != null)
|
||||
this.entityRenderer.renderWorld((float)this.tickFraction, System.nanoTime() - this.tickStart);
|
||||
this.renderer.renderWorld((float)this.tickFraction, System.nanoTime() - this.tickStart);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GlState.disableTexture2D();
|
||||
|
@ -1379,7 +1370,7 @@ public class Client implements IThreadListener {
|
|||
if(this.cameraUsed) {
|
||||
this.cameraUsed = false;
|
||||
if(this.world != null)
|
||||
this.entityRenderer.setLastLightning(1, 0xffffff);
|
||||
this.renderer.setLastLightning(1, 0xffffff);
|
||||
}
|
||||
if(this.isDirty())
|
||||
this.save();
|
||||
|
@ -1581,7 +1572,7 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
else if (itemstack.getSize() != i)
|
||||
{
|
||||
this.entityRenderer.itemRenderer.resetProgress();
|
||||
this.itemRenderer.resetProgress();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1593,7 +1584,7 @@ public class Client implements IThreadListener {
|
|||
|
||||
if (itemstack1 != null && this.controller.sendUseItem(this.player, this.world, itemstack1))
|
||||
{
|
||||
this.entityRenderer.itemRenderer.resetProgress();
|
||||
this.itemRenderer.resetProgress();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1655,19 +1646,16 @@ public class Client implements IThreadListener {
|
|||
this.entityIds = this.world.entityIds;
|
||||
this.initWorld();
|
||||
|
||||
if (this.renderGlobal != null)
|
||||
{
|
||||
this.renderGlobal.setWorldAndLoadRenderers(world);
|
||||
}
|
||||
this.renderer.setWorldAndLoadRenderers(this.world);
|
||||
|
||||
if (this.effectRenderer != null)
|
||||
{
|
||||
this.effectRenderer.setWorld(world);
|
||||
this.effectRenderer.setWorld(this.world);
|
||||
}
|
||||
|
||||
if (this.player == null)
|
||||
{
|
||||
this.player = this.controller.createPlayerEntity(world, type);
|
||||
this.player = this.controller.createPlayerEntity(this.world, type);
|
||||
this.player.rotYaw = -180.0F;
|
||||
}
|
||||
|
||||
|
@ -1778,11 +1766,6 @@ public class Client implements IThreadListener {
|
|||
return Thread.currentThread() == this.thread;
|
||||
}
|
||||
|
||||
public BlockRenderer getBlockRendererDispatcher()
|
||||
{
|
||||
return this.blockRenderer;
|
||||
}
|
||||
|
||||
public RenderManager getRenderManager()
|
||||
{
|
||||
return this.renderManager;
|
||||
|
@ -1884,8 +1867,8 @@ public class Client implements IThreadListener {
|
|||
// (this.isServer() ? "ES: " + this.server.getFolderName() :
|
||||
// "MS: " + (
|
||||
// this.connected != null ? this.connected : "[???]"))),
|
||||
this.renderGlobal.getDebugInfoRenders() + "\n" +
|
||||
this.renderGlobal.getDebugInfoEntities() + "\n" +
|
||||
this.renderer.getDebugInfoRenders() + "\n" +
|
||||
this.renderer.getDebugInfoEntities() + "\n" +
|
||||
"Partikel: " + this.effectRenderer.getParticleCount() + ". O: " + this.entities.size() + "\n" +
|
||||
"Chunk-Cache: M " + this.chunkMapping.getNumHashElements() + ", L " + this.chunkListing.size() + "\n" +
|
||||
String.format("XYZ: %.3f / %.3f / %.3f", this.viewEntity.posX,
|
||||
|
@ -1904,7 +1887,7 @@ public class Client implements IThreadListener {
|
|||
this.dimensionName) + "\n" +
|
||||
"Licht: " + chunk.getLightSub(pos, 0) + " (" + chunk.getLight(LightType.SKY, pos) + " Himmel, "
|
||||
+ chunk.getLight(LightType.BLOCK, pos) + " Blöcke, " + String.format(
|
||||
"%.1f", this.entityRenderer.getSunBrightness(1.0f) * 15.0f) + " Welt), A: "
|
||||
"%.1f", this.renderer.getSunBrightness(1.0f) * 15.0f) + " Welt), A: "
|
||||
+ String.format("%.1f °", this.world.getCelestialAngle(1.0f)) + "\n" +
|
||||
String.format("Zeit: %s" + (this.world.dimension.hasRotation() ? ", R %d / %d T" : "") + (this.world.dimension.hasOrbit() ? ", U %d / %d T" : ""),
|
||||
this.world.formatEpochSimple(),
|
||||
|
@ -2323,7 +2306,7 @@ public class Client implements IThreadListener {
|
|||
Log.SYSTEM.info("Beende ...");
|
||||
unload(false);
|
||||
this.getSoundManager().unload();
|
||||
this.renderGlobal.stopChunkBuilders();
|
||||
this.renderer.stopChunkBuilders();
|
||||
if(this.audio.end())
|
||||
Log.SOUND.info("Audiogerät geschlossen");
|
||||
Log.flushLog();
|
||||
|
@ -2526,9 +2509,9 @@ public class Client implements IThreadListener {
|
|||
return this.audio;
|
||||
}
|
||||
|
||||
public void distance(int distance) {
|
||||
if(this.renderGlobal != null)
|
||||
this.renderGlobal.setDisplayListEntitiesDirty();
|
||||
public void applyDistance() {
|
||||
if(this.renderer != null)
|
||||
this.renderer.setDisplayListEntitiesDirty();
|
||||
}
|
||||
|
||||
private void registerDebug(Keysym key, String help, DebugRunner runner) {
|
||||
|
@ -2609,7 +2592,7 @@ public class Client implements IThreadListener {
|
|||
this.registerDebug(Keysym.X, "Röntgenblick umschalten", new DebugRunner() {
|
||||
public void execute(Keysym key) {
|
||||
Client.this.xrayActive ^= true;
|
||||
Client.this.renderGlobal.loadRenderers();
|
||||
Client.this.renderer.loadRenderers();
|
||||
Client.this.logFeed("Röntgenblick: %s", Client.this.xrayActive ? "an" : "aus");
|
||||
}
|
||||
});
|
||||
|
@ -2628,7 +2611,7 @@ public class Client implements IThreadListener {
|
|||
this.registerDebug(Keysym.Y, "Alle Chunks neu kompilieren", new DebugRunner() {
|
||||
public void execute(Keysym key) {
|
||||
Client.this.logFeed("Kompiliere alle Chunks neu");
|
||||
Client.this.renderGlobal.loadRenderers();
|
||||
Client.this.renderer.loadRenderers();
|
||||
Client.this.logFeed("Alle Chunks wurden neu kompiliert");
|
||||
}
|
||||
});
|
||||
|
@ -3127,10 +3110,10 @@ public class Client implements IThreadListener {
|
|||
GlState.depthMask(false);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)(this.fbX / 2), (float)(this.fbY / 2), 0.0F);
|
||||
this.entityRenderer.rotateCamera(this.viewEntity, partialTicks);
|
||||
RenderGlobal.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 24D, 1D, 1D), 255, 0, 0, 255);
|
||||
RenderGlobal.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, 1D, 24D), 0, 0, 255, 255);
|
||||
RenderGlobal.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, -20D, 1D), 0, 255, 0, 255);
|
||||
this.renderer.rotateCamera(this.viewEntity, partialTicks);
|
||||
Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 24D, 1D, 1D), 255, 0, 0, 255);
|
||||
Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, 1D, 24D), 0, 0, 255, 255);
|
||||
Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, -20D, 1D), 0, 255, 0, 255);
|
||||
GL11.glPopMatrix();
|
||||
GlState.depthMask(true);
|
||||
GlState.enableTexture2D();
|
||||
|
@ -3410,7 +3393,7 @@ public class Client implements IThreadListener {
|
|||
this.nextEmptyChunkListing.clear();
|
||||
this.emptyChunk = null;
|
||||
this.outsideChunk = null;
|
||||
this.entityRenderer.resetLightning();
|
||||
this.renderer.resetLightning();
|
||||
this.entities = null;
|
||||
this.unloaded = null;
|
||||
this.tiles = null;
|
||||
|
@ -3428,7 +3411,7 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
|
||||
public void markBlockRangeForRenderUpdate(int x1, int y1, int z1, int x2, int y2, int z2) {
|
||||
this.renderGlobal.markBlocksForUpdate(x1 - 1, y1 - 1, z1 - 1, x2 + 1, y2 + 1, z2 + 1);
|
||||
this.renderer.markUpdate(x1 - 1, y1 - 1, z1 - 1, x2 + 1, y2 + 1, z2 + 1);
|
||||
}
|
||||
|
||||
private void markReload(int cx, int cz, int range) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue