OpenGL ES 3.1 with Tessellation Shaders on Android
-
I'm working on a 3D terrain engine which currently targets OpenGL 4.1 and uses tessellation shaders on the desktop. The engine renders using QOpenGLFunctions_4_1_Core inside of a custom Quick item. It would be nice to get this working on Android, but that would require OpenGL ES 3.1 support and the various extensions listed here. It's unclear to me if or how Qt 5.4 supports ES 3.1. According to this, OpenGL ES 3.0/3.1 support was improved, and the new features list for Qt 5.5 says Qt 3D will support ES 3.
Taking a look at the extensions available in QtOpenGLExtensions, I could only find QOpenGLExtension_ARB_tessellation_shader and QOpenGLExtension_NV_gpu_shader5. The EXT_tessellation_shader specification says you need the following:
-EXT_tessellation_shader -> QOpenGLExtension_ARB_tessellation_shader
-EXT_shader_io_blocks
-EXT_gpu_shader5 -> QOpenGLExtension_NV_gpu_shader5
-OES_shader_multisample_interpolationIs it possible to use tessellation shaders and OpenGL ES 3.1 with Qt? If so, how might I approach this? Will there be a QOpenGLFunctions_ES3 someday? Ideally the solution would be mostly cross-platform for Windows, Linux, Mac, Android.
-
Hi and welcome to devnet,
That's a question you should rather bring to the interest mailing list. You'll find there Qt's developers/maintainers (this forum is more user oriented)