private static boolean supportsColorBuffer(Collection<Caps> caps, RenderBuffer colorBuf) {
        Format colorFmt = colorBuf.getFormat();
        if (colorFmt.isDepthFormat()) {
            return false;
        }

        if (colorFmt.isCompressed()) {
            return false;
        }

        switch (colorFmt) {
            case RGB111110F:
                return caps.contains(Caps.PackedFloatColorBuffer);
            case RGB16F_to_RGB111110F:
            case RGB16F_to_RGB9E5:
            case RGB9E5:
                return false;
            default:
                if (colorFmt.isFloatingPont()) {
                    return caps.contains(Caps.FloatColorBuffer);
                }

                return true;
        }
    }
Returns true if given the renderer capabilities, the texture
can be supported by the renderer.

<p>This only checks the format of the texture, non-power-of-2
textures are scaled automatically inside the renderer
if are not supported natively.

@param caps The collection of renderer capabilities {@link Renderer#getCaps() }.
@param tex The texture to check
@return True if it is supported, false otherwise.
jme3-core/src/main/java/com/jme3/renderer/Caps.java