MantisBT - Open CASCADE
View Issue Details
0030570Open CASCADE[OCCT] OCCT:Visualizationpublic2019-03-13 20:392019-03-19 10:33
kgv 
apn 
normalminor 
closedfixed 
[OCCT] 7.1.0 
[OCCT] 7.4.0[OCCT] 7.4.0 
Not needed
0030570: Visualization, TKOpenGl - OpenGl_AspectFace ignores texture revision on recompute
When both conditions happen at once - increasing texture revision and recomputing presentation - OpenGl_AspectFace ignores new texture revision and does not update texture.

void OpenGl_AspectFace::Resources::BuildTextures (const Handle(OpenGl_Context)& theCtx,
                                                  const Handle(Graphic3d_TextureSet)& theTextures)

...
    if (!aTexture.IsNull())
    {
      const TCollection_AsciiString& aTextureKeyNew = aTexture->GetId();
      if (aTextureKeyNew.IsEmpty()
      || !theCtx->GetResource<Handle(OpenGl_Texture)> (aTextureKeyNew, aResource))
      {
        aResource = new OpenGl_Texture (aTextureKeyNew, aTexture->GetParams());
        if (Handle(Image_PixMap) anImage = aTexture->GetImage())
        {
          aResource->Init (theCtx, *anImage.operator->(), aTexture->Type());
          aResource->SetRevision (aTexture->Revision());
        }
        if (!aTextureKeyNew.IsEmpty())
        {
          theCtx->ShareResource (aTextureKeyNew, aResource);
        }
      }
      else
      {
/// !!! texture revision is ignored here !!!
        aResource->Sampler()->SetParameters (aTexture->GetParams());
      }
    }
No tags attached.
Issue History
2019-03-13 20:39kgvNew Issue
2019-03-13 20:39kgvAssigned To => kgv
2019-03-13 20:41kgvDescription Updatedbug_revision_view_page.php?rev_id=20840#r20840
2019-03-13 20:42kgvRelationship addedchild of 0027853
2019-03-13 20:42kgvProduct Version7.3.0 => 7.1.0
2019-03-13 21:51gitNote Added: 0082934
2019-03-13 21:53kgvNote Added: 0082935
2019-03-13 21:53kgvAssigned Tokgv => san
2019-03-13 21:53kgvStatusnew => resolved
2019-03-14 10:19kgvAssigned Tosan => osa
2019-03-14 16:42osaNote Added: 0082949
2019-03-14 16:42osaAssigned Toosa => bugmaster
2019-03-14 16:42osaStatusresolved => reviewed
2019-03-14 16:48apnTest case number => Not needed
2019-03-14 16:48apnNote Added: 0082950
2019-03-14 16:48apnStatusreviewed => tested
2019-03-17 15:40apnChangeset attached => occt master 31fe1f8e
2019-03-17 15:40apnAssigned Tobugmaster => apn
2019-03-17 15:40apnStatustested => verified
2019-03-17 15:40apnResolutionopen => fixed
2019-03-19 10:33gitNote Added: 0083082

Notes
(0082934)
git   
2019-03-13 21:51   
Branch CR30570 has been created by kgv.

SHA-1: 1db9efb12192a7bca92b9c0adec9b434604bb583


Detailed log of new commits:

Author: kgv
Date: Wed Mar 13 21:46:24 2019 +0300

    0030570: Visualization, TKOpenGl - OpenGl_AspectFace ignores texture revision on recompute
    
    Added revision check to one more branch within OpenGl_AspectsTextureSet::build().
(0082935)
kgv   
2019-03-13 21:53   
Patch is ready for review.
(0082949)
osa   
2019-03-14 16:42   
The patch is reviewed without remarks.
(0082950)
apn   
2019-03-14 16:48   
Combination -
OCCT branch : CR30570
master SHA - 1db9efb12192a7bca92b9c0adec9b434604bb583
d67d4b811012eef8913d3c535c29654d0acf3c4c
Products branch : master SHA - 19cf12d4f918562ea1456aa224c6f7a64b9c4ad7
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: 16545.43 / 16599.24999999996 [-0.32%]
Products
Total CPU difference: 9089.230000000054 / 9092.71000000004 [-0.04%]
Windows-64-VC14:
OCCT
Total CPU difference: 18063.875 / 17985.28125 [+0.44%]
Products
Total CPU difference: 10479.09375 / 10460.953125 [+0.17%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0083082)
git   
2019-03-19 10:33   
Branch CR30570 has been deleted by inv.

SHA-1: 1db9efb12192a7bca92b9c0adec9b434604bb583