View Issue Details

IDProjectCategoryView StatusLast Update
0031478Open CASCADEOCCT:Visualizationpublic2022-04-06 02:13
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.5.0Fixed in Version7.5.0 
Summary0031478: Visualization, TKOpenGl - allow uploading Cubemap in compressed DDS format when supported by GPU
DescriptionIt is desired supporting uploading of Cubemap textures in compressed DDS formats when GPU allows this.
TagsNo tags attached.
Test case numberv3d/glsl/cubemap_dds, v3d/glsl/texture_trsf3

Attached Files

  • earth-cubemap.dds (786,560 bytes)
  • bug31478_texture_trsf_ref_dxt1.dds (43,832 bytes)
  • bug31478_texture_trsf_ref_dxt3.dds (87,536 bytes)
  • bug31478_texture_trsf_ref_dxt5.dds (87,536 bytes)
  • cubemap_labels.svg (13,616 bytes)
  • cubemap_labels.png (42,534 bytes)
  • cubemap_labels.dds (1,048,784 bytes)

Relationships

related to 0029055 closedbugmaster Open CASCADE Visualization, Image_AlienPixMap - fallback using Wincodec 
related to 0030549 resolvedabv Open CASCADE Coding - split Image_AlienPixMap into several classes 
parent of 0032093 closedbugmaster Open CASCADE Visualization, TKOpenGl - loading texture in BGR format fails in OpenGL ES 
parent of 0032912 closedvpozdyayev Community Visualization - crash when displaying an OBJ file with missing texture file 
related to 0028098 closedbugmaster Open CASCADE Visualization - errors in tests when using OpenGL ES (ANGLE) 
child of 0030807 closedapn Open CASCADE Visualization, TKOpenGl - supporting cubemaps 

Activities

kgv

2020-04-01 11:08

developer  

earth-cubemap.dds (786,560 bytes)

git

2020-05-16 02:46

administrator   ~0092168

Branch CR31478 has been created by kgv.

SHA-1: 951f2b29685280c11028f4594ac5b8fc5eeb7b04


Detailed log of new commits:

Author: kgv
Date: Sat May 16 02:47:20 2020 +0300

    0031478: Visualization, TKOpenGl - allow uploading Cubemap in compressed DDS format when supported by GPU
    
    Graphic3d_TextureRoot::GetCompressedImage() - added new interface for fetching compressed texture image.
    Default implementation detects DDS image files using Image_DDSParser parser.

git

2020-05-16 03:47

administrator   ~0092169

Branch CR31478 has been updated forcibly by kgv.

SHA-1: a5cce42116f66d81aab5edb61129c67b05b2293c

git

2020-05-16 04:26

administrator   ~0092170

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 339c46d5be13551d1714fc212332bec87cbfa970

git

2020-05-16 05:05

administrator   ~0092171

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 73f97be6610dc25ec6bbabed86f4b31f29d42e27

git

2020-05-16 16:07

administrator   ~0092194

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 406fe8986e1c60803b23f0bae18c2b0c6b11f954

git

2020-05-16 16:09

administrator   ~0092195

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 1761b4d530c4923dd067c363de1375ed8d13fa2f

git

2020-05-16 16:14

administrator   ~0092196

Branch CR31478 has been updated forcibly by kgv.

SHA-1: aa7570675124816c5f67793bf5b43f57887c6446

git

2020-05-16 19:00

administrator   ~0092197

Branch CR31478 has been updated forcibly by kgv.

SHA-1: cfda5b7ef19ca4c74c8bcef900139dc5883b62d7

git

2020-05-16 19:40

administrator   ~0092198

Branch CR31478 has been updated forcibly by kgv.

SHA-1: cfcd22f89631175ba9e7690d28ad3d7135942bd2

git

2020-05-16 20:01

administrator   ~0092199

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 52adcf87dc24c3ec32d8cfbdc9f0fa2e86c54bb4

git

2020-05-16 20:04

administrator   ~0092200

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 7697844f629216c03f8befe85a70024e8320ac12

git

2020-05-16 20:05

administrator   ~0092201

Branch CR31478 has been updated forcibly by kgv.

SHA-1: d1ded09aa901e3871359a1d5466f8cf8a8c6031c

git

2020-05-16 20:12

administrator   ~0092202

Branch CR31478 has been updated forcibly by kgv.

SHA-1: ec8972d2249892f2779ba2165873ea30ab6d39f1

git

2020-05-16 20:23

administrator   ~0092203

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 2993eb01cfe36effbb0b2d4595404d44984cb5af

git

2020-05-16 23:36

administrator   ~0092204

Branch CR31478 has been updated forcibly by kgv.

SHA-1: ccdb5a6638efca5f1f8f1db65cde32834e607fdd

git

2020-05-16 23:48

administrator   ~0092205

Branch CR31478 has been updated forcibly by kgv.

SHA-1: c49c2bea7d7545fbc99a5e638bdda6472d4f50bb

git

2020-05-16 23:57

administrator   ~0092206

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 68f4db257a65032689e79546dde97be1a0d4c94d

kgv

2020-05-17 00:57

developer  

bug31478_texture_trsf_ref_dxt1.dds (43,832 bytes)

kgv

2020-05-17 00:57

developer  

bug31478_texture_trsf_ref_dxt3.dds (87,536 bytes)

kgv

2020-05-17 00:57

developer  

bug31478_texture_trsf_ref_dxt5.dds (87,536 bytes)

git

2020-05-17 00:57

administrator   ~0092207

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 1b7e16a1a9dbea3c590f51fa48aaf9796992c913

kgv

2020-05-17 01:47

developer  

cubemap_labels.svg (13,616 bytes)

kgv

2020-05-17 01:47

developer  

cubemap_labels.png (42,534 bytes)

kgv

2020-05-17 02:51

developer  

cubemap_labels.dds (1,048,784 bytes)

git

2020-05-17 02:51

administrator   ~0092208

Branch CR31478 has been updated forcibly by kgv.

SHA-1: e71208260d80d4ed0e5dfe9c33868cf47b8df21d

git

2020-05-17 03:01

administrator   ~0092209

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 156420d479c78ae85d6e66598380f201864b2fc6

git

2020-05-17 03:04

administrator   ~0092210

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 4d1ebb3f61c36a85ceaaeb0827aedd19679f9b6f

git

2020-05-17 03:06

administrator   ~0092211

Branch CR31478 has been updated forcibly by kgv.

SHA-1: a87da75b11d4b03871c58967ef3829a8eefaca27

git

2020-05-17 10:58

administrator   ~0092212

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 42ddb4794541413d6ab85114c42c42fc93cc532e

kgv

2020-05-17 10:59

developer   ~0092213

Patch is ready for review in OCCT branch CR31478.

http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR31478-master-KGV/

git

2020-05-17 18:14

administrator   ~0092216

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 728a6954186f285420b6cf352b9c4f4691c9e330

git

2020-05-17 19:21

administrator   ~0092217

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 53709485ea33eae408e396672e1af37c857be83d

git

2020-05-17 20:41

administrator   ~0092218

Branch CR31478 has been updated forcibly by kgv.

SHA-1: faf3da90291980c098bbc105b703f0c52d212c84

git

2020-05-17 21:21

administrator   ~0092219

Branch CR31478 has been updated forcibly by kgv.

SHA-1: 3744cbdb5933ceb99e1a78e552cb78beccca052b

osa

2020-05-18 09:01

developer   ~0092221

The patch was reviewed without remarks

kgv

2020-05-18 09:16

developer   ~0092222

Dear bugmaster,

please add files cubemap_labels.png, cubemap_labels.dds and bug31478_texture_trsf_ref_dxt3.dds attached to this bug to test data (public part).

git

2020-05-18 12:35

administrator   ~0092226

Branch CR31478 has been updated forcibly by kgv.

SHA-1: cd94d9278038523d76a5791bb295fb6cab538aa0

git

2020-05-18 12:36

administrator   ~0092227

Branch CR31478 has been updated forcibly by kgv.

SHA-1: f83d86bbf394cde13edc19b65fd891aca772df5d

git

2020-05-18 13:56

administrator   ~0092232

Branch CR31478 has been updated forcibly by kgv.

SHA-1: da33cdcb2c55c4c1996805f5e15c654dfd56fa84

git

2020-05-22 10:46

administrator   ~0092297

Branch CR31478 has been updated forcibly by kgv.

SHA-1: ef563159fd2333ea265ddcef4b83f62bc61bd839

bugmaster

2020-05-23 12:45

administrator   ~0092308

OCCT branch : IR-2020-05-22
master SHA - ae58f70718a089f84178d45a1bf9bee586d52d80
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-05-22 SHA - 454ac05077d8a84cd61adbfc32a89c7a61a67e10
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: 17169.13000000018 / 17197.13000000017 [-0.16%]
Products
Total CPU difference: 11217.810000000067 / 11198.660000000078 [+0.17%]
Windows-64-VC14:
OCCT
Total CPU difference: 18640.75 / 18655.984375 [-0.08%]
Products
Total CPU difference: 13006.1875 / 13006.671875 [-0.00%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2020-05-30 12:26

administrator   ~0092413

Branch CR31478 has been deleted by inv.

SHA-1: ef563159fd2333ea265ddcef4b83f62bc61bd839

Related Changesets

occt: master faff3767

2020-05-15 23:47:20

kgv


Committer: bugmaster Details Diff
0031478: Visualization, TKOpenGl - allow uploading Cubemap in compressed DDS format when supported by GPU

Graphic3d_TextureRoot::GetCompressedImage() - added new interface for fetching compressed texture image.
Default implementation detects DDS image files using Image_DDSParser parser.

Graphic3d_TextureRoot::GetImage() has been extended with new parameter
- the list of image formats supported by OpenGL driver.
Graphic3d_TextureRoot::convertToCompatible() implicitly converts
BGRA image to RGBA on OpenGL ES, which normally does not support BGR formats.

OpenGl_Caps::isTopDownTextureUV - new property defines how application defines
UV texture coordinates in primitive arrays.
OpenGl_Context::SetTextureMatrix() compares this flag with OpenGl_Texture::IsTopDown()
and automatically flips V coordinate in case of mismatch.

OpenGl_Texture now holds exact number of mipmap levels
instead of Boolean flag indicating that they are defined.
This allows loading DDS files with incomplete mipmap level set
by setting GL_TEXTURE_MAX_LEVEL to appropriate value instead of default 1000
(causing black textures in case if mipmap levels are not defined till 1x1).

Fixed order of texture coordinates transformation within GLSL program to match FFP matrix:
Rotate -> Translate -> Scale (previously Rotation was applied afterwards).
Affected Issues
0031478
mod - samples/mfc/standard/Common/Primitive/Sample2D_Image.cpp Diff File
mod - src/AIS/AIS_XRTrackedDevice.cxx Diff File
mod - src/Aspect/Aspect_OpenVRSession.cxx Diff File
mod - src/Graphic3d/Graphic3d_CubeMap.hxx Diff File
mod - src/Graphic3d/Graphic3d_CubeMapPacked.cxx Diff File
mod - src/Graphic3d/Graphic3d_CubeMapPacked.hxx Diff File
mod - src/Graphic3d/Graphic3d_CubeMapSeparate.cxx Diff File
mod - src/Graphic3d/Graphic3d_CubeMapSeparate.hxx Diff File
mod - src/Graphic3d/Graphic3d_MediaTexture.cxx Diff File
mod - src/Graphic3d/Graphic3d_MediaTexture.hxx Diff File
mod - src/Graphic3d/Graphic3d_TextureParams.hxx Diff File
mod - src/Graphic3d/Graphic3d_TextureRoot.cxx Diff File
mod - src/Graphic3d/Graphic3d_TextureRoot.hxx Diff File
mod - src/Image/FILES Diff File
add - src/Image/Image_CompressedFormat.hxx Diff File
add - src/Image/Image_CompressedPixMap.hxx Diff File
add - src/Image/Image_DDSParser.cxx Diff File
add - src/Image/Image_DDSParser.hxx Diff File
mod - src/Image/Image_Format.hxx Diff File
mod - src/Image/Image_PixMap.cxx Diff File
mod - src/Image/Image_PixMap.hxx Diff File
add - src/Image/Image_SupportedFormats.cxx Diff File
add - src/Image/Image_SupportedFormats.hxx Diff File
mod - src/Image/Image_Texture.cxx Diff File
mod - src/Image/Image_Texture.hxx Diff File
mod - src/OpenGl/OpenGl_Caps.cxx Diff File
mod - src/OpenGl/OpenGl_Caps.hxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_GlFunctions.hxx Diff File
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx Diff File
mod - src/OpenGl/OpenGl_Sampler.cxx Diff File
mod - src/OpenGl/OpenGl_Sampler.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.hxx Diff File
mod - src/OpenGl/OpenGl_TextureFormat.cxx Diff File
mod - src/OpenGl/OpenGl_TextureFormat.hxx Diff File
mod - src/OpenGl/OpenGl_View.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
mod - src/XCAFPrs/XCAFPrs_Texture.cxx Diff File
mod - src/XCAFPrs/XCAFPrs_Texture.hxx Diff File
add - tests/v3d/glsl/cubemap_dds Diff File
mod - tests/v3d/glsl/texture_trsf2 Diff File
add - tests/v3d/glsl/texture_trsf3 Diff File

Issue History

Date Modified Username Field Change
2020-04-01 11:06 kgv New Issue
2020-04-01 11:06 kgv Assigned To => kgv
2020-04-01 11:08 kgv Relationship added child of 0030807
2020-04-01 11:08 kgv File Added: earth-cubemap.dds
2020-05-16 02:46 git Note Added: 0092168
2020-05-16 03:47 git Note Added: 0092169
2020-05-16 04:26 git Note Added: 0092170
2020-05-16 05:05 git Note Added: 0092171
2020-05-16 16:07 git Note Added: 0092194
2020-05-16 16:09 git Note Added: 0092195
2020-05-16 16:14 git Note Added: 0092196
2020-05-16 19:00 git Note Added: 0092197
2020-05-16 19:40 git Note Added: 0092198
2020-05-16 20:01 git Note Added: 0092199
2020-05-16 20:04 git Note Added: 0092200
2020-05-16 20:05 git Note Added: 0092201
2020-05-16 20:12 git Note Added: 0092202
2020-05-16 20:23 git Note Added: 0092203
2020-05-16 23:36 git Note Added: 0092204
2020-05-16 23:48 git Note Added: 0092205
2020-05-16 23:57 git Note Added: 0092206
2020-05-17 00:57 kgv File Added: bug31478_texture_trsf_ref_dxt1.dds
2020-05-17 00:57 kgv File Added: bug31478_texture_trsf_ref_dxt3.dds
2020-05-17 00:57 kgv File Added: bug31478_texture_trsf_ref_dxt5.dds
2020-05-17 00:57 git Note Added: 0092207
2020-05-17 01:47 kgv File Added: cubemap_labels.svg
2020-05-17 01:47 kgv File Added: cubemap_labels.png
2020-05-17 02:51 kgv File Added: cubemap_labels.dds
2020-05-17 02:51 git Note Added: 0092208
2020-05-17 03:01 git Note Added: 0092209
2020-05-17 03:04 git Note Added: 0092210
2020-05-17 03:06 git Note Added: 0092211
2020-05-17 10:58 git Note Added: 0092212
2020-05-17 10:59 kgv Note Added: 0092213
2020-05-17 10:59 kgv Assigned To kgv => osa
2020-05-17 10:59 kgv Status new => resolved
2020-05-17 18:14 git Note Added: 0092216
2020-05-17 19:21 git Note Added: 0092217
2020-05-17 20:41 git Note Added: 0092218
2020-05-17 21:21 git Note Added: 0092219
2020-05-18 09:01 osa Note Added: 0092221
2020-05-18 09:01 osa Assigned To osa => bugmaster
2020-05-18 09:01 osa Status resolved => reviewed
2020-05-18 09:16 kgv Note Added: 0092222
2020-05-18 12:35 git Note Added: 0092226
2020-05-18 12:36 git Note Added: 0092227
2020-05-18 13:56 git Note Added: 0092232
2020-05-22 10:46 git Note Added: 0092297
2020-05-22 22:47 kgv Relationship added related to 0028098
2020-05-22 22:48 kgv Relationship added related to 0029055
2020-05-22 22:48 kgv Relationship added related to 0030549
2020-05-23 12:45 bugmaster Note Added: 0092308
2020-05-23 12:45 bugmaster Status reviewed => tested
2020-05-23 12:46 bugmaster Test case number => v3d/glsl/cubemap_dds, v3d/glsl/texture_trsf3
2020-05-23 12:52 bugmaster Changeset attached => occt master faff3767
2020-05-23 12:52 bugmaster Status tested => verified
2020-05-23 12:52 bugmaster Resolution open => fixed
2020-05-30 12:26 git Note Added: 0092413
2020-12-02 16:43 emo Fixed in Version => 7.5.0
2020-12-02 17:12 emo Status verified => closed
2021-01-29 04:21 kgv Relationship added parent of 0032093
2022-04-06 02:13 kgv Relationship added parent of 0032912