Qt Canvas 3D Known WebGL Conformance Issues

Canvas3D module was deprecated in Qt 5.12. Depracated modules are no longer maintained. They are provided to keep old source code working, but they can be removed in a future release. We strongly advise against using deprecated modules in new code or project.

Known WebGL conformance issues:

  • No emulation for vertex attrib 0 arrays. Always have vertex attrib 0 array enabled. In desktop OpenGL on some platforms (for example macOS), nothing gets drawn if vertex attrib 0 is not array-enabled. You can use bindAttribLocation() to force a vertex attribute to use location 0, and use enableVertexAttribArray() to make it array-enabled.
  • No special error detection for binding attributes to overlapping locations (i.e. attribute aliasing) when linking a shader program.
  • The drawArrays and drawElements calls don't check for the validity of the enabled attributes or the buffers they point to.
  • Enabling the stencil context attribute also forces the depth attribute to be enabled.
  • Disabling alpha context attribute does not work on some platforms.
  • Trying to set canvas size to MAX_VIEWPORT_DIMS may result in OUT_OF_MEMORY on some graphics cards.
  • The following extra methods exist for contexts: objectNameChanged, nameChanged, canvasChanged, drawingBufferWidthChanged, and drawingBufferHeightChanged.
  • Canvas3D doesn't have toDataUrl() method.
  • Canvas3D item can't be given as a parameter to Context2D.drawImage().

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.