mirror of
https://github.com/2OOP/pism.git
synced 2026-02-04 19:04:49 +00:00
add: own branch
This commit is contained in:
50
src/main/java/org/toop/graphics/Renderer.java
Normal file
50
src/main/java/org/toop/graphics/Renderer.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package org.toop.graphics;
|
||||
|
||||
import org.toop.platform.graphics.opengl.*;
|
||||
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
||||
public abstract class Renderer {
|
||||
public enum API {
|
||||
NONE,
|
||||
OPENGL,
|
||||
};
|
||||
|
||||
protected static final Logger logger = LogManager.getLogger(Renderer.class);
|
||||
|
||||
private static API api = API.NONE;
|
||||
private static Renderer instance = null;
|
||||
|
||||
public static Renderer setup(API api) {
|
||||
if (instance != null) {
|
||||
logger.warn("Renderer is already setup.");
|
||||
return instance;
|
||||
}
|
||||
|
||||
switch (api) {
|
||||
case OPENGL:
|
||||
instance = new OpenglRenderer();
|
||||
break;
|
||||
|
||||
default:
|
||||
logger.fatal("No valid renderer api chosen");
|
||||
return null;
|
||||
}
|
||||
|
||||
Renderer.api = api;
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static API getApi() {
|
||||
return api;
|
||||
}
|
||||
|
||||
public void cleanup() {
|
||||
instance = null;
|
||||
logger.info("Renderer cleanup.");
|
||||
}
|
||||
|
||||
public abstract void clear();
|
||||
public abstract void render();
|
||||
}
|
||||
Reference in New Issue
Block a user