@@ -29,9 +29,9 @@ public class TankernnGame {
}
public void cleanUp() {
- textMaster.cleanUp();
- guiMaster.cleanUp();
- loader.cleanUp();
+ textMaster.finalize();
+ guiMaster.finalize();
+ loader.finalize();
public String getName() {
@@ -107,13 +107,13 @@ public class TankernnGame3D extends TankernnGame {
super.cleanUp();
- terrainPack.cleanUp();
- particleMaster.cleanUp();
- postProcessor.cleanUp();
- waterMaster.cleanUp();
- multisampleFbo.cleanUp();
- outputFbo.cleanUp();
- outputFbo2.cleanUp();
- renderer.cleanUp();
+ terrainPack.finalize();
+ particleMaster.finalize();
+ postProcessor.finalize();
+ waterMaster.finalize();
+ multisampleFbo.finalize();
+ outputFbo.finalize();
+ outputFbo2.finalize();
+ renderer.finalize();
@@ -81,7 +81,7 @@ public class AnimatedModel extends TexturedModel {
* (VAO) and texture.
*/
public void delete() {
- getModel().delete();
+ getModel().finalize();
getTexture().delete();
@@ -139,11 +139,12 @@ public class Loader {
return new float[] {-size, size, size, size, size, size, size, -size, size, -size, -size, size, -size, size, -size, size, size, -size, size, -size, -size, -size, -size, -size};
- public void cleanUp() {
+ @Override
+ public void finalize() {
for (Texture tex: textures)
tex.delete();
for (Vao model: vaos)
- model.delete();
+ model.finalize();
public Vao loadOBJ(InternalFile objFile) {
@@ -17,18 +17,18 @@ public class ParticleMaster {
private Map<ParticleTexture, List<Particle>> particles = new HashMap<ParticleTexture, List<Particle>>();
private List<ParticleSystem> systems = new ArrayList<ParticleSystem>();
private ParticleRenderer renderer;
-
+
public ParticleMaster(Loader loader, Matrix4f projectionMatrix) {
renderer = new ParticleRenderer(loader, projectionMatrix);
public void update(Camera camera) {
- for (ParticleSystem sys : systems) {
- for (Particle particle : sys.generateParticles()) {
+ for (ParticleSystem sys: systems) {
+ for (Particle particle: sys.generateParticles()) {
addParticle(particle);
Iterator<Entry<ParticleTexture, List<Particle>>> mapIterator = particles.entrySet().iterator();
while (mapIterator.hasNext()) {
Entry<ParticleTexture, List<Particle>> entry = mapIterator.next();
@@ -50,15 +50,16 @@ public class ParticleMaster {
systems.removeIf(ParticleSystem::isDead);
public void renderParticles(Camera camera) {
renderer.render(particles, camera);
public void addParticle(Particle particle) {
List<Particle> list = particles.get(particle.getTexture());
if (list == null) {
@@ -67,7 +68,7 @@ public class ParticleMaster {
list.add(particle);
public void addSystem(ParticleSystem system) {
this.systems.add(system);
@@ -62,8 +62,9 @@ public class ParticleRenderer {
finishRendering();
- protected void cleanUp() {
- shader.cleanUp();
+ protected void finalize() {
+ shader.finalize();
private void updateTexCoordInfo(Particle particle, float[] data) {
@@ -36,10 +36,11 @@ public class ImageRenderer {
public Texture getOutputTexture() {
return fbo.getColourTexture();
if (fbo != null) {
- fbo.cleanUp();
+ fbo.finalize();
@@ -14,9 +14,10 @@ public abstract class PostProcessingEffect<S extends ShaderProgram> {
public abstract void render(Texture colorTexture, Texture brightTexture);
public Texture getOutputColorTexture() {
@@ -50,9 +50,10 @@ public class PostProcessor {
end();
- effects.forEach(p -> p.cleanUp());
- combineFilter.cleanUp();
+ effects.forEach(p -> p.finalize());
+ combineFilter.finalize();
private void start() {
@@ -24,9 +24,10 @@ public class CombineFilter {
shader.stop();
- public void cleanUp(){
+ public void finalize(){
@@ -47,7 +47,8 @@ public class Fbo {
/**
* Deletes the frame buffer and its attachments when the game closes.
GL30.glDeleteFramebuffers(frameBuffer);
if (colourTexture != null)
colourTexture.delete();
@@ -175,10 +175,11 @@ public class MasterRenderer {
* Runs the cleanup method for the other renderers.
- entityRenderer.cleanUp();
- terrainRenderer.cleanUp();
- shadowMapRenderer.cleanUp();
+ entityRenderer.finalize();
+ terrainRenderer.finalize();
+ shadowMapRenderer.finalize();
@@ -84,8 +84,8 @@ public class MultisampleMultitargetFbo extends Fbo {
};
@Override
- super.cleanUp();
+ super.finalize();
GL30.glDeleteRenderbuffers(colorBuffer);
GL30.glDeleteRenderbuffers(colorBuffer2);
@@ -98,7 +98,8 @@ public class Vao {
dataVbos.add(dataVbo);
- public void delete() {
GL30.glDeleteVertexArrays(id);
for (Vbo vbo: dataVbos) {
vbo.delete();
@@ -83,8 +83,8 @@ public class EntityRenderer<S extends EntityShader> {
private void prepareTexturedModel(TexturedModel model, Texture environmentMap) {
@@ -27,8 +27,8 @@ public class FontRenderer {
endRendering();
+ public void finalilze() {
private void prepare() {
@@ -57,7 +57,7 @@ public class TextMaster {
+ renderer.finalilze();
@@ -29,7 +29,7 @@ public class GuiMaster {
return guis;
@@ -38,7 +38,7 @@ public class GuiRenderer {
@@ -92,7 +92,7 @@ public class ShaderProgram {
GL20.glUseProgram(0);
stop();
GL20.glDeleteProgram(programID);
@@ -39,7 +39,7 @@ public class ShadowFrameBuffer {
* Deletes the frame buffer and shadow map texture when the game closes.
GL30.glDeleteFramebuffers(fbo);
shadowMap.delete();
@@ -94,9 +94,9 @@ public class ShadowMapMasterRenderer {
* Clean up the shader and FBO on closing.
- shadowFbo.cleanUp();
+ shadowFbo.finalize();
@@ -28,7 +28,7 @@ public class Skybox {
- cube.delete();
+ cube.finalize();
dayTexture.delete();
@@ -50,8 +50,8 @@ public class TerrainRenderer {
private void prepareTerrain(Terrain terrain) {
@@ -17,10 +17,11 @@ public class WaterFrameBuffers {
reflectionBuffer = new Fbo(REFLECTION_WIDTH, REFLECTION_HEIGHT, Fbo.DEPTH_RENDER_BUFFER);
refractionBuffer = new Fbo(REFRACTION_WIDTH, REFRACTION_HEIGHT, Fbo.DEPTH_TEXTURE);
- reflectionBuffer.cleanUp();
- refractionBuffer.cleanUp();
+ reflectionBuffer.finalize();
+ refractionBuffer.finalize();
public Fbo getReflectionFbo() {
@@ -73,9 +73,9 @@ public class WaterMaster {
waterRenderer.render(waterTiles, camera, lights);
- buffers.cleanUp();
- waterShader.cleanUp();
+ buffers.finalize();
+ waterShader.finalize();
public WaterFrameBuffers getBuffers() {
@@ -117,6 +117,6 @@ public class Terrain {
@@ -135,8 +135,9 @@ public class TerrainPack {
lastZ = newZ;
executor.shutdown();