I wrote an example that loads 3D model from DAE COLLADA using Qt 6. Source code: load-3d-model-from-dae-opengl-window-qt6-cpp.zip
OpenGL lighting works correctly on Desktop but incorrectly on Android and WebAssembly:
Desktop:
Android:
WebAssembly:
Added:
I added this line of code glEnable(GL_CULL_FACE);
to OpenGLWindow::initializeGL()
. The problem was solved for a cube on Android:
and WebAssembly:
When I change a model with Mario it works on Desktop:
But it doesn't work for Android:
and WebAssembly:
Source code: load-3d-model-from-dae-opengl-window-qt6-cpp.zip
Cross-refs:
I tried to set a depth buffer size to 24:
OpenGLWindow::OpenGLWindow()
{
setTitle("OpenGL ES 2.0, Qt6, C++");
resize(350, 350);
QSurfaceFormat surfaceFormat;
surfaceFormat.setDepthBufferSize(24);
setFormat(surfaceFormat);
}
It works on WebAssembly at least from Windows 10, 64-bit: https://65d340535ef3fa042a6d1ce3--charming-malabi-d8d124.netlify.app/
And on Redmi 4X, Android 7: