diff --git a/jme3-core/src/main/java/com/jme3/renderer/GeometryRenderHandler.java b/jme3-core/src/main/java/com/jme3/renderer/GeometryRenderHandler.java index a1a5229f5f..ef81fbd9da 100644 --- a/jme3-core/src/main/java/com/jme3/renderer/GeometryRenderHandler.java +++ b/jme3-core/src/main/java/com/jme3/renderer/GeometryRenderHandler.java @@ -43,7 +43,7 @@ public interface GeometryRenderHandler { /** * Default implementation that renders the geometry and returns true. */ - public static final GeometryRenderHandler DEFAULT = (rm, geom) -> { + GeometryRenderHandler DEFAULT = (rm, geom) -> { rm.renderGeometry(geom); return true; }; diff --git a/jme3-core/src/main/java/com/jme3/renderer/RenderManager.java b/jme3-core/src/main/java/com/jme3/renderer/RenderManager.java index 1de45462df..9ee8dafa8d 100644 --- a/jme3-core/src/main/java/com/jme3/renderer/RenderManager.java +++ b/jme3-core/src/main/java/com/jme3/renderer/RenderManager.java @@ -187,7 +187,7 @@ public T getOrCreateContext(Class type, Supplier< T c = getContext(type); if (c == null) { c = supplier.get(); - contexts.put(type, c); + registerContext(type, c); } return c; } diff --git a/jme3-core/src/main/java/com/jme3/texture/FrameBuffer.java b/jme3-core/src/main/java/com/jme3/texture/FrameBuffer.java index ea72184ede..2ec97f60f5 100644 --- a/jme3-core/src/main/java/com/jme3/texture/FrameBuffer.java +++ b/jme3-core/src/main/java/com/jme3/texture/FrameBuffer.java @@ -267,18 +267,27 @@ public void addColorTarget(FrameBufferTextureTarget colorBuf){ } /** - * Sets the color target at the index. + * Replaces the color target at the index. + *

+ * A color target must already exist at the index, otherwise + * an exception will be thrown. * - * @param i - * @param colorBuf + * @param i index of color target to replace + * @param colorBuf color target to replace with */ - public void setColorTarget(int i, FrameBufferTextureTarget colorBuf) { + public void replaceColorTarget(int i, FrameBufferTextureTarget colorBuf) { + if (i < 0 || i >= colorBufs.size()) { + throw new IndexOutOfBoundsException("No color target exists to replace at index=" + i); + } colorBuf.slot = i; colorBufs.set(i, colorBuf); } /** * Removes the color target at the index. + *

+ * Color targets above the removed target will have their + * slot indices shifted accordingly. * * @param i */