MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030807Open CASCADE[OCCT] OCCT:Visualizationpublic2019-06-25 12:382019-09-02 18:14
Reporteriko 
Assigned Toapn 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0Fixed in Version[OCCT] 7.4.0 
Summary0030807: Visualization, TKOpenGl - supporting cubemaps
DescriptionIt is desired to support cubemaps on OCCT textures system and to use it as background for viewers.
Steps To Reproducev3d/glsl/cubemap
TagsNo tags attached.
Test case numberv3d/glsl/cubemap
Attached Files

- Relationships
related to 0030700assignediko Open CASCADE Visualization, TKOpenGl - support PBR Metallic-Roughness shading model 
related to 0030833closedbugmaster Open CASCADE Visualization - Graphic3d_Camera constructor's exceptions 

-  Notes
(0085525)
git (administrator)
2019-07-09 17:33

Branch CR30807 has been created by iko.

SHA-1: b94af996b76d7022b9d36733522c087701817af8


Detailed log of new commits:

Author: iko
Date: Tue Jul 9 16:55:49 2019 +0300

    0030807: Visualization, TKOpenGl - supporting cubemaps
    
    A cubemap texture initialization has been implemented.
    Setting environment cubemap as interactive background is posssible now.
(0085556)
git (administrator)
2019-07-10 13:45

Branch CR30807 has been updated forcibly by iko.

SHA-1: c8354a76125ba3ee8a8d634a0ecaa76ffdb7d696
(0085557)
git (administrator)
2019-07-10 14:09

Branch CR30807 has been updated forcibly by iko.

SHA-1: 4ea89cc2535eed974236d91d2b3a2db9f5ce1613
(0085580)
git (administrator)
2019-07-11 09:04

Branch CR30807 has been updated forcibly by iko.

SHA-1: e3425db7c7f7407c4831e34c1872f7e2a062e4e1
(0085625)
git (administrator)
2019-07-14 12:27

Branch CR30807 has been updated forcibly by apn.

SHA-1: 359de1d42d9c6b42aace1394fc13b04168ca6386
(0085634)
git (administrator)
2019-07-15 15:02

Branch CR30807 has been updated forcibly by iko.

SHA-1: 1913a0d7216582f468eb56c8b2c87f14dc6eb3bf
(0085635)
git (administrator)
2019-07-15 15:14

Branch CR30807 has been updated forcibly by iko.

SHA-1: ea33f4ba281c79f9b078602e6588b61c04ac6fe1
(0085665)
git (administrator)
2019-07-16 12:53

Branch CR30807 has been updated by iko.

SHA-1: 9e1027ea1a01ab86cd99f6c1ecf2952beeafc38d


Detailed log of new commits:

Author: iko
Date: Tue Jul 16 12:51:16 2019 +0300

    Merge branch 'CR30807' of git.dev.opencascade.org:occt into CR30807

Author: iko
Date: Tue Jul 9 16:55:49 2019 +0300

    0030807: Visualization, TKOpenGl - supporting cubemaps
    
    A cubemap texture initialization has been implemented.
    Setting environment cubemap as interactive background is posssible now.

(0085666)
git (administrator)
2019-07-16 12:59

Branch CR30807 has been updated forcibly by iko.

SHA-1: e5e8bc1f4144b433ab38f371ae17f336626bfe1d
(0085667)
git (administrator)
2019-07-16 13:01

Branch CR30807 has been updated forcibly by iko.

SHA-1: df37f6c867ac20a49ae71144fcc87cd7bad15e2e
(0085701)
git (administrator)
2019-07-17 12:18

Branch CR30807 has been updated forcibly by iko.

SHA-1: 9b50e14162d3fb7c6d6789a29710911b0638d71a
(0085702)
iko (developer)
2019-07-17 12:20

Please review the implementation in last branch update.
(0085788)
kgv (developer)
2019-07-19 13:33

--- /dev/null
+++ b/src/Graphic3d/Graphic3d_CubeMap.cxx
+// Author: Ilya Khramov
+// Copyright (c) 2016-2019 OPEN CASCADE SAS

The year range looks strange - I don't recall this class being developed in '2016.

+  //! Sets iterator state to +X cubemap side.
+  Graphic3d_CubeMap& Reset() { myCurrentSide = 0; return *this; }

Please avoid multiple statements on single line.

+  //! Returns index of current cubemap side (iterator state).
+  //! Uses OpenGL cubemap sides order (+X, -X, +Y, -Y, +Z, -Z).
+  unsigned int CurrentSide() const { return myCurrentSide; }
...
+  unsigned int myCurrentSide; //! index of current cubemap side in (+X, -X, +Y, -Y, +Z, -Z) array

