Fixed ScreenshotAppState, VideoRecorderAppSate, AwtPanel and TestRenderToMemory so the frameBuffer is read with an BGRA8 format
This commit is contained in:
parent
8b3e335d33
commit
50ec3023d4
@ -44,6 +44,7 @@ import com.jme3.renderer.ViewPort;
|
||||
import com.jme3.renderer.queue.RenderQueue;
|
||||
import com.jme3.system.JmeSystem;
|
||||
import com.jme3.texture.FrameBuffer;
|
||||
import com.jme3.texture.Image;
|
||||
import com.jme3.util.BufferUtils;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
@ -229,7 +230,7 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
|
||||
int viewHeight = (int) ((curCamera.getViewPortTop() - curCamera.getViewPortBottom()) * curCamera.getHeight());
|
||||
|
||||
renderer.setViewPort(0, 0, width, height);
|
||||
renderer.readFrameBuffer(out, outBuf);
|
||||
renderer.readFrameBufferWithFormat(out, outBuf, Image.Format.BGRA8);
|
||||
renderer.setViewPort(viewX, viewY, viewWidth, viewHeight);
|
||||
|
||||
File file;
|
||||
|
@ -40,6 +40,7 @@ import com.jme3.renderer.ViewPort;
|
||||
import com.jme3.renderer.queue.RenderQueue;
|
||||
import com.jme3.system.Timer;
|
||||
import com.jme3.texture.FrameBuffer;
|
||||
import com.jme3.texture.Image;
|
||||
import com.jme3.util.BufferUtils;
|
||||
import com.jme3.util.Screenshots;
|
||||
import java.awt.image.BufferedImage;
|
||||
@ -228,7 +229,7 @@ public class VideoRecorderAppState extends AbstractAppState {
|
||||
final WorkItem item = freeItems.take();
|
||||
usedItems.add(item);
|
||||
item.buffer.clear();
|
||||
renderer.readFrameBuffer(out, item.buffer);
|
||||
renderer.readFrameBufferWithFormat(out, item.buffer, Image.Format.BGRA8);
|
||||
executor.submit(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
@ -155,7 +155,7 @@ public class AwtPanel extends Canvas implements SceneProcessor {
|
||||
public void repaintInThread(){
|
||||
// Convert screenshot.
|
||||
byteBuf.clear();
|
||||
rm.getRenderer().readFrameBuffer(fb, byteBuf);
|
||||
rm.getRenderer().readFrameBufferWithFormat(fb, byteBuf,Format.BGRA8);
|
||||
|
||||
synchronized (lock){
|
||||
// All operations on img must be synchronized
|
||||
@ -168,7 +168,7 @@ public class AwtPanel extends Canvas implements SceneProcessor {
|
||||
public void drawFrameInThread(){
|
||||
// Convert screenshot.
|
||||
byteBuf.clear();
|
||||
rm.getRenderer().readFrameBuffer(fb, byteBuf);
|
||||
rm.getRenderer().readFrameBufferWithFormat(fb, byteBuf,Format.BGRA8);
|
||||
Screenshots.convertScreenShot2(intBuf, img);
|
||||
|
||||
synchronized (lock){
|
||||
|
@ -48,6 +48,7 @@ import com.jme3.scene.shape.Box;
|
||||
import com.jme3.system.AppSettings;
|
||||
import com.jme3.system.JmeContext.Type;
|
||||
import com.jme3.texture.FrameBuffer;
|
||||
import com.jme3.texture.Image;
|
||||
import com.jme3.texture.Image.Format;
|
||||
import com.jme3.texture.Texture2D;
|
||||
import com.jme3.util.BufferUtils;
|
||||
@ -158,7 +159,7 @@ public class TestRenderToMemory extends SimpleApplication implements SceneProces
|
||||
|
||||
public void updateImageContents(){
|
||||
cpuBuf.clear();
|
||||
renderer.readFrameBuffer(offBuffer, cpuBuf);
|
||||
renderer.readFrameBufferWithFormat(offBuffer, cpuBuf, Image.Format.BGRA8);
|
||||
|
||||
synchronized (image) {
|
||||
Screenshots.convertScreenShot(cpuBuf, image);
|
||||
|
Loading…
x
Reference in New Issue
Block a user