1
0
Fork 0

integrate renderer class

This commit is contained in:
Sen 2025-08-06 13:53:25 +02:00
parent dc85ecc293
commit e0a031c5d0
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
18 changed files with 4185 additions and 4657 deletions

View file

@ -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) {