Looks like enumeration would be more meaningful here.
Note that there is also V3d_TypeOfOrientation, though it is has another order.

+  //! Sets environment cubemap as background.
+  virtual void SetBackgroundCubeMap (const Handle(Graphic3d_CubeMap)& theCubeMap) = 0;

Probably there should be a getter too.

+  //! Returns rather Z axis is inverted during cubemap background rendering.
+  virtual Standard_Boolean BackgroundCubeMapZIsInverted() const = 0;
+
+  //! Sets innversion of Z axis during cubemap background rendering.
+  //! Z axis inverting allows to make a horizontal flip of background cubemap (to sync text orientation 
for example).
+  virtual void SetBackgroundCubeMapZInversion (Standard_Boolean theZIsInverted) = 0;

ToInvertBackgroundCubemapZ()/SetInvertBackgroundCubemapZ().

+Graphic3d_CubeMapPacked::Graphic3d_CubeMapPacked (const TCollection_AsciiString&          theFilePath,

+                                                  const NCollection_Array1<unsigned int>& 
theOrder):
+  Graphic3d_CubeMap (theFilePath),

The ":" placement is unusual for OCCT - please move it to newline.

+      Handle(Image_PixMap) aWrapper = new Image_PixMap;

new Image_PixMap().

+Standard_Boolean Graphic3d_CubeMapPacked::checkOrder (const NCollection_Array1<unsigned int>& 
theOrder)
+{
+  if (theOrder.Size() != 6)
+  {
+    return Standard_False;
+  }

I think this method should raise exception, because user should never pass invalid order array.

+  Standard_ShortReal aRatio = theImage->SizeX() / Standard_ShortReal(theImage->SizeY());
+
+  if (aRatio == 1.f / 6.f)
+  {
+    theTileNumberX = 1;
+  }
+  else if (aRatio == 6.f)
+  {
+    theTileNumberX = 6;
+  }

Why using floats for integer math?

+//! Class to keep cupemap packed in one image containing tile grid.
+class Graphic3d_CubeMapPacked : public Graphic3d_CubeMap

I suppose this class is intended to process cubemap packed into single image plane rather than to "keep" it packed.

+  static const NCollection_Array1<unsigned int> DefaultOrder; //!< contains {0, 1, 2, 3, 4, 
5}

Accessing this variable outside TKV3d would cause problems - please instead define a static method returning this array.
The comment is missing specifying where this order comes from (e.g. that this order is used by graphic APIs like OpenGL).

+
+protected:
+
+  NCollection_Array1<unsigned int> myOrder;       //!< order mapping tile grit to cubemap sides

+  unsigned int                     myTileNumberX; //!< width of tile grid
+
+private:
+
+  //! Generates Graphic3d_CubeMapPacked::DefaultOrder
+  static NCollection_Array1<unsigned int> generateDefaultOrder()

The class fields definition is expected to go after methods (public/protected/private order to be used within group methods/fields).

--- /dev/null
+++ b/src/Graphic3d/Graphic3d_CubeMapSeparate.cxx
+#include <OSD_File.hxx>
+#include <Graphic3d_CubeMapSeparate.hxx>

By convention, class header should go first (to verify header to be self-sustained), followed by other headers in alphabetical order.

+Graphic3d_CubeMapSeparate::Graphic3d_CubeMapSeparate (const NCollection_Array1<TCollection_AsciiString>& 
thePaths) :
+  Graphic3d_CubeMap ()

Graphic3d_CubeMap() is redundant.

+  if (thePaths.Size() == 6)
+  {
+    for (unsigned int i = 0; i < 6; ++i)
+    {
+      myPaths[i] = thePaths[i];
+    }
+  }
...
+    if (theImages[0]->SizeX() != theImages[0]->SizeY())
+    {
+      return;
+    }
...
+      if (!theImages[i].IsNull())
+      {
+        if (theImages[i]->SizeX() == myImages[0]->SizeX()
+         && theImages[i]->SizeY() == myImages[0]->SizeY()
+         && theImages[i]->Format() == myImages[0]->Format())

Probably should raise an exception on invalid input.

+Handle(Image_PixMap) Graphic3d_CubeMapSeparate::Value()
+{
+    TCollection_AsciiString aFilePath;
+    myPaths[myCurrentSide].SystemName(aFilePath);
+    if (!aFilePath.IsEmpty())
+    {
+      Handle(Image_AlienPixMap) anImage = new Image_AlienPixMap;
+      if (anImage->Load(aFilePath))
+      {
+        if (anImage->SizeX() == anImage->SizeY())
+        {
+          if (myCurrentSide == 0)
+          {
+            mySize =   anImage->SizeX();

When image is dynamically retrieved from file, the getter is not expected to raise exception, but it is desired reporting to user file reading errors and inconsistent dimensions / formats - this can be done through Message::DefaultMessenger()->Send().

+  }
+}
\ No newline at end of file

Please add missing newlines at end of files.

+Handle(Image_PixMap) Graphic3d_CubeMapSeparate::GetImage() const
+{
+  return Handle(Image_PixMap)();
+}

Inline with a proper description that this method returns NULL.

 enum Graphic3d_TypeOfBackground
 {
-Graphic3d_TOB_NONE,
 Graphic3d_TOB_GRADIENT,
-Graphic3d_TOB_TEXTURE
+Graphic3d_TOB_TEXTURE,
+Graphic3d_TOB_CUBEMAP,
+Graphic3d_TOB_NONE,
+
+Graphic3d_TOB_Number = Graphic3d_TOB_NONE
 };

Please reverse order back.
By convention, NONE/UNDEFINED values should be declared first in enumeration (either as 0 or -1).
New enumeration values are desired to put at the end of list.

+      EOL"uniform int uZCoeff = 1;" // defines orientation of Z axis to make horizontal flip


Uniform default value required GLSL 120 (and I'm unable finding this feature in any OpenGL ES version, probably missing something).
Please drop it.

+      EOL"out vec3 ViewDirection;"
...
+      EOL"in vec3 ViewDirection;"
...
+      EOL"  occSetFragColor (vec4(texture(occEnvCubemap, ViewDirection).rgb, 1.0));"

THE_SHADER_IN/THE_SHADER_OUT/occTextureCubemap.
in/out and uniforms are expected to be declared within:
+ OpenGl_ShaderObject::ShaderVariableList aUniforms, aStageInOuts;

+      Release(theCtx.operator->());

theCtx.get().

+      return Init(theCtx, *anImage.get(), theTextureMap->Type());

Just "*anImage".

+    GLenum aPixelFormat;
+    GLenum aDataType;
+    GLint aTextFormat;
+
+    if (!GetDataFormat(theCtx, *anImage.get(), aTextFormat, aPixelFormat, aDataType))

Please avoid declaring variable with undefined values even if it is expected that called method will initialize them.

+#if !defined (GL_ES_VERSION_2_0)
+    glTexImage2D (GL_PROXY_TEXTURE_2D, 0, aTextFormat,
+                  GLsizei(anImage->SizeX()), GLsizei(anImage->SizeY()), 0,
+                  aPixelFormat, aDataType, NULL);

Please just skip it - it is not very useful and using incorrectly for cubemap.

+    glPixelStorei(GL_UNPACK_ALIGNMENT, anAligment);

OpenGl_UnpackAlignmentSentry resetting unpacking values back is missing.

+
+#if !defined(GL_ES_VERSION_2_0)
+    // notice that GL_UNPACK_ROW_LENGTH is not available on OpenGL ES 2.0 without GL_EXT_unpack_subimage 
extension
+    const GLint anExtraBytes = GLint(anImage->RowExtraBytes());
+    const GLint aPixelsWidth = GLint(anImage->SizeRowBytes() / anImage->SizePixelBytes());
+    const GLint aRowLength = (anExtraBytes >= anAligment) ? aPixelsWidth : 0;
+    glPixelStorei(GL_UNPACK_ROW_LENGTH, aRowLength);
+#endif

GLES version justy ignores non-existing of row length, hense will lead to crash.

+    if (glGetError() != GL_NO_ERROR)

Please be more verbose and print error reason to messenger.

+    if (glGetError() != GL_NO_ERROR)
+    {
+      Unbind(theCtx);
+      Release(theCtx.get());
+      return false;
+    }
+  }
+
+  return true;

Method does not unbind texture on success as do other Init() methods.

--- a/src/OpenGl/OpenGl_Texture.hxx
+++ b/src/OpenGl/OpenGl_Texture.hxx
@@ -20,6 +20,7 @@
 #include <OpenGl_Sampler.hxx>
 #include <Graphic3d_TypeOfTexture.hxx>
 #include <Graphic3d_TextureUnit.hxx>
+#include <Graphic3d_CubeMap.hxx>

Better using forward declaration here.

+
+Graphic3d_TOB_Number = Graphic3d_TOB_NONE

It is better declaring Graphic3d_TOB_NB outside of enumeration.

-    myTextureParams->Release (theCtx.get());
+    myTextureParams->Release(theCtx.get());
...
-  const Standard_Boolean wasUsedZBuffer = theWorkspace->SetUseZBuffer (Standard_False);
+  const Standard_Boolean wasUsedZBuffer = theWorkspace->SetUseZBuffer(Standard_False);
...
-    aCtx->core11fwd->glDisable (GL_DEPTH_TEST);
+    aCtx->core11fwd->glDisable(GL_DEPTH_TEST);
...
-    theWorkspace->SetUseZBuffer (Standard_True);
-    aCtx->core11fwd->glEnable (GL_DEPTH_TEST);
+    theWorkspace->SetUseZBuffer(Standard_True);
+    aCtx->core11fwd->glEnable(GL_DEPTH_TEST);

Unrelated and incorrect.
Check OCCT coding rules related to braces.

--- a/src/OpenGl/OpenGl_View_Redraw.cxx
+++ b/src/OpenGl/OpenGl_View_Redraw.cxx
@@ -74,65 +74,93 @@ namespace
 void OpenGl_View::drawBackground (const Handle(OpenGl_Workspace)& theWorkspace)
 {

This should probably break use case when user defines gradient background + centered image.

+  //! Sets inversion of Z axis during background cibemap rendering.

cibemap

+      aCamera.SetZRange(0.01, 1.0); // need to avoid perspective camera exeption

exeption

+    aBackgroundCommandNameMap["vsetcubemapbg"]    = BackgroundCommand_CubeMap;
+    aBackgroundCommandNameMap["vsetcmzinversion"] = BackgroundCommand_CubeMapZInversion;

These are for backward compatibility - there is no need adding new commands for new functionality, vbackground will be enough.
(0085866)
git (administrator)
2019-07-23 17:14

Branch CR30807 has been updated forcibly by iko.

SHA-1: 47793c5a4344b963628d3e77b266eb23e43bdd7e
(0085868)
iko (developer)
2019-07-23 17:16

Please review the changes.
(0085874)
kgv (developer)
2019-07-25 19:46

+NCollection_Array1<unsigned int> Graphic3d_CubeMapPacked::DefaultOrder()
+{

It is expected that this method will return "const NCollection_Array1<unsigned int>& " - static constant, defined within the method.

+    throw Standard_Failure("Invalid number of images in Graphic3d_CubeMapSeparate initialization");

+    return;

Redundant return.

+                "'" + aFilePath + "' inconsistent image format or dimansion in Graphic3d_CubeMapSeparate");


dimansion

+  Handle(Image_PixMap) GetImage() const Standard_OVERRIDE

virtual.

+      theSize = unsigned int (anImage->SizeX());

Will fail on some compilers.

+        "Unable to get foirs side of cubemap");

foirs?

+    Handle(Image_PixMap) anImage = Handle(Image_PixMap)();

Redundant constructor.
(0085887)
git (administrator)
2019-07-26 11:55

Branch CR30807 has been updated by iko.

SHA-1: f2d6e620be4db2954eb287a28963d25dc4c5de9c


Detailed log of new commits:

Author: iko
Date: Fri Jul 26 11:52:58 2019 +0300

    # fix remarks 2

(0085888)
iko (developer)
2019-07-26 11:56

Please review changes.
(0085889)
kgv (developer)
2019-07-26 12:08

Please prepare a new branch CR30807_1 with squashed commits.
(0085891)
git (administrator)
2019-07-26 13:02

Branch CR30807_1 has been created by iko.

SHA-1: a436aa219819152cf62081e3c71c5a97732fdaaa


Detailed log of new commits:

Author: iko
Date: Tue Jul 9 16:55:49 2019 +0300

    0030807: Visualization, TKOpenGl - supporting cubemaps
    
    A cubemap texture initialization has been implemented.
    Setting environment cubemap as interactive background is posssible now.
(0085892)
iko (developer)
2019-07-26 13:03

The new branch with squashed commits has been added.
(0086093)
kgv (developer)
2019-08-08 21:32
edited on: 2019-08-08 21:35

New test case crashes application:
An exception was caught 00000235108F4EF0 : OSD_Exception_ACCESS_VIOLATION: ACCESS VIOLATION at address 
0x000002351B63AFF0 during 'READ' operation


The problem is that wrapping tile code ignores IsTopDown() flag, which is FALSE in case of FreeImage loader.
In this case myPixMap->ChangeRawValue(0,0) would return the pointer to the last row in the memory leading to out-of-memory access while transferring image to OpenGL driver.
Probably you have tested patch without HAVE_FREEIMAGE option, which would use HAVE_WINCODEC on Windows as fallback, which in turns uses top-down rows arrangement in memory.
    if (!myPixMap.IsNull())
    {
      Handle(Image_PixMap) aWrapper = new Image_PixMap();

      Standard_Size aTileSize = myPixMap->SizeX() / myTileNumberX;

      unsigned int aTileIndexY = myOrder[myCurrentSide] / myTileNumberX;
      unsigned int aTileIndexX = myOrder[myCurrentSide] % myTileNumberX;

      if (aWrapper->InitWrapper (myPixMap->Format(),
                                 myPixMap->ChangeRawValue(aTileIndexY * aTileSize, aTileIndexX * aTileSize),
                                 
aTileSize,
                                 aTileSize,
                                 myPixMap->SizeRowBytes()))
      {
        return aWrapper;
      }
    }


(0086094)
kgv (developer)
2019-08-08 21:55

Please also replace images in database to downscaled ones - it is not important for test to load high-resolution image.
(0086277)
git (administrator)
2019-08-16 13:29

Branch CR30807_1 has been updated forcibly by iko.

SHA-1: 6b28e9e78cb97e59edb6537f4b2aef25bea98018
(0086281)
git (administrator)
2019-08-16 14:06

Branch CR30807_1 has been updated forcibly by iko.

SHA-1: 7e399604a0ce1500c07770bccb3a0997d1ff7ead
(0086286)
git (administrator)
2019-08-16 14:51

Branch CR30807_1 has been updated forcibly by iko.

SHA-1: 7e448de4fea8727950f9d58b007c9f40041e6d6b
(0086324)
iko (developer)
2019-08-19 09:00

Please review the changes.

Testing results:
http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_1-master-IKO-OCCT-Debian80-64-opt-test-compare/1/ [^]

http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_1-master-IKO-Products-Debian80-64-opt-test-compare/1/ [^]

http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_1-master-IKO-OCCT-Windows-64-VC14-opt-test-compare/1/ [^]

http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_1-master-IKO-Products-Windows-64-VC14-opt-test-compare/1/ [^]
(0086326)
git (administrator)
2019-08-19 09:37

Branch CR30807_1 has been updated forcibly by iko.

SHA-1: 1bc8b63be28b2028ec9a69f68a8923b044132bb1
(0086327)
iko (developer)
2019-08-19 09:38

Just updated brunch to the new master.
(0086331)
kgv (developer)
2019-08-19 14:32

+                        static_cast<unsigned char> (std::stoi(anOrderItem)));

I expect std::stoi() will cause compilation errors on old compilers (weekly Jenkins).
(0086332)
git (administrator)
2019-08-19 14:57

Branch CR30807_1 has been updated forcibly by iko.

SHA-1: b28fd3138cdf0965ac89f82d5d91a753dcee305e
(0086333)
iko (developer)
2019-08-19 14:58

String to numbers translation has been fixed.
(0086334)
git (administrator)
2019-08-19 15:20

Branch CR30807_2 has been created by iko.

SHA-1: f898816a227ac163e6a0ee5d6762826f47446130


Detailed log of new commits:

Author: iko
Date: Tue Jul 9 16:55:49 2019 +0300

    0030807: Visualization, TKOpenGl - supporting cubemaps
    
    A cubemap texture initialization has been implemented.
    Setting environment cubemap as interactive background is posssible now.
(0086335)
git (administrator)
2019-08-19 15:26

Branch CR30807_2 has been updated forcibly by iko.

SHA-1: 3586c536381a95480e44713fc5c47a240028c17d
(0086336)
git (administrator)
2019-08-19 15:30

Branch CR30807_2 has been updated forcibly by iko.

SHA-1: 27a856c60f2b5ad1466dc2c60d24a267d673870f
(0086337)
kgv (developer)
2019-08-19 15:50

+// This constat is used in 'HasRepitities' method

constant?

+  //! Returns cubemap being setted last time on background.
+  virtual Handle(Graphic3d_CubeMap) BackgroundCubeMap() const = 0;

set

+  //! Constructor definig direct cubemap initialization from PixMap.
+  Graphic3d_CubeMap (const Handle(Image_PixMap)& thePixmap = Handle(Image_PixMap)()) :

definig

+const unsigned int Graphic3d_CubeMapOrder::repititiesConstant =

CAPS name would be preferred.

+  unsigned int convolution;  //!< Contains all values of permutation as power convolution
+  bool         hasOverflows; //!< Indicates if there are attempts to assign index greater than 5


my
(0086338)
kgv (developer)
2019-08-19 15:51

-            aResource->SetRevision (aTexture->Revision());
+            aResource->SetRevision(aTexture->Revision());

unrelated.
(0086342)
git (administrator)
2019-08-19 17:43

Branch CR30807_2 has been updated by iko.

SHA-1: 6d23267791f7ed9e4d668b04bae7062680ac6d70


Detailed log of new commits:

Author: iko
Date: Mon Aug 19 17:39:55 2019 +0300

    # cubemap z inversion's logic has been changed
    # typos has been fixed
    # code style has been improved
(0086343)
tizmaylo (developer)
2019-08-19 20:14

Why simply not to use std::bitset (or even an integer instead together with bitwise operations) to check for duplicates?

#include <bitset>

template <std::size_t theMaxValue, typename TheContainer>
bool HasDuplicates (const TheContainer& theContainer)
{
  typedef std::bitset<theMaxValue> AValueFlags;
  AValueFlags aValueFlags;
  // std::bitset::all() is not used due to C++03 limitation
  for (std::size_t anElementIndex = 0; anElementIndex < theContainer.size(); ++anElementIndex)
  {
    typename AValueFlags::reference aValueFlag = aValueFlags[theContainer[anElementIndex]];
    if (aValueFlag)
    {
      return true;
    }
    aValueFlag = true;
  }
  return false;
}
(0086347)
git (administrator)
2019-08-20 09:13

Branch CR30807_2 has been updated by iko.

SHA-1: 2ff6817f173adf9f52f08c3249505715bd47b99e


Detailed log of new commits:

Author: iko
Date: Tue Aug 20 09:08:47 2019 +0300

    # the repitities detection algorithm has been siplified
(0086348)
git (administrator)
2019-08-20 09:15

Branch CR30807_2 has been updated forcibly by iko.

SHA-1: bb9757dc63584fc154e584655ccf1ad2f745f89a
(0086349)
iko (developer)
2019-08-20 09:18

It is simpler of course. So repetition's detection algorithm has been changed.
(0086354)
tizmaylo (developer)
2019-08-20 10:37

typename keyword is redundant outside of templates in this context.
(0086356)
iko (developer)
2019-08-20 11:07

Testing is successful.

http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_2-master-IKO-OCCT-Debian80-64-opt-test-compare/2/ [^]

http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_2-master-IKO-OCCT-Windows-64-VC14-opt-test-compare/2/ [^]

http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_2-master-IKO-Products-Debian80-64-opt-test-compare/2/ [^]

http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30807_2-master-IKO-Products-Windows-64-VC14-opt-test-compare/2/ [^]
(0086357)
git (administrator)
2019-08-20 11:22

Branch CR30807_2 has been updated by iko.

SHA-1: ca782e1f37f7783d642d173c1202dec2c769409a


Detailed log of new commits:

Author: iko
Date: Tue Aug 20 11:19:04 2019 +0300

    # improve 'vbackground' help message
(0086359)
git (administrator)
2019-08-20 11:30

Branch CR30807_2 has been updated forcibly by iko.

SHA-1: 88b76fcc4ed653ce288e09f21b7162555c6668a6
(0086363)
git (administrator)
2019-08-20 12:55

Branch CR30807_3 has been created by iko.

SHA-1: 34cbb35345b19b1fb66f71d95ff7c9fd0b7ca1a9


Detailed log of new commits:

Author: iko
Date: Tue Jul 9 16:55:49 2019 +0300

    0030807: Visualization, TKOpenGl - supporting cubemaps
    
    A cubemap texture initialization has been implemented.
    Setting environment cubemap as interactive background is posssible now.
(0086364)
iko (developer)
2019-08-20 12:56

The last branch is just squashed version of previous one.
(0086365)
git (administrator)
2019-08-20 14:00

Branch CR30807_3 has been updated forcibly by iko.

SHA-1: d5cce74bdf1f755b57154f1346cb8d805543cac8
(0086366)
iko (developer)
2019-08-20 14:01
edited on: 2019-08-20 14:01

Just one forgotten 'TODO' in comments has been removed.

(0086378)
bugmaster (administrator)
2019-08-20 19:48

Combination -
OCCT branch : CR30807_2
master SHA - 88b76fcc4ed653ce288e09f21b7162555c6668a6
5f5b1aed1c6e139bbd34314eca77ae7abcd8895c
Products branch : master SHA - 32e882a7b3145a66baa739f965d275c822c0bd8a
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: 16083.710000000086 / 16105.290000000065 [-0.13%]
Products
Total CPU difference: 10492.42000000006 / 10484.700000000048 [+0.07%]
Windows-64-VC14:
OCCT
Total CPU difference: 18120.8125 / 18149.296875 [-0.16%]
Products
Total CPU difference: 12092.5625 / 12045.34375 [+0.39%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0086382)
git (administrator)
2019-08-21 12:14

Branch CR30807_3 has been updated forcibly by iko.

SHA-1: d924a3cdc8ddc0eb609c44e36e67d41c91a00330
(0086383)
iko (developer)
2019-08-21 12:18

Compilation errors are expected to disappear now.
(0086384)
git (administrator)
2019-08-21 14:58

Branch CR30807_3 has been updated forcibly by iko.

SHA-1: 623050e4a4300f78043304ebffaf10843eec4e4e
(0086385)
git (administrator)
2019-08-21 15:06

Branch CR30807_3 has been updated forcibly by iko.

SHA-1: 4533cf94286aeb4d23886e41aea428dafbbb556c
(0086401)
bugmaster (administrator)
2019-08-22 10:50

New warnings
http://jenkins-test-08.nnov.opencascade.com/view/management/job/warnings_compare/Compare_20Warnings_20Report/ [^]

Build:
http://jenkins-test-08.nnov.opencascade.com/view/WEEK-34_WEEK-34/view/OCCT%20compile/ [^]
(0086402)
git (administrator)
2019-08-22 11:11

Branch CR30807_3 has been updated forcibly by iko.

SHA-1: 4bb978cd66c6e6722ceb73b1e1070fa8c69acf9e
(0086403)
git (administrator)
2019-08-22 11:19

Branch CR30807_3 has been updated forcibly by iko.

SHA-1: ee9c0e1f26af0d038c31e413977a64f37c35442c
(0086404)
iko (developer)
2019-08-22 11:19
edited on: 2019-08-22 11:24

Warnings has been fixed.

(0086632)
git (administrator)
2019-09-02 18:00

Branch CR30807 has been deleted by apn.

SHA-1: f2d6e620be4db2954eb287a28963d25dc4c5de9c
(0086633)
git (administrator)
2019-09-02 18:00

Branch CR30807_1 has been deleted by apn.

SHA-1: b28fd3138cdf0965ac89f82d5d91a753dcee305e
(0086634)
git (administrator)
2019-09-02 18:00

Branch CR30807_2 has been deleted by apn.

SHA-1: 88b76fcc4ed653ce288e09f21b7162555c6668a6
(0086635)
git (administrator)
2019-09-02 18:00

Branch CR30807_3 has been deleted by apn.

SHA-1: ee9c0e1f26af0d038c31e413977a64f37c35442c
(0086662)
kgv (developer)
2019-09-02 18:14

It seems we have now dis-balance in hierarchies.

The expected base class for Graphic3d_CubeMap is either Graphic3d_TextureRoot or Graphic3d_TextureEnv, and not Graphic3d_TextureMap.

From another perspective, this typed hierarchy does not look very helpful, and there is no real feature for having Graphic3d_TextureEnv/Graphic3d_TextureRoot/Graphic3d_TextureMap...

- Related Changesets
occt: master 077a220c
Timestamp: 2019-07-09 13:55:49
Author: iko
Committer: apn
Details ] Diff ]
0030807: Visualization, TKOpenGl - supporting cubemaps

A cubemap texture initialization has been implemented.
Setting environment cubemap as interactive background is posssible now.
mod - src/Graphic3d/FILES Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMap.cxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMap.hxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMapOrder.cxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMapOrder.hxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMapPacked.cxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMapPacked.hxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMapSeparate.cxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMapSeparate.hxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CubeMapSide.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_CView.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_TextureUnit.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_TypeOfBackground.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_TypeOfTexture.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectsTextureSet.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_BackgroundArray.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_BackgroundArray.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Texture.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Texture.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff ] File ]
mod - src/V3d/V3d_View.cxx Diff ] File ]
mod - src/V3d/V3d_View.hxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff ] File ]
add - tests/v3d/glsl/cubemap Diff ] File ]

- Issue History
Date Modified Username Field Change
2019-06-25 12:38 iko New Issue
2019-06-25 12:38 iko Assigned To => iko
2019-06-25 14:08 kgv Relationship added related to 0030700
2019-07-03 14:43 kgv Relationship added related to 0029265
2019-07-09 17:11 iko Relationship added related to 0030833
2019-07-09 17:33 git Note Added: 0085525
2019-07-10 13:45 git Note Added: 0085556
2019-07-10 14:09 git Note Added: 0085557
2019-07-11 09:04 git Note Added: 0085580
2019-07-11 19:22 bugmaster Note Added: 0085606
2019-07-11 19:23 bugmaster Note Edited: 0085606 View Revisions
2019-07-11 19:29 bugmaster Note Edited: 0085606 View Revisions
2019-07-11 19:29 bugmaster Note Deleted: 0085606
2019-07-14 12:27 git Note Added: 0085625
2019-07-15 15:02 git Note Added: 0085634
2019-07-15 15:14 git Note Added: 0085635
2019-07-16 12:53 git Note Added: 0085665
2019-07-16 12:59 git Note Added: 0085666
2019-07-16 13:01 git Note Added: 0085667
2019-07-17 12:18 git Note Added: 0085701
2019-07-17 12:20 iko Assigned To iko =>
2019-07-17 12:20 iko Note Added: 0085702
2019-07-17 12:21 iko Assigned To => kgv
2019-07-19 13:33 kgv Note Added: 0085788
2019-07-19 13:33 kgv Assigned To kgv => iko
2019-07-19 13:33 kgv Status new => assigned
2019-07-23 17:14 git Note Added: 0085866
2019-07-23 17:15 iko Note Added: 0085867
2019-07-23 17:15 iko Note Deleted: 0085867
2019-07-23 17:16 iko Note Added: 0085868
2019-07-23 17:16 iko Assigned To iko => kgv
2019-07-23 17:16 iko Status assigned => resolved
2019-07-23 17:16 iko Steps to Reproduce Updated View Revisions
2019-07-25 19:46 kgv Note Added: 0085874
2019-07-26 11:55 git Note Added: 0085887
2019-07-26 11:56 iko Note Added: 0085888
2019-07-26 12:08 kgv Note Added: 0085889
2019-07-26 13:02 git Note Added: 0085891
2019-07-26 13:03 iko Note Added: 0085892
2019-08-08 21:32 kgv Note Added: 0086093
2019-08-08 21:32 kgv Assigned To kgv => iko
2019-08-08 21:32 kgv Status resolved => assigned
2019-08-08 21:32 kgv Note Edited: 0086093 View Revisions
2019-08-08 21:35 kgv Note Edited: 0086093 View Revisions
2019-08-08 21:55 kgv Note Added: 0086094
2019-08-16 13:29 git Note Added: 0086277
2019-08-16 14:06 git Note Added: 0086281
2019-08-16 14:51 git Note Added: 0086286
2019-08-19 09:00 iko Note Added: 0086324
2019-08-19 09:01 iko Assigned To iko => kgv
2019-08-19 09:01 iko Status assigned => resolved
2019-08-19 09:37 git Note Added: 0086326
2019-08-19 09:38 iko Note Added: 0086327
2019-08-19 14:32 kgv Note Added: 0086331
2019-08-19 14:57 git Note Added: 0086332
2019-08-19 14:58 iko Note Added: 0086333
2019-08-19 15:20 git Note Added: 0086334
2019-08-19 15:26 git Note Added: 0086335
2019-08-19 15:30 git Note Added: 0086336
2019-08-19 15:50 kgv Note Added: 0086337
2019-08-19 15:51 kgv Note Added: 0086338
2019-08-19 17:43 git Note Added: 0086342
2019-08-19 20:14 tizmaylo Note Added: 0086343
2019-08-20 09:13 git Note Added: 0086347
2019-08-20 09:15 git Note Added: 0086348
2019-08-20 09:18 iko Note Added: 0086349
2019-08-20 10:37 tizmaylo Note Added: 0086354
2019-08-20 11:07 iko Note Added: 0086356
2019-08-20 11:22 git Note Added: 0086357
2019-08-20 11:30 git Note Added: 0086359
2019-08-20 12:42 kgv Assigned To kgv => bugmaster
2019-08-20 12:42 kgv Status resolved => reviewed
2019-08-20 12:55 git Note Added: 0086363
2019-08-20 12:56 iko Note Added: 0086364
2019-08-20 14:00 git Note Added: 0086365
2019-08-20 14:01 iko Note Added: 0086366
2019-08-20 14:01 iko Note Edited: 0086366 View Revisions
2019-08-20 19:46 bugmaster Test case number => v3d/glsl/cubemap
2019-08-20 19:48 bugmaster Note Added: 0086378
2019-08-20 19:48 bugmaster Status reviewed => tested
2019-08-21 12:14 git Note Added: 0086382
2019-08-21 12:18 iko Note Added: 0086383
2019-08-21 14:58 git Note Added: 0086384
2019-08-21 15:06 git Note Added: 0086385
2019-08-22 10:50 bugmaster Note Added: 0086401
2019-08-22 10:50 bugmaster Assigned To bugmaster => iko
2019-08-22 10:50 bugmaster Status tested => assigned
2019-08-22 11:11 git Note Added: 0086402
2019-08-22 11:19 git Note Added: 0086403
2019-08-22 11:19 iko Note Added: 0086404
2019-08-22 11:24 iko Note Edited: 0086404 View Revisions
2019-08-22 11:28 iko Assigned To iko => bugmaster
2019-08-22 11:28 iko Status assigned => resolved
2019-08-22 11:28 iko Steps to Reproduce Updated View Revisions
2019-08-22 11:29 iko Status resolved => reviewed
2019-08-23 14:17 apn Status reviewed => tested
2019-08-24 16:56 apn Changeset attached => occt master 077a220c
2019-08-24 16:56 apn Assigned To bugmaster => apn
2019-08-24 16:56 apn Status tested => verified
2019-08-24 16:56 apn Resolution open => fixed
2019-09-02 18:00 git Note Added: 0086632
2019-09-02 18:00 git Note Added: 0086633
2019-09-02 18:00 git Note Added: 0086634
2019-09-02 18:00 git Note Added: 0086635
2019-09-02 18:14 kgv Note Added: 0086662


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker