Rename Window to Screen

This commit is contained in:
2021-03-09 19:49:50 +01:00
parent 4a1beb5101
commit d0bfa6369a
25 changed files with 110 additions and 109 deletions

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.api.game.camera; package com.bartlomiejpluta.base.api.game.camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.object.Placeable; import com.bartlomiejpluta.base.api.internal.object.Placeable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import org.joml.Matrix4fc; import org.joml.Matrix4fc;
@@ -8,5 +8,5 @@ import org.joml.Matrix4fc;
public interface Camera extends Placeable { public interface Camera extends Placeable {
Matrix4fc computeViewModelMatrix(Matrix4fc modelMatrix); Matrix4fc computeViewModelMatrix(Matrix4fc modelMatrix);
void render(Window window, ShaderManager shaderManager); void render(Screen screen, ShaderManager shaderManager);
} }

View File

@@ -3,10 +3,10 @@ package com.bartlomiejpluta.base.api.game.context;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.entity.Entity; import com.bartlomiejpluta.base.api.game.entity.Entity;
import com.bartlomiejpluta.base.api.game.image.Image; import com.bartlomiejpluta.base.api.game.image.Image;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
public interface Context { public interface Context {
Window getWindow(); Screen getScreen();
Camera getCamera(); Camera getCamera();

View File

@@ -2,7 +2,7 @@ package com.bartlomiejpluta.base.api.game.entity;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer; import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.object.Placeable; import com.bartlomiejpluta.base.api.internal.object.Placeable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import org.joml.Matrix4fc; import org.joml.Matrix4fc;
@@ -192,7 +192,7 @@ public abstract class EntityDelegate implements Entity {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
entity.render(window, camera, shaderManager); entity.render(screen, camera, shaderManager);
} }
} }

View File

@@ -2,16 +2,16 @@ package com.bartlomiejpluta.base.api.game.map.handler;
import com.bartlomiejpluta.base.api.game.context.Context; import com.bartlomiejpluta.base.api.game.context.Context;
import com.bartlomiejpluta.base.api.game.map.model.GameMap; import com.bartlomiejpluta.base.api.game.map.model.GameMap;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
public interface MapHandler { public interface MapHandler {
void onCreate(Context context, GameMap map); void onCreate(Context context, GameMap map);
void onOpen(Context context, GameMap map); void onOpen(Context context, GameMap map);
void input(Window window); void input(Screen screen);
void update(Context context, GameMap map, float dt); void update(Context context, GameMap map, float dt);
void postRender(Window window); void postRender(Screen screen);
} }

View File

@@ -1,9 +1,9 @@
package com.bartlomiejpluta.base.api.game.window; package com.bartlomiejpluta.base.api.game.screen;
import com.bartlomiejpluta.base.api.game.input.Key; import com.bartlomiejpluta.base.api.game.input.Key;
import org.joml.Vector2fc; import org.joml.Vector2fc;
public interface Window { public interface Screen {
void init(); void init();
int getWidth(); int getWidth();

View File

@@ -1,8 +1,8 @@
package com.bartlomiejpluta.base.api.internal.render; package com.bartlomiejpluta.base.api.internal.render;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
public interface Renderable { public interface Renderable {
void render(Window window, Camera camera, ShaderManager shaderManager); void render(Screen screen, Camera camera, ShaderManager shaderManager);
} }

View File

@@ -3,7 +3,7 @@ package ${package};
import com.bartlomiejpluta.base.api.game.context.Context; import com.bartlomiejpluta.base.api.game.context.Context;
import com.bartlomiejpluta.base.api.game.map.model.GameMap; import com.bartlomiejpluta.base.api.game.map.model.GameMap;
import com.bartlomiejpluta.base.api.game.map.handler.MapHandler; import com.bartlomiejpluta.base.api.game.map.handler.MapHandler;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
public class ${className} implements MapHandler { public class ${className} implements MapHandler {
@@ -18,7 +18,7 @@ public class ${className} implements MapHandler {
} }
@Override @Override
public void input(Window window) { public void input(Screen screen) {
} }
@@ -28,7 +28,7 @@ public class ${className} implements MapHandler {
} }
@Override @Override
public void postRender(Window window) { public void postRender(Screen screen) {
} }
} }

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.engine.core.engine; package com.bartlomiejpluta.base.engine.core.engine;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.engine.gc.OffHeapGarbageCollector; import com.bartlomiejpluta.base.engine.gc.OffHeapGarbageCollector;
import com.bartlomiejpluta.base.engine.logic.GameLogic; import com.bartlomiejpluta.base.engine.logic.GameLogic;
import com.bartlomiejpluta.base.engine.thread.ThreadManager; import com.bartlomiejpluta.base.engine.thread.ThreadManager;
import com.bartlomiejpluta.base.engine.time.ChronoMeter; import com.bartlomiejpluta.base.engine.time.ChronoMeter;
import com.bartlomiejpluta.base.engine.ui.WindowManager; import com.bartlomiejpluta.base.engine.ui.ScreenManager;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@@ -16,20 +16,20 @@ import org.springframework.stereotype.Component;
public class DefaultGameEngine implements GameEngine { public class DefaultGameEngine implements GameEngine {
private static final String THREAD_NAME = "Game Main Thread"; private static final String THREAD_NAME = "Game Main Thread";
private final WindowManager windowManager; private final ScreenManager screenManager;
private final ThreadManager threadManager; private final ThreadManager threadManager;
private final GameLogic logic; private final GameLogic logic;
private final OffHeapGarbageCollector garbageCollector; private final OffHeapGarbageCollector garbageCollector;
private final Thread thread; private final Thread thread;
private final Window window; private final Screen screen;
private final ChronoMeter chrono; private final ChronoMeter chrono;
private final int targetUps; private final int targetUps;
private boolean running = false; private boolean running = false;
@Autowired @Autowired
public DefaultGameEngine(WindowManager windowManager, public DefaultGameEngine(ScreenManager screenManager,
ThreadManager threadManager, ThreadManager threadManager,
GameLogic logic, GameLogic logic,
OffHeapGarbageCollector garbageCollector, OffHeapGarbageCollector garbageCollector,
@@ -37,12 +37,12 @@ public class DefaultGameEngine implements GameEngine {
@Value("${app.window.width}") int width, @Value("${app.window.width}") int width,
@Value("${app.window.height}") int height, @Value("${app.window.height}") int height,
@Value("${app.core.targetUps}") int targetUps) { @Value("${app.core.targetUps}") int targetUps) {
this.windowManager = windowManager; this.screenManager = screenManager;
this.threadManager = threadManager; this.threadManager = threadManager;
this.logic = logic; this.logic = logic;
this.garbageCollector = garbageCollector; this.garbageCollector = garbageCollector;
this.window = windowManager.createWindow(title, width, height); this.screen = screenManager.createScreen(title, width, height);
this.thread = threadManager.createThread(THREAD_NAME, this::run); this.thread = threadManager.createThread(THREAD_NAME, this::run);
this.chrono = new ChronoMeter(); this.chrono = new ChronoMeter();
this.targetUps = targetUps; this.targetUps = targetUps;
@@ -59,9 +59,9 @@ public class DefaultGameEngine implements GameEngine {
private void init() { private void init() {
log.info("Initializing game engine"); log.info("Initializing game engine");
window.init(); screen.init();
chrono.init(); chrono.init();
logic.init(window); logic.init(screen);
} }
private void loop() { private void loop() {
@@ -71,7 +71,7 @@ public class DefaultGameEngine implements GameEngine {
var accumulator = 0.0f; var accumulator = 0.0f;
var step = 1.0f / targetUps; var step = 1.0f / targetUps;
while (running && !window.shouldClose()) { while (running && !screen.shouldClose()) {
dt = chrono.getElapsedTime(); dt = chrono.getElapsedTime();
accumulator += dt; accumulator += dt;
@@ -87,7 +87,7 @@ public class DefaultGameEngine implements GameEngine {
} }
private void input() { private void input() {
logic.input(window); logic.input(screen);
} }
private void update(float dt) { private void update(float dt) {
@@ -95,8 +95,8 @@ public class DefaultGameEngine implements GameEngine {
} }
private void render() { private void render() {
window.update(); screen.update();
logic.render(window); logic.render(screen);
} }
private void cleanUp() { private void cleanUp() {

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.engine.core.gl.object.material; package com.bartlomiejpluta.base.engine.core.gl.object.material;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.Renderable; import com.bartlomiejpluta.base.api.internal.render.Renderable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import com.bartlomiejpluta.base.engine.core.gl.object.texture.Texture; import com.bartlomiejpluta.base.engine.core.gl.object.texture.Texture;
@@ -22,7 +22,7 @@ public class Material implements Renderable {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
shaderManager.setUniform(UniformName.UNI_OBJECT_COLOR, color); shaderManager.setUniform(UniformName.UNI_OBJECT_COLOR, color);
if (texture != null) { if (texture != null) {

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.engine.core.gl.object.mesh; package com.bartlomiejpluta.base.engine.core.gl.object.mesh;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.gc.Disposable; import com.bartlomiejpluta.base.api.internal.gc.Disposable;
import com.bartlomiejpluta.base.api.internal.render.Renderable; import com.bartlomiejpluta.base.api.internal.render.Renderable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
@@ -54,7 +54,7 @@ public class Mesh implements Renderable, Disposable {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
glBindVertexArray(vaoId); glBindVertexArray(vaoId);
glEnableVertexAttribArray(0); glEnableVertexAttribArray(0);

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.engine.core.gl.render; package com.bartlomiejpluta.base.engine.core.gl.render;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.Renderable; import com.bartlomiejpluta.base.api.internal.render.Renderable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName; import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName;
@@ -34,9 +34,9 @@ public class DefaultRenderer implements Renderer {
} }
@Override @Override
public void render(Window window, Camera camera, Renderable renderable) { public void render(Screen screen, Camera camera, Renderable renderable) {
clear(); clear();
updateViewport(window); updateViewport(screen);
shaderManager.selectShader("default").useSelectedShader(); shaderManager.selectShader("default").useSelectedShader();
@@ -44,8 +44,8 @@ public class DefaultRenderer implements Renderer {
// The camera render method must be invoked **before** each consecutive item renders // The camera render method must be invoked **before** each consecutive item renders
// due to the fact, that the method updates projection and view matrices, that // due to the fact, that the method updates projection and view matrices, that
// are used to compute proper vertex coordinates of rendered objects (renderables). // are used to compute proper vertex coordinates of rendered objects (renderables).
camera.render(window, shaderManager); camera.render(screen, shaderManager);
renderable.render(window, camera, shaderManager); renderable.render(screen, camera, shaderManager);
shaderManager.detachCurrentShader(); shaderManager.detachCurrentShader();
} }
@@ -54,10 +54,10 @@ public class DefaultRenderer implements Renderer {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
} }
private void updateViewport(Window window) { private void updateViewport(Screen screen) {
if (window.isResized()) { if (screen.isResized()) {
glViewport(0, 0, window.getWidth(), window.getHeight()); glViewport(0, 0, screen.getWidth(), screen.getHeight());
window.setResized(false); screen.setResized(false);
} }
} }

View File

@@ -1,11 +1,12 @@
package com.bartlomiejpluta.base.engine.core.gl.render; package com.bartlomiejpluta.base.engine.core.gl.render;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.gc.Cleanable; import com.bartlomiejpluta.base.api.internal.gc.Cleanable;
import com.bartlomiejpluta.base.api.internal.render.Renderable; import com.bartlomiejpluta.base.api.internal.render.Renderable;
public interface Renderer extends Cleanable { public interface Renderer extends Cleanable {
void init(); void init();
void render(Window window, Camera camera, Renderable renderable);
void render(Screen screen, Camera camera, Renderable renderable);
} }

View File

@@ -2,7 +2,7 @@ package com.bartlomiejpluta.base.engine.logic;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.runner.GameRunner; import com.bartlomiejpluta.base.api.game.runner.GameRunner;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager; import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager;
import com.bartlomiejpluta.base.engine.core.gl.render.Renderer; import com.bartlomiejpluta.base.engine.core.gl.render.Renderer;
import com.bartlomiejpluta.base.engine.project.loader.ClassLoader; import com.bartlomiejpluta.base.engine.project.loader.ClassLoader;
@@ -48,10 +48,10 @@ public class DefaultGameLogic implements GameLogic {
@SneakyThrows @SneakyThrows
@Override @Override
public void init(Window window) { public void init(Screen screen) {
log.info("Initializing game logic"); log.info("Initializing game logic");
renderer.init(); renderer.init();
context.init(window, camera); context.init(screen, camera);
project = projectLoader.loadProject(); project = projectLoader.loadProject();
var runnerClass = classLoader.<GameRunner>loadClass(project.getRunner()); var runnerClass = classLoader.<GameRunner>loadClass(project.getRunner());
@@ -61,8 +61,8 @@ public class DefaultGameLogic implements GameLogic {
} }
@Override @Override
public void input(Window window) { public void input(Screen screen) {
context.input(window); context.input(screen);
} }
@Override @Override
@@ -72,8 +72,8 @@ public class DefaultGameLogic implements GameLogic {
} }
@Override @Override
public void render(Window window) { public void render(Screen screen) {
renderer.render(window, camera, context); renderer.render(screen, camera, context);
} }
@Override @Override

View File

@@ -1,14 +1,14 @@
package com.bartlomiejpluta.base.engine.logic; package com.bartlomiejpluta.base.engine.logic;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.gc.Cleanable; import com.bartlomiejpluta.base.api.internal.gc.Cleanable;
public interface GameLogic extends Cleanable { public interface GameLogic extends Cleanable {
void init(Window window); void init(Screen screen);
void input(Window window); void input(Screen screen);
void update(float dt); void update(float dt);
void render(Window window); void render(Screen screen);
} }

View File

@@ -5,7 +5,7 @@ import com.bartlomiejpluta.base.api.game.context.Context;
import com.bartlomiejpluta.base.api.game.entity.Entity; import com.bartlomiejpluta.base.api.game.entity.Entity;
import com.bartlomiejpluta.base.api.game.image.Image; import com.bartlomiejpluta.base.api.game.image.Image;
import com.bartlomiejpluta.base.api.game.map.handler.MapHandler; import com.bartlomiejpluta.base.api.game.map.handler.MapHandler;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.logic.Updatable; import com.bartlomiejpluta.base.api.internal.logic.Updatable;
import com.bartlomiejpluta.base.api.internal.render.Renderable; import com.bartlomiejpluta.base.api.internal.render.Renderable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
@@ -29,15 +29,15 @@ public class RenderableContext implements Context, Updatable, Renderable {
private final ClassLoader classLoader; private final ClassLoader classLoader;
@Getter @Getter
private Window window; private Screen screen;
private DefaultGameMap map; private DefaultGameMap map;
private MapHandler mapHandler; private MapHandler mapHandler;
@Getter @Getter
private Camera camera; private Camera camera;
public void init(Window window, Camera camera) { public void init(Screen screen, Camera camera) {
this.window = window; this.screen = screen;
this.camera = camera; this.camera = camera;
} }
@@ -60,9 +60,9 @@ public class RenderableContext implements Context, Updatable, Renderable {
return imageManager.loadObject(imageUid); return imageManager.loadObject(imageUid);
} }
public void input(Window window) { public void input(Screen screen) {
if (mapHandler != null) { if (mapHandler != null) {
mapHandler.input(window); mapHandler.input(screen);
} }
} }
@@ -78,13 +78,13 @@ public class RenderableContext implements Context, Updatable, Renderable {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
if (map != null) { if (map != null) {
map.render(window, camera, shaderManager); map.render(screen, camera, shaderManager);
} }
if (mapHandler != null) { if (mapHandler != null) {
mapHandler.postRender(window); mapHandler.postRender(screen);
} }
} }
} }

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.engine.ui; package com.bartlomiejpluta.base.engine.ui;
import com.bartlomiejpluta.base.api.game.input.Key; import com.bartlomiejpluta.base.api.game.input.Key;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.engine.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
@@ -16,7 +16,7 @@ import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.NULL; import static org.lwjgl.system.MemoryUtil.NULL;
public class GLFWWindow implements Window { public class GLFWScreen implements Screen {
private final String title; private final String title;
private long windowHandle = -1; private long windowHandle = -1;
@@ -34,7 +34,7 @@ public class GLFWWindow implements Window {
private final Vector2f size; private final Vector2f size;
public GLFWWindow(@NonNull String title, int width, int height) { public GLFWScreen(@NonNull String title, int width, int height) {
this.title = title; this.title = title;
this.width = width; this.width = width;
this.height = height; this.height = height;
@@ -74,11 +74,11 @@ public class GLFWWindow implements Window {
// Setup resize callback // Setup resize callback
glfwSetFramebufferSizeCallback(windowHandle, (window, width, height) -> { glfwSetFramebufferSizeCallback(windowHandle, (window, width, height) -> {
GLFWWindow.this.width = width; GLFWScreen.this.width = width;
GLFWWindow.this.height = height; GLFWScreen.this.height = height;
GLFWWindow.this.resized = true; GLFWScreen.this.resized = true;
GLFWWindow.this.size.x = width; GLFWScreen.this.size.x = width;
GLFWWindow.this.size.y = height; GLFWScreen.this.size.y = height;
}); });
// Setup a key callback. It will be called every time a key is pressed, repeated or released. // Setup a key callback. It will be called every time a key is pressed, repeated or released.
@@ -139,8 +139,8 @@ public class GLFWWindow implements Window {
return size; return size;
} }
public static Window create(String title, int width, int height) { public static Screen create(String title, int width, int height) {
return new GLFWWindow(title, width, height); return new GLFWScreen(title, width, height);
} }
private static int glfwCode(Key key) { private static int glfwCode(Key key) {

View File

@@ -0,0 +1,11 @@
package com.bartlomiejpluta.base.engine.ui;
import com.bartlomiejpluta.base.api.game.screen.Screen;
import org.springframework.stereotype.Component;
@Component
public class ScreenManager {
public Screen createScreen(String title, int width, int height) {
return GLFWScreen.create(title, width, height);
}
}

View File

@@ -1,11 +0,0 @@
package com.bartlomiejpluta.base.engine.ui;
import com.bartlomiejpluta.base.api.game.window.Window;
import org.springframework.stereotype.Component;
@Component
public class WindowManager {
public Window createWindow(String title, int width, int height) {
return GLFWWindow.create(title, width, height);
}
}

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.engine.world.animation; package com.bartlomiejpluta.base.engine.world.animation;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import com.bartlomiejpluta.base.engine.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
@@ -24,9 +24,9 @@ public abstract class AnimatedSprite extends Sprite {
public abstract Vector2fc[] getSpriteAnimationFramesPositions(); public abstract Vector2fc[] getSpriteAnimationFramesPositions();
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
animate(); animate();
super.render(window, camera, shaderManager); super.render(screen, camera, shaderManager);
} }
private void animate() { private void animate() {

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.engine.world.camera; package com.bartlomiejpluta.base.engine.world.camera;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName; import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName;
import com.bartlomiejpluta.base.engine.world.object.Model; import com.bartlomiejpluta.base.engine.world.object.Model;
@@ -18,11 +18,11 @@ public class DefaultCamera extends Model implements Camera {
} }
@Override @Override
public void render(Window window, ShaderManager shaderManager) { public void render(Screen screen, ShaderManager shaderManager) {
// Update matrices // Update matrices
projectionMatrix projectionMatrix
.identity() .identity()
.setOrtho2D(0, window.getWidth(), window.getHeight(), 0); .setOrtho2D(0, screen.getWidth(), screen.getHeight(), 0);
viewMatrix viewMatrix
.identity() .identity()

View File

@@ -5,7 +5,7 @@ import com.bartlomiejpluta.base.api.game.image.Image;
import com.bartlomiejpluta.base.api.game.map.layer.image.ImageLayer; import com.bartlomiejpluta.base.api.game.map.layer.image.ImageLayer;
import com.bartlomiejpluta.base.api.game.map.layer.image.ImageLayerMode; import com.bartlomiejpluta.base.api.game.map.layer.image.ImageLayerMode;
import com.bartlomiejpluta.base.api.game.map.model.GameMap; import com.bartlomiejpluta.base.api.game.map.model.GameMap;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
@@ -114,7 +114,7 @@ public class DefaultImageLayer implements ImageLayer {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
if (image != null) { if (image != null) {
if (parallax) { if (parallax) {
var cameraPosition = camera.getPosition(); var cameraPosition = camera.getPosition();
@@ -122,10 +122,10 @@ public class DefaultImageLayer implements ImageLayer {
} }
if (mode == ImageLayerMode.FIT_SCREEN) { if (mode == ImageLayerMode.FIT_SCREEN) {
image.setScale(window.getWidth() / imagePrimaryWidth, window.getHeight() / imagePrimaryHeight); image.setScale(screen.getWidth() / imagePrimaryWidth, screen.getHeight() / imagePrimaryHeight);
} }
image.render(window, camera, shaderManager); image.render(screen, camera, shaderManager);
} }
} }
} }

View File

@@ -8,7 +8,7 @@ import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.api.game.map.layer.object.PassageAbility; import com.bartlomiejpluta.base.api.game.map.layer.object.PassageAbility;
import com.bartlomiejpluta.base.api.game.map.model.GameMap; import com.bartlomiejpluta.base.api.game.map.model.GameMap;
import com.bartlomiejpluta.base.api.game.rule.Rule; import com.bartlomiejpluta.base.api.game.rule.Rule;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
@@ -150,11 +150,11 @@ public class DefaultObjectLayer implements ObjectLayer {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
entities.sort(this::compareObjects); entities.sort(this::compareObjects);
for (var object : entities) { for (var object : entities) {
object.render(window, camera, shaderManager); object.render(screen, camera, shaderManager);
} }
} }

View File

@@ -3,7 +3,7 @@ package com.bartlomiejpluta.base.engine.world.map.layer.tile;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.map.layer.tile.TileLayer; import com.bartlomiejpluta.base.api.game.map.layer.tile.TileLayer;
import com.bartlomiejpluta.base.api.game.map.model.GameMap; import com.bartlomiejpluta.base.api.game.map.model.GameMap;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import com.bartlomiejpluta.base.engine.world.tileset.model.Tile; import com.bartlomiejpluta.base.engine.world.tileset.model.Tile;
import com.bartlomiejpluta.base.engine.world.tileset.model.TileSet; import com.bartlomiejpluta.base.engine.world.tileset.model.TileSet;
@@ -52,11 +52,11 @@ public class DefaultTileLayer implements TileLayer {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
for (var row : layer) { for (var row : layer) {
for (var tile : row) { for (var tile : row) {
if (tile != null) { if (tile != null) {
tile.render(window, camera, shaderManager); tile.render(screen, camera, shaderManager);
} }
} }
} }

View File

@@ -10,7 +10,7 @@ import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.api.game.map.layer.object.PassageAbility; import com.bartlomiejpluta.base.api.game.map.layer.object.PassageAbility;
import com.bartlomiejpluta.base.api.game.map.layer.tile.TileLayer; import com.bartlomiejpluta.base.api.game.map.layer.tile.TileLayer;
import com.bartlomiejpluta.base.api.game.map.model.GameMap; import com.bartlomiejpluta.base.api.game.map.model.GameMap;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.logic.Updatable; import com.bartlomiejpluta.base.api.internal.logic.Updatable;
import com.bartlomiejpluta.base.api.internal.render.Renderable; import com.bartlomiejpluta.base.api.internal.render.Renderable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
@@ -77,9 +77,9 @@ public class DefaultGameMap implements Renderable, Updatable, GameMap {
} }
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
for (var layer : layers) { for (var layer : layers) {
layer.render(window, camera, shaderManager); layer.render(screen, camera, shaderManager);
} }
} }

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.engine.world.object; package com.bartlomiejpluta.base.engine.world.object;
import com.bartlomiejpluta.base.api.game.camera.Camera; import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.window.Window; import com.bartlomiejpluta.base.api.game.screen.Screen;
import com.bartlomiejpluta.base.api.internal.render.Renderable; import com.bartlomiejpluta.base.api.internal.render.Renderable;
import com.bartlomiejpluta.base.api.internal.render.ShaderManager; import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
import com.bartlomiejpluta.base.engine.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
@@ -22,9 +22,9 @@ public abstract class Sprite extends Model implements Renderable {
protected Material material; protected Material material;
@Override @Override
public void render(Window window, Camera camera, ShaderManager shaderManager) { public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
shaderManager.setUniform(UniformName.UNI_VIEW_MODEL_MATRIX, camera.computeViewModelMatrix(getModelMatrix())); shaderManager.setUniform(UniformName.UNI_VIEW_MODEL_MATRIX, camera.computeViewModelMatrix(getModelMatrix()));
material.render(window, camera, shaderManager); material.render(screen, camera, shaderManager);
mesh.render(window, camera, shaderManager); mesh.render(screen, camera, shaderManager);
} }
} }