View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030807 | Open CASCADE | OCCT:Visualization | public | 2019-06-25 12:38 | 2020-05-27 23:25 |
Reporter | iko | Assigned To | apn | ||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0030807: Visualization, TKOpenGl - supporting cubemaps | ||||
Description | It is desired to support cubemaps on OCCT textures system and to use it as background for viewers. | ||||
Steps To Reproduce | v3d/glsl/cubemap | ||||
Tags | No tags attached. | ||||
Test case number | v3d/glsl/cubemap | ||||
related to | 0030700 | closed | apn | Open CASCADE | Visualization, TKOpenGl - support PBR Metallic-Roughness shading model |
parent of | 0031129 | new | Open CASCADE | Visualization - revise background / environment API | |
parent of | 0031478 | closed | bugmaster | Open CASCADE | Visualization, TKOpenGl - allow uploading Cubemap in compressed DDS format when supported by GPU |
parent of | 0031580 | closed | bugmaster | Open CASCADE | Visualization, TKOpenGl - cubemap initialization error on OpenGL ES 2.0 |
parent of | 0031584 | new | Open CASCADE | Visualization, TKOpenGl - support cubemap Ambient lighting within Graphic3d_TOSM_FRAGMENT shading | |
related to | 0030833 | closed | bugmaster | Open CASCADE | Visualization - Graphic3d_Camera constructor's exceptions |
Not all the children of this issue are yet resolved or closed. |
|
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. |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: c8354a76125ba3ee8a8d634a0ecaa76ffdb7d696 |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: 4ea89cc2535eed974236d91d2b3a2db9f5ce1613 |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: e3425db7c7f7407c4831e34c1872f7e2a062e4e1 |
|
Branch CR30807 has been updated forcibly by apn. SHA-1: 359de1d42d9c6b42aace1394fc13b04168ca6386 |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: 1913a0d7216582f468eb56c8b2c87f14dc6eb3bf |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: ea33f4ba281c79f9b078602e6588b61c04ac6fe1 |
|
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. |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: e5e8bc1f4144b433ab38f371ae17f336626bfe1d |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: df37f6c867ac20a49ae71144fcc87cd7bad15e2e |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: 9b50e14162d3fb7c6d6789a29710911b0638d71a |
|
Please review the implementation in last branch update. |
|
--- /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. |
|
Branch CR30807 has been updated forcibly by iko. SHA-1: 47793c5a4344b963628d3e77b266eb23e43bdd7e |
|
Please review the changes. |
|
+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. |
|
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 |
|
Please review changes. |
|
Please prepare a new branch CR30807_1 with squashed commits. |
|
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. |
|
The new branch with squashed commits has been added. |
|
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; } } |
|
Please also replace images in database to downscaled ones - it is not important for test to load high-resolution image. |
|
Branch CR30807_1 has been updated forcibly by iko. SHA-1: 6b28e9e78cb97e59edb6537f4b2aef25bea98018 |
|
Branch CR30807_1 has been updated forcibly by iko. SHA-1: 7e399604a0ce1500c07770bccb3a0997d1ff7ead |
|
Branch CR30807_1 has been updated forcibly by iko. SHA-1: 7e448de4fea8727950f9d58b007c9f40041e6d6b |
|
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/ |
|
Branch CR30807_1 has been updated forcibly by iko. SHA-1: 1bc8b63be28b2028ec9a69f68a8923b044132bb1 |
|
Just updated brunch to the new master. |
|
+ static_cast<unsigned char> (std::stoi(anOrderItem))); I expect std::stoi() will cause compilation errors on old compilers (weekly Jenkins). |
|
Branch CR30807_1 has been updated forcibly by iko. SHA-1: b28fd3138cdf0965ac89f82d5d91a753dcee305e |
|
String to numbers translation has been fixed. |
|
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. |
|
Branch CR30807_2 has been updated forcibly by iko. SHA-1: 3586c536381a95480e44713fc5c47a240028c17d |
|
Branch CR30807_2 has been updated forcibly by iko. SHA-1: 27a856c60f2b5ad1466dc2c60d24a267d673870f |
|
+// 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 |
|
- aResource->SetRevision (aTexture->Revision()); + aResource->SetRevision(aTexture->Revision()); unrelated. |
|
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 |
|
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; } |
|
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 |
|
Branch CR30807_2 has been updated forcibly by iko. SHA-1: bb9757dc63584fc154e584655ccf1ad2f745f89a |
|
It is simpler of course. So repetition's detection algorithm has been changed. |
|
typename keyword is redundant outside of templates in this context. |
|
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/ |
|
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 |
|
Branch CR30807_2 has been updated forcibly by iko. SHA-1: 88b76fcc4ed653ce288e09f21b7162555c6668a6 |
|
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. |
|
The last branch is just squashed version of previous one. |
|
Branch CR30807_3 has been updated forcibly by iko. SHA-1: d5cce74bdf1f755b57154f1346cb8d805543cac8 |
|
Just one forgotten 'TODO' in comments has been removed. |
|
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 |
|
Branch CR30807_3 has been updated forcibly by iko. SHA-1: d924a3cdc8ddc0eb609c44e36e67d41c91a00330 |
|
Compilation errors are expected to disappear now. |
|
Branch CR30807_3 has been updated forcibly by iko. SHA-1: 623050e4a4300f78043304ebffaf10843eec4e4e |
|
Branch CR30807_3 has been updated forcibly by iko. SHA-1: 4533cf94286aeb4d23886e41aea428dafbbb556c |
|
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/ |
|
Branch CR30807_3 has been updated forcibly by iko. SHA-1: 4bb978cd66c6e6722ceb73b1e1070fa8c69acf9e |
|
Branch CR30807_3 has been updated forcibly by iko. SHA-1: ee9c0e1f26af0d038c31e413977a64f37c35442c |
|
Warnings has been fixed. |
|
Branch CR30807 has been deleted by apn. SHA-1: f2d6e620be4db2954eb287a28963d25dc4c5de9c |
|
Branch CR30807_1 has been deleted by apn. SHA-1: b28fd3138cdf0965ac89f82d5d91a753dcee305e |
|
Branch CR30807_2 has been deleted by apn. SHA-1: 88b76fcc4ed653ce288e09f21b7162555c6668a6 |
|
Branch CR30807_3 has been deleted by apn. SHA-1: ee9c0e1f26af0d038c31e413977a64f37c35442c |
|
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... |
occt: master 077a220c 2019-07-09 13:55:49 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. |
Affected Issues 0030807 |
|
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 |
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-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-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: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 | |
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 | |
2019-08-08 21:35 | kgv | Note Edited: 0086093 | |
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 |
|
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 |
|
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 | |
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 | |
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 | |
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 | |
2019-11-05 10:49 | kgv | Relationship added | parent of 0031129 |
2020-04-01 11:08 | kgv | Relationship added | parent of 0031478 |
2020-05-27 13:36 | kgv | Relationship added | parent of 0031580 |
2020-05-27 23:25 | kgv | Relationship added | parent of 0031584 |