add render() overloads allowing custom shader and/or lights
This commit is contained in:
parent
4b30f313b6
commit
6ed06f5cdb
|
@ -2,16 +2,42 @@ package com.blarg.gdx.tilemap3d;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Camera;
|
import com.badlogic.gdx.graphics.Camera;
|
||||||
import com.badlogic.gdx.graphics.g3d.ModelBatch;
|
import com.badlogic.gdx.graphics.g3d.ModelBatch;
|
||||||
|
import com.badlogic.gdx.graphics.g3d.Shader;
|
||||||
|
import com.badlogic.gdx.graphics.g3d.lights.Lights;
|
||||||
|
|
||||||
public class TileMapRenderer {
|
public class TileMapRenderer {
|
||||||
public void render(ModelBatch modelBatch, TileMap tileMap, Camera camera) {
|
public void render(ModelBatch modelBatch, TileMap tileMap, Camera camera) {
|
||||||
|
render(modelBatch, tileMap, camera, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(ModelBatch modelBatch, TileMap tileMap, Camera camera, Shader shader) {
|
||||||
|
render(modelBatch, tileMap, camera, shader, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(ModelBatch modelBatch, TileMap tileMap, Camera camera, Lights lights) {
|
||||||
|
render(modelBatch, tileMap, camera, null, lights);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(ModelBatch modelBatch, TileMap tileMap, Camera camera, Shader shader, Lights lights) {
|
||||||
TileChunk[] chunks = tileMap.chunks;
|
TileChunk[] chunks = tileMap.chunks;
|
||||||
for (int i = 0; i < chunks.length; ++i)
|
for (int i = 0; i < chunks.length; ++i)
|
||||||
render(modelBatch, chunks[i], camera);
|
render(modelBatch, chunks[i], camera, shader, lights);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void render(ModelBatch modelBatch, TileChunk chunk, Camera camera) {
|
public void render(ModelBatch modelBatch, TileChunk chunk, Camera camera) {
|
||||||
|
render(modelBatch, chunk, camera, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(ModelBatch modelBatch, TileChunk chunk, Camera camera, Shader shader) {
|
||||||
|
render(modelBatch, chunk, camera, shader, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(ModelBatch modelBatch, TileChunk chunk, Camera camera, Lights lights) {
|
||||||
|
render(modelBatch, chunk, camera, null, lights);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(ModelBatch modelBatch, TileChunk chunk, Camera camera, Shader shader, Lights lights) {
|
||||||
if (camera.frustum.boundsInFrustum(chunk.getMeshBounds()))
|
if (camera.frustum.boundsInFrustum(chunk.getMeshBounds()))
|
||||||
modelBatch.render(chunk);
|
modelBatch.render(chunk, lights, shader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue