Avoid RGB111110F in filters unless its actually supported

opengles2-fixes
Kirill Vainer 7 years ago
parent af3a0c70ce
commit b0316e419c
  1. 7
      jme3-core/src/main/java/com/jme3/post/Filter.java
  2. 14
      jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java

@ -213,13 +213,10 @@ public abstract class Filter implements Savable {
}
/**
* returns the default pass texture format
* default is {@link Format#RGB111110F}
*
* @return
* returns the default pass texture format.
*/
protected Format getDefaultPassTextureFormat() {
return Format.RGB111110F;
return processor.getDefaultPassTextureFormat();
}
/**

@ -143,9 +143,13 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
fsQuad = new Picture("filter full screen quad");
fsQuad.setWidth(1);
fsQuad.setHeight(1);
if (fbFormat == Format.RGB111110F && !renderer.getCaps().contains(Caps.PackedFloatTexture)) {
fbFormat = Format.RGB8;
if (!renderer.getCaps().contains(Caps.PackedFloatTexture)) {
if (!renderer.getCaps().contains(Caps.FloatTexture)) {
fbFormat = Format.RGB8;
} else {
fbFormat = Format.RGB16F;
}
}
Camera cam = vp.getCamera();
@ -161,6 +165,10 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
reshape(vp, cam.getWidth(), cam.getHeight());
}
public Format getDefaultPassTextureFormat() {
return fbFormat;
}
/**
* init the given filter
* @param filter

Loading…
Cancel
Save