switch to using ExtendedSpriteBatch everywhere instead of DelayedSpriteBatch
this makes more sense in the long run as a number of other libgdx 2d graphics systems and extensions use SpriteBatch. relying on our own DelayedSpriteBatch for all 2d rendering would just complicate things. DelayedSpriteBatch may prove useful later on, so we'll keep it for now
This commit is contained in:
parent
93b0307dfc
commit
b4b83c84d6
|
@ -2,37 +2,50 @@ package com.blarg.gdx.graphics;
|
|||
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.math.Vector3;
|
||||
|
||||
public final class GraphicsHelpers {
|
||||
public static void renderCoordinateSystemAxis(ShapeRenderer shapeRenderer, DelayedSpriteBatch spriteBatch, BitmapFont font, Vector3 origin) {
|
||||
public static void renderCoordinateSystemAxis(ShapeRenderer shapeRenderer, ExtendedSpriteBatch spriteBatch, BitmapFont font, Vector3 origin) {
|
||||
renderCoordinateSystemAxis(shapeRenderer, spriteBatch, font, origin, 5.0f);
|
||||
}
|
||||
|
||||
public static void renderCoordinateSystemAxis(ShapeRenderer shapeRenderer, DelayedSpriteBatch spriteBatch, BitmapFont font, Vector3 origin, float axisLength) {
|
||||
public static void renderCoordinateSystemAxis(ShapeRenderer shapeRenderer, ExtendedSpriteBatch spriteBatch, BitmapFont font, Vector3 origin, float axisLength) {
|
||||
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
|
||||
spriteBatch.begin();
|
||||
|
||||
shapeRenderer.setColor(Color.WHITE);
|
||||
shapeRenderer.line(origin.x, origin.y, origin.z, origin.x + 0.0f, origin.y + axisLength, origin.z + 0.0f);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + axisLength, origin.z + 0.0f, 0.5f, "UP (+Y)", Color.WHITE);
|
||||
spriteBatch.setColor(Color.WHITE);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + axisLength, origin.z + 0.0f, "UP (+Y)", 0.5f);
|
||||
|
||||
shapeRenderer.setColor(Color.BLACK);
|
||||
shapeRenderer.line(origin.x, origin.y, origin.z, origin.x + 0.0f, origin.y + -axisLength, origin.z + 0.0f);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + -axisLength, origin.z + 0.0f, 0.5f, "DOWN (-Y)", Color.BLACK);
|
||||
spriteBatch.setColor(Color.BLACK);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + -axisLength, origin.z + 0.0f, "DOWN (-Y)", 0.5f);
|
||||
|
||||
shapeRenderer.setColor(Color.GREEN);
|
||||
shapeRenderer.line(origin.x, origin.y, origin.z, origin.x + -axisLength, origin.y + 0.0f, origin.z + 0.0f);
|
||||
spriteBatch.draw(font, origin.x + -axisLength, origin.y + 0.0f, origin.z + 0.0f, 0.5f, "LEFT (-X)", Color.GREEN);
|
||||
spriteBatch.setColor(Color.GREEN);
|
||||
spriteBatch.draw(font, origin.x + -axisLength, origin.y + 0.0f, origin.z + 0.0f, "LEFT (-X)", 0.5f);
|
||||
|
||||
shapeRenderer.setColor(Color.RED);
|
||||
shapeRenderer.line(origin.x, origin.y, origin.z, origin.x + axisLength, origin.y + 0.0f, origin.z + 0.0f);
|
||||
spriteBatch.draw(font, origin.x + axisLength, origin.y + 0.0f, origin.z + 0.0f, 0.5f, "RIGHT (+X)", Color.RED);
|
||||
spriteBatch.setColor(Color.RED);
|
||||
spriteBatch.draw(font, origin.x + axisLength, origin.y + 0.0f, origin.z + 0.0f, "RIGHT (+X)", 0.5f);
|
||||
|
||||
shapeRenderer.setColor(Color.CYAN);
|
||||
shapeRenderer.line(origin.x, origin.y, origin.z, origin.x + 0.0f, origin.y + 0.0f, origin.z + -axisLength);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + 0.0f, origin.z + -axisLength, 0.5f, "FORWARD (-Z)", Color.CYAN);
|
||||
spriteBatch.setColor(Color.CYAN);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + 0.0f, origin.z + -axisLength, "FORWARD (-Z)", 0.5f);
|
||||
|
||||
shapeRenderer.setColor(Color.YELLOW);
|
||||
shapeRenderer.line(origin.x, origin.y, origin.z, origin.x + 0.0f, origin.y + 0.0f, origin.z + axisLength);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + 0.0f, origin.z + axisLength, 0.5f, "BACKWARD (+Z)", Color.YELLOW);
|
||||
spriteBatch.setColor(Color.YELLOW);
|
||||
spriteBatch.draw(font, origin.x + 0.0f, origin.y + 0.0f, origin.z + axisLength, "BACKWARD (+Z)", 0.5f);
|
||||
|
||||
spriteBatch.end();
|
||||
shapeRenderer.end();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,8 +12,7 @@ import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
|||
import com.badlogic.gdx.utils.Disposable;
|
||||
|
||||
public class RenderContext implements Disposable {
|
||||
public final SpriteBatch spriteBatch;
|
||||
public final DelayedSpriteBatch delayedSpriteBatch;
|
||||
public final ExtendedSpriteBatch spriteBatch;
|
||||
public final DecalBatch decalBatch;
|
||||
public final BillboardSpriteBatch billboardSpriteBatch;
|
||||
public final ShapeRenderer debugGeometryRenderer;
|
||||
|
@ -27,8 +26,7 @@ public class RenderContext implements Disposable {
|
|||
|
||||
public RenderContext(boolean use2dPixelScaling) {
|
||||
Gdx.app.debug("RenderContext", "ctor");
|
||||
spriteBatch = new SpriteBatch();
|
||||
delayedSpriteBatch = new DelayedSpriteBatch();
|
||||
spriteBatch = new ExtendedSpriteBatch();
|
||||
debugGeometryRenderer = new ShapeRenderer();
|
||||
modelBatch = new ModelBatch();
|
||||
solidColorTextures = new SolidColorTextureCache();
|
||||
|
@ -82,18 +80,14 @@ public class RenderContext implements Disposable {
|
|||
|
||||
public void onPreRender() {
|
||||
spriteBatch.setProjectionMatrix(orthographicCamera.combined);
|
||||
spriteBatch.setProjectionCamera(perspectiveCamera);
|
||||
spriteBatch.setPixelScale(pixelScaler.getScale());
|
||||
debugGeometryRenderer.setProjectionMatrix(perspectiveCamera.combined);
|
||||
debugGeometryRenderer.begin(ShapeRenderer.ShapeType.Line);
|
||||
delayedSpriteBatch.begin(spriteBatch, perspectiveCamera, pixelScaler.getScale());
|
||||
billboardSpriteBatch.begin(decalBatch, perspectiveCamera);
|
||||
modelBatch.begin(perspectiveCamera);
|
||||
}
|
||||
|
||||
public void onPostRender() {
|
||||
modelBatch.end();
|
||||
billboardSpriteBatch.end();
|
||||
delayedSpriteBatch.end();
|
||||
debugGeometryRenderer.end();
|
||||
}
|
||||
|
||||
public void onUpdate(float delta) {
|
||||
|
|
|
@ -29,10 +29,13 @@ public class DimScreenEffect extends ScreenEffect
|
|||
renderColor.a = alpha;
|
||||
Texture texture = renderContext.solidColorTextures.get(color);
|
||||
|
||||
renderContext.delayedSpriteBatch.draw(
|
||||
renderContext.spriteBatch.begin();
|
||||
renderContext.spriteBatch.setColor(renderColor);
|
||||
renderContext.spriteBatch.draw(
|
||||
texture,
|
||||
0, 0,
|
||||
renderContext.pixelScaler.getScaledWidth(), renderContext.pixelScaler.getScaledHeight(),
|
||||
renderColor);
|
||||
renderContext.pixelScaler.getScaledWidth(), renderContext.pixelScaler.getScaledHeight()
|
||||
);
|
||||
renderContext.spriteBatch.end();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,11 +59,14 @@ public class FadeScreenEffect extends ScreenEffect
|
|||
Texture texture = renderContext.solidColorTextures.get(Color.WHITE);
|
||||
color.a = alpha;
|
||||
|
||||
renderContext.delayedSpriteBatch.draw(
|
||||
renderContext.spriteBatch.begin();
|
||||
renderContext.spriteBatch.setColor(color);
|
||||
renderContext.spriteBatch.draw(
|
||||
texture,
|
||||
0, 0,
|
||||
renderContext.pixelScaler.getScaledWidth(), renderContext.pixelScaler.getScaledHeight(),
|
||||
color);
|
||||
renderContext.pixelScaler.getScaledWidth(), renderContext.pixelScaler.getScaledHeight()
|
||||
);
|
||||
renderContext.spriteBatch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -35,11 +35,14 @@ public class FlashScreenEffect extends ScreenEffect
|
|||
Texture texture = renderContext.solidColorTextures.get(Color.WHITE);
|
||||
color.a = alpha;
|
||||
|
||||
renderContext.delayedSpriteBatch.draw(
|
||||
renderContext.spriteBatch.begin();
|
||||
renderContext.spriteBatch.setColor(color);
|
||||
renderContext.spriteBatch.draw(
|
||||
texture,
|
||||
0, 0,
|
||||
renderContext.pixelScaler.getScaledWidth(), renderContext.pixelScaler.getScaledHeight(),
|
||||
color);
|
||||
renderContext.pixelScaler.getScaledWidth(), renderContext.pixelScaler.getScaledHeight()
|
||||
);
|
||||
renderContext.spriteBatch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue