Separate rendering into its own module
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package com.replaymod.render.frame;
|
||||
|
||||
import com.replaymod.render.rendering.Frame;
|
||||
import lombok.Getter;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
|
||||
public class CubicOpenGlFrame implements Frame {
|
||||
@Getter
|
||||
private final OpenGlFrame left, right, front, back, top, bottom;
|
||||
|
||||
public CubicOpenGlFrame(OpenGlFrame left, OpenGlFrame right, OpenGlFrame front, OpenGlFrame back, OpenGlFrame top, OpenGlFrame bottom) {
|
||||
Validate.isTrue(left.getFrameId() == right.getFrameId()
|
||||
&& right.getFrameId() == front.getFrameId()
|
||||
&& front.getFrameId() == back.getFrameId()
|
||||
&& back.getFrameId() == top.getFrameId()
|
||||
&& top.getFrameId() == bottom.getFrameId(), "Frame ids do not match.");
|
||||
Validate.isTrue(left.getByteBuffer().remaining() == right.getByteBuffer().remaining()
|
||||
&& right.getByteBuffer().remaining() == front.getByteBuffer().remaining()
|
||||
&& front.getByteBuffer().remaining() == back.getByteBuffer().remaining()
|
||||
&& back.getByteBuffer().remaining() == top.getByteBuffer().remaining()
|
||||
&& top.getByteBuffer().remaining() == bottom.getByteBuffer().remaining(), "Buffer size does not match.");
|
||||
this.left = left;
|
||||
this.right = right;
|
||||
this.front = front;
|
||||
this.back = back;
|
||||
this.top = top;
|
||||
this.bottom = bottom;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFrameId() {
|
||||
return left.getFrameId();
|
||||
}
|
||||
}
|
||||
20
src/main/java/com/replaymod/render/frame/OpenGlFrame.java
Normal file
20
src/main/java/com/replaymod/render/frame/OpenGlFrame.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package com.replaymod.render.frame;
|
||||
|
||||
import com.replaymod.render.rendering.Frame;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.lwjgl.util.ReadableDimension;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class OpenGlFrame implements Frame {
|
||||
@Getter
|
||||
private final int frameId;
|
||||
|
||||
@Getter
|
||||
private final ReadableDimension size;
|
||||
|
||||
@Getter
|
||||
private final ByteBuffer byteBuffer;
|
||||
}
|
||||
28
src/main/java/com/replaymod/render/frame/RGBFrame.java
Normal file
28
src/main/java/com/replaymod/render/frame/RGBFrame.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.replaymod.render.frame;
|
||||
|
||||
import com.replaymod.render.rendering.Frame;
|
||||
import lombok.Getter;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.lwjgl.util.ReadableDimension;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
public class RGBFrame implements Frame {
|
||||
@Getter
|
||||
private final int frameId;
|
||||
|
||||
@Getter
|
||||
private final ReadableDimension size;
|
||||
|
||||
@Getter
|
||||
private final ByteBuffer byteBuffer;
|
||||
|
||||
public RGBFrame(int frameId, ReadableDimension size, ByteBuffer byteBuffer) {
|
||||
Validate.isTrue(size.getWidth() * size.getHeight() * 3 == byteBuffer.remaining(),
|
||||
"Buffer size is %d (cap: %d) but should be %d",
|
||||
byteBuffer.remaining(), byteBuffer.capacity(), size.getWidth() * size.getHeight() * 3);
|
||||
this.frameId = frameId;
|
||||
this.size = size;
|
||||
this.byteBuffer = byteBuffer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.replaymod.render.frame;
|
||||
|
||||
import com.replaymod.render.rendering.Frame;
|
||||
import lombok.Getter;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
|
||||
public class StereoscopicOpenGlFrame implements Frame {
|
||||
@Getter
|
||||
private final OpenGlFrame left, right;
|
||||
|
||||
public StereoscopicOpenGlFrame(OpenGlFrame left, OpenGlFrame right) {
|
||||
Validate.isTrue(left.getFrameId() == right.getFrameId(), "Frame ids do not match.");
|
||||
Validate.isTrue(left.getByteBuffer().remaining() == right.getByteBuffer().remaining(), "Buffer size does not match.");
|
||||
this.left = left;
|
||||
this.right = right;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFrameId() {
|
||||
return left.getFrameId();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user