View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026081 | Open CASCADE | OCCT:Visualization | public | 2015-04-15 12:31 | 2016-12-23 21:26 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Product Version | 6.8.0 | ||||
Target Version | 6.9.0 | Fixed in Version | 6.9.0 | ||
Summary | 0026081: Visualization, TKOpenGl - rebuild vertex attributes in order to not render large index arrays in OpenGL ES | ||||
Description | Most OpenGL ES 2.0 devices do not support index arrays larger than 64K elements. This limitation has been withdrawn since OpenGL ES 3.0, but it would be better to provide fallback solution for old devices. The most straight-forward solution would be dropping index buffers larger than supported threshold and duplicate vertex attributes. Although this would cause extra memory usage, it does not look reasonable to implement more complex solution for outdated devices which would be thrown away in the nearest future. | ||||
Steps To Reproduce | N/A | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
Branch CR26081 has been created by dbp. SHA-1: a9d78f743f1da5a1861364823416b510db53fa88 Detailed log of new commits: Author: dbp Date: Wed Apr 15 12:32:00 2015 +0300 Visualization - Rebuild vertex attributes in order to not render large index arrays in OpenGL ES Author: dbp Date: Mon Apr 13 17:48:35 2015 +0300 0026070: Ray tracing with reflections is poor on rotated presentation |
|
Dear kgv, please review the patch in branch CR26081. |
|
+ Graphic3d_Buffer* anAttribs = new Graphic3d_Buffer (new NCollection_AlignedAllocator (16)); please use handle. + if (myIndices->NbElements > std::numeric_limits<GLushort>::max()) + { the check is improper - please check uint availability in runtime to avoid unnecessary actions: myHasGLuint = aCtx->IsGlGreaterEqual (3, 0) || aCtx->CheckExtension ("GL_OES_element_index_uint"); |
|
Branch CR26081 has been updated forcibly by dbp. SHA-1: c994d028a76e5d66cf4f3dcc55e14a321a4c503c |
|
The patch was fixed, see branch CR26081. |
|
+ if (myIndices.IsNull() || theContext->IsGlGreaterEqual (3, 0) || theContext->CheckExtension ("GL_OES_element_index_uint")) this flag should be cached in OpenGl_Context like field hasHighp and others (something like hasIndexUint). |
|
Branch CR26081_1 has been created by kgv. SHA-1: ec3a9e2fb156f82ff50c9072e4e385d6b456281c Detailed log of new commits: Author: dbp Date: Thu Apr 16 16:03:55 2015 +0300 0026081: Visualization, TKOpenGl - rebuild vertex attributes in order to not render large index arrays in OpenGL ES |
|
Please test the patch. |
|
Branch CR26081_1 has been updated forcibly by apv. SHA-1: 98c0dbfd43082e6e4fc45581a447e30e01ee4392 |
|
Branch CR26081_1 has been rebased on the current master |
|
Branch CR26081_1 has been updated forcibly by apv. SHA-1: 707b0a9b5347bf30a58b4f67c8eb3b1d69633849 |
|
Branch CR26081_1 has been rebased on the current master |
|
Dear BugMaster, Branch CR26081_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: 707b0a9b5347bf30a58b4f67c8eb3b1d69633849 Number of compiler warnings: occt component: Linux: 18 (18 on master) Windows: 0 (0 on master) products component: Linux: 4 (4 on master) Windows: 0 (0 on master) Regressions/Differences: Not detected Testing cases: Not needed Testing on Linux: Total MEMORY difference: 94788291 / 94581607 [+0.22%] Total CPU difference: 55702.39999999911 / 51016.72999999946 [+9.18%] Testing on Windows: Total MEMORY difference: 57634491 / 57268183 [+0.64%] Total CPU difference: 16314.89658199876 / 15811.13815279897 [+3.19%] |
|
Branch CR26081 has been deleted by inv. SHA-1: c994d028a76e5d66cf4f3dcc55e14a321a4c503c |
|
Branch CR26081_1 has been deleted by inv. SHA-1: 707b0a9b5347bf30a58b4f67c8eb3b1d69633849 |
occt: master e99a2f7c 2015-04-16 13:03:55
Committer: bugmaster Details Diff |
0026081: Visualization, TKOpenGl - rebuild vertex attributes in order to not render large index arrays in OpenGL ES |
Affected Issues 0026081 |
|
mod - src/OpenGl/OpenGl_Context.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Context.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_PrimitiveArray.hxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-04-15 12:31 |
|
New Issue | |
2015-04-15 12:31 |
|
Assigned To | => kgv |
2015-04-15 12:31 |
|
Assigned To | kgv => dbp |
2015-04-15 12:32 | git | Note Added: 0039769 | |
2015-04-15 12:33 |
|
Note Added: 0039770 | |
2015-04-15 12:33 |
|
Assigned To | dbp => kgv |
2015-04-15 12:33 |
|
Status | new => resolved |
2015-04-15 12:33 |
|
Steps to Reproduce Updated | |
2015-04-15 17:32 | kgv | Note Added: 0039798 | |
2015-04-15 17:32 | kgv | Assigned To | kgv => dbp |
2015-04-15 17:32 | kgv | Status | resolved => assigned |
2015-04-16 11:31 | git | Note Added: 0039824 | |
2015-04-16 11:32 |
|
Note Added: 0039825 | |
2015-04-16 11:32 |
|
Assigned To | dbp => kgv |
2015-04-16 11:32 |
|
Status | assigned => resolved |
2015-04-16 11:47 | kgv | Note Added: 0039828 | |
2015-04-16 11:47 | kgv | Assigned To | kgv => dbp |
2015-04-16 11:47 | kgv | Status | resolved => assigned |
2015-04-16 11:48 | kgv | Product Version | 6.9.0 => 6.8.0 |
2015-04-16 16:03 | kgv | Summary | Visualization - Rebuild vertex attributes in order to not render large index arrays in OpenGL ES => Visualization, TKOpenGl - rebuild vertex attributes in order to not render large index arrays in OpenGL ES |
2015-04-16 16:04 | git | Note Added: 0039897 | |
2015-04-16 16:04 | kgv | Assigned To | dbp => kgv |
2015-04-16 16:04 | kgv | Status | assigned => resolved |
2015-04-16 19:13 | kgv | Note Added: 0039918 | |
2015-04-16 19:13 | kgv | Assigned To | kgv => bugmaster |
2015-04-16 19:13 | kgv | Status | resolved => reviewed |
2015-04-17 15:41 |
|
Assigned To | bugmaster => apv |
2015-04-17 17:10 | git | Note Added: 0039978 | |
2015-04-17 17:11 |
|
Note Added: 0039979 | |
2015-04-24 16:52 | git | Note Added: 0040221 | |
2015-04-24 16:57 |
|
Note Added: 0040222 | |
2015-04-27 16:01 |
|
Test case number | => Not needed |
2015-04-27 16:28 | kgv | Description Updated | |
2015-04-27 18:31 |
|
Note Added: 0040299 | |
2015-04-27 18:31 |
|
Assigned To | apv => bugmaster |
2015-04-27 18:31 |
|
Status | reviewed => tested |
2015-05-07 11:18 | bugmaster | Changeset attached | => occt master e99a2f7c |
2015-05-07 11:18 | bugmaster | Status | tested => verified |
2015-05-07 11:18 | bugmaster | Resolution | open => fixed |
2015-05-14 15:28 |
|
Status | verified => closed |
2015-05-14 15:30 |
|
Fixed in Version | => 6.9.0 |
2015-05-14 16:36 | git | Note Added: 0041093 | |
2015-05-14 16:36 | git | Note Added: 0041094 | |
2016-12-23 21:26 | kgv | Relationship added | related to 0028276 |