|
|
|
@ -324,6 +324,19 @@ public class FrameBuffer extends NativeObject { |
|
|
|
|
addColorTexture(tex); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Set the color texture array to use for this framebuffer. |
|
|
|
|
* This automatically clears all existing textures added previously |
|
|
|
|
* with {@link FrameBuffer#addColorTexture } and adds this texture as the |
|
|
|
|
* only target. |
|
|
|
|
* |
|
|
|
|
* @param tex The color texture array to set. |
|
|
|
|
*/ |
|
|
|
|
public void setColorTexture(TextureArray tex){ |
|
|
|
|
clearColorTargets(); |
|
|
|
|
addColorTexture(tex); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Set the color texture to use for this framebuffer. |
|
|
|
|
* This automatically clears all existing textures added previously |
|
|
|
@ -369,6 +382,30 @@ public class FrameBuffer extends NativeObject { |
|
|
|
|
colorBufs.add(colorBuf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Add a color texture array to use for this framebuffer. |
|
|
|
|
* If MRT is enabled, then each subsequently added texture can be |
|
|
|
|
* rendered to through a shader that writes to the array <code>gl_FragData</code>. |
|
|
|
|
* If MRT is not enabled, then the index set with {@link FrameBuffer#setTargetIndex(int) } |
|
|
|
|
* is rendered to by the shader. |
|
|
|
|
* |
|
|
|
|
* @param tex The texture array to add. |
|
|
|
|
*/ |
|
|
|
|
public void addColorTexture(TextureArray tex) { |
|
|
|
|
if (id != -1) |
|
|
|
|
throw new UnsupportedOperationException("FrameBuffer already initialized."); |
|
|
|
|
|
|
|
|
|
Image img = tex.getImage(); |
|
|
|
|
checkSetTexture(tex, false); |
|
|
|
|
|
|
|
|
|
RenderBuffer colorBuf = new RenderBuffer(); |
|
|
|
|
colorBuf.slot = colorBufs.size(); |
|
|
|
|
colorBuf.tex = tex; |
|
|
|
|
colorBuf.format = img.getFormat(); |
|
|
|
|
|
|
|
|
|
colorBufs.add(colorBuf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Add a color texture to use for this framebuffer. |
|
|
|
|
* If MRT is enabled, then each subsequently added texture can be |
|
|
|
|