com.redthirddivision.quad.utils.managers.ResourceManager.java Source code

Java tutorial

Introduction

Here is the source code for com.redthirddivision.quad.utils.managers.ResourceManager.java

Source

/*   Copyright 2015 Matthew Rogers "BossLetsPlays"
*
*   Licensed under the Apache License, Version 2.0 (the "License");
*   you may not use this file except in compliance with the License.
*   You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
*/
package com.redthirddivision.quad.utils.managers;

import java.util.ArrayList;

import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL15;
import org.lwjgl.opengl.GL30;

/**
 * <strong>Project:</strong> QuadEngine <br>
 * <strong>File:</strong> ResourceManager.java
 *
 * @author <a href = "http://redthirddivision.com/team/blp"> Matthew Rogers</a>
 */
public class ResourceManager {

    private static final ArrayList<Integer> vaoList = new ArrayList<Integer>();
    private static final ArrayList<Integer> vboList = new ArrayList<Integer>();
    private static final ArrayList<Integer> textures = new ArrayList<Integer>();

    /**
     * Cleans up resources that have been loaded by the engine.
     */
    public static void cleanUp() {
        for (int vao : vaoList)
            GL30.glDeleteVertexArrays(vao);
        for (int vbo : vboList)
            GL15.glDeleteBuffers(vbo);
        for (int tex : textures)
            GL11.glDeleteTextures(tex);
    }

    public static void addVAO(int vao) {
        vaoList.add(vao);
    }

    public static void addVBO(int vbo) {
        vboList.add(vbo);
    }

    public static void addTextureID(int texture) {
        textures.add(texture);
    }

}