mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-03-15 19:30:51 -07:00
Utterly broken 60fps rendering
This commit is contained in:
parent
ece3f96867
commit
656e4d529c
6 changed files with 27 additions and 40 deletions
|
|
@ -16,7 +16,6 @@ import io.anuke.mindustry.entities.traits.BelowLiquidTrait;
|
|||
import io.anuke.mindustry.entities.units.BaseUnit;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity;
|
||||
import io.anuke.ucore.core.Core;
|
||||
import io.anuke.ucore.core.Effects;
|
||||
import io.anuke.ucore.core.Graphics;
|
||||
|
|
@ -196,18 +195,17 @@ public class Renderer extends RendererModule{
|
|||
|
||||
batch.setProjectionMatrix(camera.combined);
|
||||
|
||||
Graphics.surface(pixelSurface, false);
|
||||
// Graphics.surface(pixelSurface, false);
|
||||
//Graphics.clear(clearColor);
|
||||
|
||||
Graphics.clear(clearColor);
|
||||
|
||||
blocks.drawFloor();
|
||||
blocks.floor.drawFloor();
|
||||
|
||||
drawAndInterpolate(groundEffectGroup, e -> e instanceof BelowLiquidTrait);
|
||||
drawAndInterpolate(puddleGroup);
|
||||
drawAndInterpolate(groundEffectGroup, e -> !(e instanceof BelowLiquidTrait));
|
||||
|
||||
blocks.processBlocks();
|
||||
blocks.drawShadows();
|
||||
//blocks.drawShadows();
|
||||
for(Team team : Team.all){
|
||||
if(blocks.isTeamShown(team)){
|
||||
boolean outline = team != players[0].getTeam() && team != Team.none;
|
||||
|
|
@ -215,13 +213,13 @@ public class Renderer extends RendererModule{
|
|||
if(outline){
|
||||
Shaders.outline.color.set(team.color);
|
||||
Shaders.outline.color.a = 0.8f;
|
||||
Graphics.beginShaders(Shaders.outline);
|
||||
//Graphics.beginShaders(Shaders.outline);
|
||||
}
|
||||
|
||||
blocks.drawTeamBlocks(Layer.block, team);
|
||||
|
||||
if(outline){
|
||||
Graphics.endShaders();
|
||||
//Graphics.endShaders();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -238,7 +236,7 @@ public class Renderer extends RendererModule{
|
|||
blocks.skipLayer(Layer.turret);
|
||||
blocks.drawBlocks(Layer.laser);
|
||||
|
||||
drawFlyerShadows();
|
||||
//drawFlyerShadows();
|
||||
|
||||
drawAllTeams(true);
|
||||
|
||||
|
|
@ -248,28 +246,29 @@ public class Renderer extends RendererModule{
|
|||
overlays.drawBottom();
|
||||
drawAndInterpolate(playerGroup, p -> true, Player::drawBuildRequests);
|
||||
|
||||
/*
|
||||
Graphics.beginShaders(Shaders.shield);
|
||||
EntityDraw.draw(shieldGroup);
|
||||
EntityDraw.drawWith(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawOver());
|
||||
Draw.color(Palette.accent);
|
||||
Graphics.endShaders();
|
||||
Draw.color();
|
||||
Draw.color();*/
|
||||
|
||||
overlays.drawTop();
|
||||
|
||||
if(showFog){
|
||||
Graphics.surface();
|
||||
// Graphics.surface();
|
||||
}else{
|
||||
Graphics.flushSurface();
|
||||
// Graphics.flushSurface();
|
||||
}
|
||||
|
||||
batch.end();
|
||||
//batch.end();
|
||||
|
||||
if(showFog){
|
||||
fog.draw();
|
||||
// fog.draw();
|
||||
}
|
||||
|
||||
Graphics.beginCam();
|
||||
//Graphics.beginCam();
|
||||
EntityDraw.setClip(false);
|
||||
drawAndInterpolate(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName);
|
||||
EntityDraw.setClip(true);
|
||||
|
|
@ -310,13 +309,13 @@ public class Renderer extends RendererModule{
|
|||
Shaders.outline.color.set(team.color);
|
||||
Shaders.mix.color.set(Color.WHITE);
|
||||
|
||||
Graphics.beginShaders(Shaders.outline);
|
||||
Graphics.shader(Shaders.mix, true);
|
||||
//Graphics.beginShaders(Shaders.outline);
|
||||
//Graphics.shader(Shaders.mix, true);
|
||||
drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll);
|
||||
drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawAll);
|
||||
Graphics.shader();
|
||||
//Graphics.shader();
|
||||
blocks.drawTeamBlocks(Layer.turret, team);
|
||||
Graphics.endShaders();
|
||||
// Graphics.endShaders();
|
||||
|
||||
drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver);
|
||||
drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawOver);
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
|||
public TargetTrait moveTarget;
|
||||
|
||||
private float walktime;
|
||||
private Queue<BuildRequest> placeQueue = new ThreadQueue<>();
|
||||
private Queue<BuildRequest> placeQueue = new Queue<>();
|
||||
private Tile mining;
|
||||
private CarriableTrait carrying;
|
||||
private Trail trail = new Trail(12);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{
|
|||
|
||||
protected Item targetItem;
|
||||
protected Tile mineTile;
|
||||
protected Queue<BuildRequest> placeQueue = new ThreadQueue<>();
|
||||
protected Queue<BuildRequest> placeQueue = new Queue<>();
|
||||
protected boolean isBreaking;
|
||||
|
||||
public final UnitState
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class BlockRenderer{
|
|||
private final static int initialRequests = 32 * 32;
|
||||
private final static int expandr = 4;
|
||||
|
||||
private FloorRenderer floorRenderer;
|
||||
public final FloorRenderer floor = new FloorRenderer();
|
||||
|
||||
private Array<BlockRequest> requests = new Array<>(true, initialRequests, BlockRequest.class);
|
||||
private IntSet teamChecks = new IntSet();
|
||||
|
|
@ -34,7 +34,6 @@ public class BlockRenderer{
|
|||
private Surface shadows = Graphics.createSurface().setSize(2, 2);
|
||||
|
||||
public BlockRenderer(){
|
||||
floorRenderer = new FloorRenderer();
|
||||
|
||||
for(int i = 0; i < requests.size; i++){
|
||||
requests.set(i, new BlockRequest());
|
||||
|
|
@ -222,18 +221,6 @@ public class BlockRenderer{
|
|||
}
|
||||
}
|
||||
|
||||
public void beginFloor(){
|
||||
floorRenderer.beginDraw();
|
||||
}
|
||||
|
||||
public void endFloor(){
|
||||
floorRenderer.endDraw();
|
||||
}
|
||||
|
||||
public void drawFloor(){
|
||||
floorRenderer.drawFloor();
|
||||
}
|
||||
|
||||
private void layerBegins(Layer layer){
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -65,15 +65,16 @@ public enum CacheLayer{
|
|||
|
||||
protected void beginShader(){
|
||||
//renderer.getBlocks().endFloor();
|
||||
renderer.effectSurface.getBuffer().bind();
|
||||
renderer.effectSurface.getBuffer().begin();
|
||||
Graphics.clear(Color.CLEAR);
|
||||
//renderer.getBlocks().beginFloor();
|
||||
}
|
||||
|
||||
public void endShader(Shader shader){
|
||||
renderer.blocks.endFloor();
|
||||
renderer.blocks.floor.endDraw();
|
||||
|
||||
renderer.pixelSurface.getBuffer().bind();
|
||||
renderer.effectSurface.getBuffer().end();
|
||||
//renderer.pixelSurface.getBuffer().bind();
|
||||
|
||||
Graphics.shader(shader);
|
||||
Graphics.begin();
|
||||
|
|
@ -81,6 +82,6 @@ public enum CacheLayer{
|
|||
Core.camera.viewportWidth * Core.camera.zoom, -Core.camera.viewportHeight * Core.camera.zoom);
|
||||
Graphics.end();
|
||||
Graphics.shader();
|
||||
renderer.blocks.beginFloor();
|
||||
renderer.blocks.floor.beginDraw();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ public class FloorRenderer{
|
|||
|
||||
drawnLayers.sort();
|
||||
|
||||
Graphics.end();
|
||||
//Graphics.end();
|
||||
beginDraw();
|
||||
|
||||
for(int i = 0; i < drawnLayers.size; i++){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue