diff options
author | renanse <[email protected]> | 2013-02-03 12:10:05 -0600 |
---|---|---|
committer | renanse <[email protected]> | 2013-02-03 12:10:05 -0600 |
commit | e757ccd563c81206aebc586fead0ede52dca2f58 (patch) | |
tree | 6cc8d81b246788d6302af801676a2376f350d038 /ardor3d-jogl/src/main/java | |
parent | dc29c24ed025144452bade21fbe45ab609c6b854 (diff) |
Added detection of MSAA FBO and FBO blit.
Fixed multisample support on LwjglHeadlessCanvas - still needs fixing in
FBO texture rendering.
Diffstat (limited to 'ardor3d-jogl/src/main/java')
-rw-r--r-- | ardor3d-jogl/src/main/java/com/ardor3d/renderer/jogl/JoglContextCapabilities.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/ardor3d-jogl/src/main/java/com/ardor3d/renderer/jogl/JoglContextCapabilities.java b/ardor3d-jogl/src/main/java/com/ardor3d/renderer/jogl/JoglContextCapabilities.java index 7bc4e01..bfb39bd 100644 --- a/ardor3d-jogl/src/main/java/com/ardor3d/renderer/jogl/JoglContextCapabilities.java +++ b/ardor3d-jogl/src/main/java/com/ardor3d/renderer/jogl/JoglContextCapabilities.java @@ -74,10 +74,11 @@ public class JoglContextCapabilities extends ContextCapabilities { _geometryShader4Supported = gl.isExtensionAvailable("GL_ARB_geometry_shader4") && _glslSupported; - _geometryInstancingSupported = gl.isExtensionAvailable("GL_EXT_draw_instanced") || gl.isExtensionAvailable("GL_VERSION_3_0"); - + _geometryInstancingSupported = gl.isExtensionAvailable("GL_EXT_draw_instanced") + || gl.isExtensionAvailable("GL_VERSION_3_0"); + _tessellationShadersSupported = gl.isExtensionAvailable("GL_ARB_tessellation_shader") && _glslSupported; - + if (_glslSupported) { gl.glGetIntegerv(GL2.GL_MAX_VERTEX_ATTRIBS_ARB, buf); _maxGLSLVertexAttribs = buf.get(0); @@ -89,6 +90,10 @@ public class JoglContextCapabilities extends ContextCapabilities { // FBO _fboSupported = gl.isExtensionAvailable("GL_EXT_framebuffer_object"); if (_fboSupported) { + + _supportsFBOMultisample = gl.isExtensionAvailable("GL_EXT_framebuffer_multisample"); + _supportsFBOBlit = gl.isExtensionAvailable("GL_EXT_framebuffer_blit"); + if (gl.isExtensionAvailable("GL_ARB_draw_buffers")) { gl.glGetIntegerv(GL2ES2.GL_MAX_COLOR_ATTACHMENTS, buf); _maxFBOColorAttachments = buf.get(0); @@ -122,11 +127,11 @@ public class JoglContextCapabilities extends ContextCapabilities { // Check for support of multitextures. _supportsMultiTexture = gl.isExtensionAvailable("GL_ARB_multitexture"); - // Support for texture formats - _supportsFloatTextures = gl.isExtensionAvailable("GL_ARB_texture_float"); - _supportsIntegerTextures = gl.isExtensionAvailable("GL_EXT_texture_integer"); - _supportsOneTwoComponentTextures = gl.isExtensionAvailable("GL_ARB_texture_rg"); - + // Support for texture formats + _supportsFloatTextures = gl.isExtensionAvailable("GL_ARB_texture_float"); + _supportsIntegerTextures = gl.isExtensionAvailable("GL_EXT_texture_integer"); + _supportsOneTwoComponentTextures = gl.isExtensionAvailable("GL_ARB_texture_rg"); + // Check for support of fixed function dot3 environment settings _supportsEnvDot3 = gl.isExtensionAvailable("GL_ARB_texture_env_dot3"); @@ -172,8 +177,8 @@ public class JoglContextCapabilities extends ContextCapabilities { } // Now determine the maximum number of supported texture units - _numTotalTexUnits = Math.max(_numFragmentTexCoordUnits, Math.max(_numFixedTexUnits, Math.max( - _numFragmentTexUnits, _numVertexTexUnits))); + _numTotalTexUnits = Math.max(_numFragmentTexCoordUnits, + Math.max(_numFixedTexUnits, Math.max(_numFragmentTexUnits, _numVertexTexUnits))); // Check for S3 texture compression capability. _supportsS3TCCompression = gl.isExtensionAvailable("GL_EXT_texture_compression_s3tc"); |