View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0032648 | Open CASCADE | OCCT:Visualization | public | 2021-11-02 16:22 | 2023-02-03 04:25 |
Reporter | kgv | Assigned To | |||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.7.0 | Fixed in Version | 7.7.0 | ||
Summary | 0032648: Visualization, TKOpenGles - support MSAA anti-aliasing within WebGL 2.0 | ||||
Description | OpenGl_FrameBuffer builds FBO with texture attachments for proper rendering workflow. MSAA textures are supported since OpenGL 3.2+ and OpenGL ES 3.1+, which is fine for modern desktop and mobile environments. Unfortunately, WebGL 2.0 has been stuck in the past and functionally limited to OpenGL ES 3.0, with no extensions available for MSAA textures. At the same time, OpenGL ES 3.0 / WebGL 2.0 support MSAA render-targets - a limited semi-broken API which might be used to implement anti-aliasing on such platforms. It is proposed trying to implement support of MSAA render-targets for compatibility with such environments. | ||||
Steps To Reproduce | test opengles3 general msaa 1 | ||||
Tags | No tags attached. | ||||
Test case number | opengles3/general/msaa | ||||
|
Branch CR32648 has been created by kgv. SHA-1: 212756699f60e97a00d06e9a73d298f785cee9da Detailed log of new commits: Author: kgv Date: Tue Nov 2 16:23:25 2021 +0300 0032648: Visualization, TKOpenGles - support MSAA anti-aliasing within WebGL 2.0 |
|
Branch CR32648_1 has been created by kgv. SHA-1: 32b89613e9c0b300e3e79cdd515f56b0682eb38a Detailed log of new commits: Author: kgv Date: Tue Nov 2 16:23:25 2021 +0300 0032648: Visualization, TKOpenGles - support MSAA anti-aliasing within WebGL 2.0 OpenGl_FrameBuffer::Init() now creates MSAA render buffer in case if MSAA textures are unsupported. In this case OpenGl_View::prepareFrameBuffers() creates MSAA render buffer for main content and non-MSAA FBO for immediate content as blitting of MSAA render buffers into MSAA targets is unsupported by OpenGL ES 3.0. |
|
Branch CR32648_1 has been updated forcibly by kgv. SHA-1: 5817b8f447e6cca35bd76ebbb770a4614e4eb8e6 |
|
Branch CR32648_1 has been updated forcibly by kgv. SHA-1: f64df5958d5d0f321509ac95e22c0bccc7af9939 |
|
Branch CR32648_1 has been updated forcibly by kgv. SHA-1: 292f5d7e85a742c34f023f11d12177a6a193af52 |
|
|
|
Branch CR32648_1 has been updated forcibly by kgv. SHA-1: 17dabf6c755c60d51cce6459bd037072f85e48b7 |
|
Patch caused tests failures on Jenkins due to older ANGLE libraries being loaded from qt5.11.2 installation instead of custom builds. The error occurs within the valid glBlitFramebuffer() call and lands somewhere inside ANGLE trying to create some shading program using D3D11:Failed to create shader resource view to resolve multisampled framebuffer. Versions tracked from weird hash codes within ANGLE git, so it seems the bug has been fixed a while ago (problem is not reproducible in Browsers within WASM builds): ANGLE 2.1.0.8613f4946861 from qt5.11.2-vc14-64 [2016-02-11] KO, glBlitFramebuffer() fails with MSAA render buffer. ANGLE 2.1.0-46ad513f4e5b (occt700products) [2016-08-13] OK, but there is a bug with window resizing. ANGLE 2.1.0-57ea533f79a7 from qtcreator-4.13, MinGW64 [2017-11-23] OK. |
|
Patch is ready for review - OCCT: branch CR32648_1. http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32648_1-master-KGV/ |
|
The patch was reviewed without remarks |
|
Combination - OCCT branch : IR-2021-11-19 master SHA - ea0ffd6efe2e05d9764495fa0a877ab75ab5f4e9 49e51745631c52b6c452c65adae4d6dfa21a1b1e Products branch : IR-2021-11-19 SHA - 24ac02cc67913557271bc70687b86b53e78f9c44 was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences CPU differences: Debian80-64: OCCT Total CPU difference: 17763.090000000444 / 17742.320000000425 [+0.12%] Products Total CPU difference: 11658.550000000125 / 11669.660000000133 [-0.10%] Windows-64-VC14: OCCT Total CPU difference: 19745.71875 / 19762.140625 [-0.08%] Products Total CPU difference: 13066.0625 / 12843.21875 [+1.74%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR32648 has been deleted by mnt. SHA-1: 212756699f60e97a00d06e9a73d298f785cee9da |
|
Branch CR32648_1 has been deleted by mnt. SHA-1: 17dabf6c755c60d51cce6459bd037072f85e48b7 |
|
Branch was integrated at IR-2021-11-19 |
occt: master c8365a1c 2021-11-02 13:23:25 Committer: |
0032648: Visualization, TKOpenGles - support MSAA anti-aliasing within WebGL 2.0 OpenGl_FrameBuffer::Init() now creates MSAA render buffer in case if MSAA textures are unsupported. In this case OpenGl_View::prepareFrameBuffers() creates MSAA render buffer for main content and non-MSAA FBO for immediate content as blitting of MSAA render buffers into MSAA targets is unsupported by OpenGL ES 3.0. env.bat.in has been corrected to include path to custom ANGLE (GLES2_DIR) in front of Qt which might include its own older ANGLE build. |
Affected Issues 0032648 |
|
mod - adm/templates/env.bat.in | Diff File | ||
mod - src/OpenGl/OpenGl_Context.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Context.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_FrameBuffer.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_FrameBuffer.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_Texture.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_View.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Window.cxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2021-11-02 16:22 | kgv | New Issue | |
2021-11-02 16:22 | kgv | Assigned To | => kgv |
2021-11-02 16:23 | git | Note Added: 0105004 | |
2021-11-02 22:57 | kgv | Test case number | => opengles3/general/msaa |
2021-11-02 22:57 | kgv | Steps to Reproduce Updated | |
2021-11-02 22:57 | git | Note Added: 0105026 | |
2021-11-02 23:00 | git | Note Added: 0105027 | |
2021-11-02 23:31 | git | Note Added: 0105028 | |
2021-11-03 10:40 | git | Note Added: 0105032 | |
2021-11-03 14:32 | kgv | Note Added: 0105039 | |
2021-11-03 15:36 | git | Note Added: 0105041 | |
2021-11-03 16:47 | kgv | Note Added: 0105042 | |
2021-11-03 16:47 | kgv | Note Edited: 0105042 | |
2021-11-03 16:47 | kgv | Note Edited: 0105042 | |
2021-11-03 17:07 | kgv | Note Added: 0105043 | |
2021-11-03 17:07 | kgv | Assigned To | kgv => osa |
2021-11-03 17:07 | kgv | Status | new => resolved |
2021-11-09 21:49 | kgv | Relationship added | related to 0032647 |
2021-11-15 10:27 |
|
Note Added: 0105186 | |
2021-11-15 10:27 |
|
Assigned To | osa => bugmaster |
2021-11-15 10:27 |
|
Status | resolved => reviewed |
2021-11-21 12:27 | bugmaster | Status | reviewed => tested |
2021-11-21 12:31 | bugmaster | Note Added: 0105288 | |
2021-11-21 12:46 |
|
Changeset attached | => occt master c8365a1c |
2021-11-21 12:46 |
|
Assigned To | bugmaster => inv |
2021-11-21 12:46 |
|
Status | tested => verified |
2021-11-21 12:46 |
|
Resolution | open => fixed |
2021-11-21 13:00 | git | Note Added: 0105307 | |
2021-11-21 13:00 | git | Note Added: 0105308 | |
2023-02-03 04:25 | vglukhik | Status | verified => closed |
2023-02-03 04:25 | vglukhik | Fixed in Version | => 7.7.0 |
2023-02-03 04:25 | vglukhik | Note Added: 0113056 |