Add OpenEXR export option

In preparation for depth map export.
This commit is contained in:
Jonas Herzig
2020-10-03 19:38:13 +02:00
parent 17e554b67c
commit 2b6d1b2359
10 changed files with 209 additions and 11 deletions

View File

@@ -12,6 +12,7 @@ import com.replaymod.render.capturer.StereoscopicOpenGlFrameCapturer;
import com.replaymod.render.capturer.StereoscopicPboOpenGlFrameCapturer;
import com.replaymod.render.capturer.WorldRenderer;
import com.replaymod.render.frame.CubicOpenGlFrame;
import com.replaymod.render.frame.EXRFrame;
import com.replaymod.render.frame.ODSOpenGlFrame;
import com.replaymod.render.frame.OpenGlFrame;
import com.replaymod.render.frame.BitmapFrame;
@@ -25,7 +26,23 @@ import com.replaymod.render.processor.OpenGlToBitmapProcessor;
import com.replaymod.render.processor.StereoscopicToBitmapProcessor;
import com.replaymod.render.utils.PixelBufferObject;
import java.io.IOException;
public class Pipelines {
public static Pipeline newEXRPipeline(RenderSettings.RenderMethod method, RenderInfo renderInfo, FrameConsumer<EXRFrame> consumer) {
return newPipeline(method, renderInfo, new FrameConsumer<BitmapFrame>() {
@Override
public void consume(BitmapFrame frame) {
consumer.consume(new EXRFrame(frame.getFrameId(), frame.getSize(), frame.getByteBuffer()));
}
@Override
public void close() throws IOException {
consumer.close();
}
});
}
public static Pipeline newPipeline(RenderSettings.RenderMethod method, RenderInfo renderInfo, FrameConsumer<BitmapFrame> consumer) {
switch (method) {
case DEFAULT: