]> OCCT Git - occt-copy.git/log
occt-copy.git
7 years agoBnd_Range - add missing method GetBounds() CR0-ipdm-OIT
kgv [Sat, 17 Mar 2018 12:49:10 +0000 (15:49 +0300)]
Bnd_Range - add missing method GetBounds()

7 years ago0028876: Tests, Image_Diff - the image difference is unavailable for test case bugs...
kgv [Sat, 17 Mar 2018 12:48:53 +0000 (15:48 +0300)]
0028876: Tests, Image_Diff - the image difference is unavailable for test case bugs vis bug28205_1

Quantity_ColorRGBA - added method SetValues().
Image_PixMap::PixelColor() now returns Quantity_ColorRGBA instead of Quantity_Color.
Image_PixMap::SetPixelColor() now takes Quantity_ColorRGBA instead of NCollection_Vec4<float>.

Image_Diff has been improved to support Image_Format_Gray.
Image_Diff::SaveDiffImage() now saves image difference
in Image_Format_Gray format to reduce size of image file.

Image_Diff now uses TColStd_HPackedMapOfInteger instead of
TColStd_MapOfInteger with manual memory allocation.

# Conflicts:
# dox/dev_guides/upgrade/upgrade.md
# src/Graphic3d/Graphic3d_MarkerImage.cxx
# src/Image/Image_AlienPixMap.cxx
# src/Image/Image_PixMap.cxx
# src/Image/Image_PixMap.hxx
# src/ViewerTest/ViewerTest_ViewerCommands.cxx

7 years ago0028796: Coding Rules - fix declaration of Move constructor in NCollection_Array1
kgv [Mon, 29 May 2017 09:46:59 +0000 (12:46 +0300)]
0028796: Coding Rules - fix declaration of Move constructor in NCollection_Array1

7 years ago0028470: Foundation Classes, NCollection_Array1 - add Resize() method for re-allocati...
kgv [Sat, 17 Mar 2018 11:49:58 +0000 (14:49 +0300)]
0028470: Foundation Classes, NCollection_Array1 - add Resize() method for re-allocating array with new limits

NCollection_Array1 now provides method Resize() for re-allocating array to new bounds.
Added Move Constructor and Move Assignment operator.
Added empty constructor defining array of zero size.

#Poly_Triangulation, dropped duplicating fields myNbNodes and myNbTriangles.
#Removed unused file Poly_Triangulation.lxx.

Use std::move within NCollection_Array1::operator=() [fix for 0028470]

# Conflicts:
# src/Poly/Poly_Triangulation.cxx
# src/Poly/Poly_Triangulation.hxx

7 years ago# regenerate GLSL programs
kgv [Sat, 17 Mar 2018 11:28:58 +0000 (14:28 +0300)]
# regenerate GLSL programs

7 years ago0029529: Volume Rendering - crash on re-displaying the object
kgv [Thu, 1 Mar 2018 17:10:46 +0000 (20:10 +0300)]
0029529: Volume Rendering - crash on re-displaying the object

Added missing getters: OpenGl_TextureBufferArb::TextureFormat() and OpenGl_ShaderManager::OitState().

7 years ago0029509: Visualization, TKOpenGl - Weighted OIT + MSAA shader compilation errors
kgv [Wed, 14 Feb 2018 19:58:34 +0000 (22:58 +0300)]
0029509: Visualization, TKOpenGl - Weighted OIT + MSAA shader compilation errors

Fix implicit cast ivec2->vec2 and specify GLSL version to "320 es" on appropriate devices.

7 years ago0029508: Visualization, TKOpenGl - visual artifacts on Adreno 305/308
kgv [Wed, 14 Feb 2018 17:18:39 +0000 (20:18 +0300)]
0029508: Visualization, TKOpenGl - visual artifacts on Adreno 305/308

OpenGl_ShaderManager now:
- prefers GLSL ES 100 over GLSL ES 300 on devices reporting OpenGL ES 3.0;
- prefers GLSL ES 300 on devices reporting OpenGL ES 3.1+.
to workaround known buggy implementations of OpenGL ES 3.0 drivers.

7 years ago0029507: Visualization, TKOpenGl - uninitialized class field OpenGl_FrameBuffer:...
kgv [Wed, 14 Feb 2018 13:10:48 +0000 (16:10 +0300)]
0029507: Visualization, TKOpenGl - uninitialized class field OpenGl_FrameBuffer::myIsOwnDepth

7 years ago0029503: Visualization, TKOpenGl - fix access violation due to misprint in OpenGl_Asp...
kgv [Tue, 13 Feb 2018 21:07:48 +0000 (00:07 +0300)]
0029503: Visualization, TKOpenGl - fix access violation due to misprint in OpenGl_AspectMarker

Misprint mySprite->mySpriteA has been corrected.

7 years ago0029337: Visualization, TKOpenGl - visual artifacts on Intel Broadwell GPU
apl [Mon, 27 Nov 2017 12:16:21 +0000 (15:16 +0300)]
0029337: Visualization, TKOpenGl - visual artifacts on Intel Broadwell GPU

Enable multiple draw buffers in shader program only if its required by specific application.

occSetFragColor() - a new GLSL function has been introduced
as an alternative to setting occFragColor/occFragCoverage variables.

7 years ago0029474: Visualization, TKOpenGl - GLSL compilation errors on buggy OpenGL ES driver...
kgv [Fri, 2 Feb 2018 13:21:47 +0000 (16:21 +0300)]
0029474: Visualization, TKOpenGl - GLSL compilation errors on buggy OpenGL ES driver for PowerVR SGX 544MP

OpenGl_ShaderProgram::Initialize() now defines THE_MAX_LIGHTS/THE_MAX_CLIP_PLANES
to zeros to workaround issues with some buggy OpenGL drivers.

7 years ago0029331: Visualization, TKOpenGl - make OpenGl_PrimitiveArray::IsFillDrawMode() as...
kgv [Thu, 16 Nov 2017 19:57:48 +0000 (22:57 +0300)]
0029331: Visualization, TKOpenGl - make OpenGl_PrimitiveArray::IsFillDrawMode() as virtual method of OpenGl_Element

7 years ago0029283: Visualization - allow defining more than 8 light sources
kgv [Sat, 17 Mar 2018 11:21:22 +0000 (14:21 +0300)]
0029283: Visualization - allow defining more than 8 light sources

OpenGl_ShaderManager now overrides THE_MAX_LIGHTS within built-in shading programs
so that maximum number of lights is now limited only by OpenGL hardware
(e.g. length of GLSL program, number of defined uniforms, result performance, etc.).
THE_MAX_CLIP_PLANES is now also defined by OpenGl_ShaderManager,
so that unused lights and clipping planes do not reserve extra uniforms in GLSL programs.

V3d_View::SetLightOn() does not throw exception anymore, when the number of lights exceeds 8.
Instead, OpenGl_ShaderManager::PushLightSourceState() emits warning
in case of usage of FFP providing consistent behavior with Clipping Planes number limit.

# Conflicts:
# src/V3d/V3d_View_2.cxx

7 years ago0028069: Visualization, TKOpenGl - handle flat shading model within GLSL programs
kgv [Sun, 10 Sep 2017 14:06:19 +0000 (17:06 +0300)]
0028069: Visualization, TKOpenGl - handle flat shading model within GLSL programs

7 years ago0029074: Visualization, TKOpenGl - support Geometry Shader definition
kgv [Sat, 17 Mar 2018 11:19:07 +0000 (14:19 +0300)]
0029074: Visualization, TKOpenGl - support Geometry Shader definition

Graphic3d_TypeOfShaderObject enumeration has been extended by Geometry shader object type.
OpenGl_ShaderProgram::Initialize() processes new shader object types when supported by OpenGL version.
Declarations.glsl has been fixed so that occFragColor is defined only for
Fragment Shader object only (by handling new FRAGMENT_SHADER macros).

Improved documentation of Graphic3d_ArrayOfPrimitives class.

vshader Draw Harness command has been extended to support definition
of Shader Object types other than Vertex and Fragment shader.

# Conflicts:
# src/Graphic3d/Graphic3d_ArrayOfPrimitives.hxx

7 years ago0029031: Visualization - Prs3d_Drawer::SetShaderProgram() has no effect
kgv [Sat, 17 Mar 2018 11:18:28 +0000 (14:18 +0300)]
0029031: Visualization - Prs3d_Drawer::SetShaderProgram() has no effect

Prs3d_Drawer::SetShaderProgram() now takes into account HasOwn*** flags.

# Conflicts:
# src/Prs3d/Prs3d_Drawer.cxx

7 years ago0028912: Visualization, TKOpenGl - multi-texture support
kgv [Mon, 10 Jul 2017 12:43:25 +0000 (15:43 +0300)]
0028912: Visualization, TKOpenGl - multi-texture support

Graphic3d_AspectFillArea3d now stores array of textures.
Graphic3d_TextureParams stores texture unit for mapping texture.

OpenGl_Context::BindTextures() - context now manages the set of active textures.
Related code has been removed from OpenGl_Workspace.

OpenGl_Sampler has been extended to hold texture parameters structure.
OpenGl_Texture now holds OpenGl_Sampler instance as class field.
OpenGl_Texture inherits new class OpenGl_NamedResource and holds
texture identifier used for sharing resource in OpenGl_Context.

OpenGl_RaytraceGeometry now creates bindless textures taking
Sampler object directly from OpenGl_Texture.
OpenGl_Context::BindTextures() automatically recreates immutable
Sampler Object on texture parameters change.

Declared new structure OpenGl_ArbSamplerObject for platform-neutral
usage of related functionality.
Related functions are now loaded within OpenGL ES 3.0+.

Declarations.glsl - occActiveSampler has been renamed to occSampler0
with aliases occSamplerBaseColor (main) and occActiveSampler (for compatibility).
Additional texture samplers should be declared explicitly
within specific GLSL program as occSampler1, occSampler2, etc.

AIS_Shape and AIS_ColoredShape now computes Shaded presentation
with UV coordinates if texture mapping is enabled in Drawer.

vshaderprog now accepts Shader source code as parameter.

7 years ago0028621: Visualization - AIS_ColoredShape::UnsetTransparency() is not implemented
kgv [Sat, 17 Mar 2018 11:13:59 +0000 (14:13 +0300)]
0028621: Visualization - AIS_ColoredShape::UnsetTransparency() is not implemented

# Conflicts:
# src/AIS/AIS_ColoredShape.cxx

7 years ago0028811: Visualization - merge texturing support into AIS_Shape class and get rid...
kgv [Sat, 17 Mar 2018 11:12:54 +0000 (14:12 +0300)]
0028811: Visualization - merge texturing support into AIS_Shape class and get rid of AIS_TexturedShape

AIS_Shape and AIS_ColoredShape now computes Shaded presentation
with UV coordinates if texture mapping is enabled in Drawer.

OpenGl_Context::SetTextureMatrix() - fixed inconsistent handling
of texture cooridnates translation vector.

vtexture command has been extended to handle new arguments:
* -trsfTrans, -trsfScale, -trsfAngle defining transformation matrix
* -setFilter, -setAnisoFilter to setup texture filtering

7 years ago0028979: Coding rules - eliminate GCC compiler warnings -Wstrict-aliasing within...
kgv [Sat, 17 Mar 2018 10:55:19 +0000 (13:55 +0300)]
0028979: Coding rules - eliminate GCC compiler warnings -Wstrict-aliasing within Graphic3d_ArrayOfPrimitives.lxx

# Conflicts:
# src/Graphic3d/Graphic3d_ArrayOfPrimitives.cxx
# src/Graphic3d/Graphic3d_ArrayOfPrimitives.hxx
# src/Graphic3d/Graphic3d_ArrayOfPrimitives.lxx

7 years ago0029477: Visualization, TKOpenGl - MSAA FBO initialization failure on OpenGL ES 3...
kgv [Fri, 2 Feb 2018 17:14:49 +0000 (20:14 +0300)]
0029477: Visualization, TKOpenGl - MSAA FBO initialization failure on OpenGL ES 3.2 device

OpenGl_View::myFboColorFormat now initialized using sized texture format GL_RGBA8
on mobile platforms (as in case of desktop platform).

7 years ago0029300: Visualization, TKOpenGl - provide depth pre-pass option
kgv [Tue, 7 Nov 2017 21:11:57 +0000 (00:11 +0300)]
0029300: Visualization, TKOpenGl - provide depth pre-pass option

OpenGl_LayerList::Render() now handles new option Graphic3d_RenderingParams::ToEnableDepthPrepass
which prepends additional pass to rendering pipeline filling Depth Buffer in advance.

7 years ago0028789: Visualization, TKV3d - extend API for accessing and assigning BVH builders
kgv [Sat, 17 Mar 2018 10:33:53 +0000 (13:33 +0300)]
0028789: Visualization, TKV3d - extend API for accessing and assigning BVH builders

Several methods in Selection classes have been moved to header files for better inlining.

BVH_Constants - added new enumeration defining common constant values used with BVH trees.
BVH - replaced NCollection_Handle with Standard_Transient handle
in classes BVH_Properties, BVH_Builder, BVH_Tree, BVH_Object.

Defined global BVH-builders instead of allocating a new one for each object set.
SelectMgr_ViewerSelector - added new method ::SetEntitySetBuilder() defining
default BVH Tree builder for SelectMgr_SensitiveEntitySet.

Added new method SelectMgr_SensitiveEntitySet::SetBuilder()
for overriding default BVH tree builder.

# Conflicts:
# dox/dev_guides/upgrade/upgrade.md
# src/Select3D/Select3D_SensitiveSet.hxx
# src/SelectBasics/SelectBasics_SensitiveEntity.cxx
# src/SelectBasics/SelectBasics_SensitiveEntity.hxx

7 years ago0028793: Visualization, TKV3d - make BVH_Builder::Build() const for propagating build...
kgv [Fri, 26 May 2017 16:03:03 +0000 (19:03 +0300)]
0028793: Visualization, TKV3d - make BVH_Builder::Build() const for propagating builder by value

Added const for method BVH_Builder::Build().
Added missing Standard_OVERRIDE to overridden methods.
Merged code from .lxx in BVH package directly into .hxx headers.

7 years ago0028495: The maximal depth of the tree is used implicitly in type 'BVH_PrimitiveSet'
abk [Wed, 1 Mar 2017 11:22:51 +0000 (14:22 +0300)]
0028495: The maximal depth of the tree is used implicitly in type 'BVH_PrimitiveSet'

Type 'BVH_PrimitiveSet' was extended by a static constant to access the maximal depth of the tree.

7 years ago0028368: TKMath, BVH -- Fix invalid tree height in QBVH
dbp [Wed, 18 Jan 2017 08:30:08 +0000 (11:30 +0300)]
0028368: TKMath, BVH -- Fix invalid tree height in QBVH

7 years ago0029125: Visualization, OpenGl_Text - fix access violation within OpenGL1.1 context
kgv [Tue, 19 Sep 2017 09:53:15 +0000 (12:53 +0300)]
0029125: Visualization, OpenGl_Text - fix access violation within OpenGL1.1 context

OpenGl_Context::DiagnosticInformation() - added OpenGL version check before retrieving GL_SHADING_LANGUAGE_VERSION string.

7 years ago0025464: Visualization - provide package for Volume Rendering
vsv [Mon, 26 Jun 2017 13:40:15 +0000 (16:40 +0300)]
0025464: Visualization - provide package for Volume Rendering

7 years ago0029051: Visualization, TKOpenGl - wrong color of transparent dynamic highlight with...
kgv [Fri, 25 Aug 2017 12:49:40 +0000 (15:49 +0300)]
0029051: Visualization, TKOpenGl - wrong color of transparent dynamic highlight with OIT tuned ON

OpenGl_PrimitiveArray::Render() - removed obsolete code, which become redundant (and broken)
after moving rendering of transparent objects into OpenGl_LayerList::renderTransparent().

7 years ago0028907: Coding Rules, OpenGl_GraphicDriver - fix class fields accidentally marked...
kgv [Mon, 10 Jul 2017 08:24:29 +0000 (11:24 +0300)]
0028907: Coding Rules, OpenGl_GraphicDriver - fix class fields accidentally marked public

7 years ago0028762: Visualization, Ray tracing - Implement depth-of-field effect
duv [Tue, 27 Jun 2017 08:22:31 +0000 (11:22 +0300)]
0028762: Visualization, Ray tracing - Implement depth-of-field effect

Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
TKOpenGl - added new ray generation logic to RaytraceBase.fs.
vrenderparams command - added -focal and -aperture parameters.
OpenGl_View.hxx - function for ray generating was split into two functions (ray tracing and path tracing).
OpenGl_View_Raytrace.cxx - fixed interaction between adaptive sampling and stereo camera

7 years ago0028826: Visualization, TKOpenGl - fix compatibility with strict OpenGL ES drivers
kgv [Thu, 8 Jun 2017 07:44:17 +0000 (10:44 +0300)]
0028826: Visualization, TKOpenGl - fix compatibility with strict OpenGL ES drivers

OpenGl_ShaderProgram::Initialize() - precision declarations have been moved
after the list of enabled extensions.

Declarations.glsl - the fragment shader outputs have been re-declared as array
for proper assignment of default locations (draw buffers).

OpenGl_FrameBuffer - GL_HALF_FLOAT is now used instead of GL_HALF_FLOAT_OES on OpenGL ES 3.2+.
OpenGl_Texture - fixed initialization of Image_Format_RGB32 image format on OpenGL ES 3.0+.

7 years ago0028794: Visualization, Ray tracing - Implement tone mapping
age [Thu, 25 May 2017 11:34:34 +0000 (14:34 +0300)]
0028794: Visualization, Ray tracing - Implement tone mapping

Added enum Graphic3d_ToneMappingMethod for choosing tone mapping mode.
Added new rendering parameters.
Added tone mapping to Display.fs shader.

7 years ago0028806: Coding Rules - remove not implemented method OpenGl_ShaderObject::Initialize()
kgv [Fri, 2 Jun 2017 12:44:28 +0000 (15:44 +0300)]
0028806: Coding Rules - remove not implemented method OpenGl_ShaderObject::Initialize()

7 years ago0028758: Visualization - Implement exporting generated image to HRD/EXR images
age [Tue, 16 May 2017 10:37:50 +0000 (13:37 +0300)]
0028758: Visualization - Implement exporting generated image to HRD/EXR images

OpenGl_View::BufferDump() - added support for dumping RayTracing HDR buffers.
Added new buffer type Graphic3d_BT_RGB_RayTraceHdrLeft.

7 years ago0028744: Visualization, OpenGl_FrameBuffer missing GL_RGB8 format
age [Tue, 16 May 2017 10:12:50 +0000 (13:12 +0300)]
0028744: Visualization, OpenGl_FrameBuffer missing GL_RGB8 format

Missing GL_RGB8 and GL_RGB formats added to getColorDataFormat function.

7 years ago0028738: Data Exchange, XCAFPrs_Style - add transparency property
akz [Thu, 11 May 2017 10:52:18 +0000 (13:52 +0300)]
0028738: Data Exchange, XCAFPrs_Style - add transparency property

Use Quantity_ColorRGBA as surface color to store a transparency in XCAFPrs_Style.

# Conflicts:
# tests/bugs/xde/bug28641

7 years ago0028641: Data Exchange - Support alpha-channel of color
ika [Mon, 27 Mar 2017 07:18:05 +0000 (10:18 +0300)]
0028641: Data Exchange - Support alpha-channel of color

Use Quantity_ColorRGBA instead Quantity_Color in XCAFDoc_Color attribute
Add methods to color tool for processing RGBA
Update Color driver
Update Draw commands

7 years ago0028257: XCAFPrs_Style - uninitialized memory usage within ::HashCode()
kgv [Wed, 25 Jan 2017 17:26:27 +0000 (20:26 +0300)]
0028257: XCAFPrs_Style - uninitialized memory usage within ::HashCode()

XCAFPrs_Style::HashCode() function has been corrected.
XCAFPrs_Style::SetVisibility() does not reset assigned colors anymore.

7 years ago0028741: Visualization, TKOpenGl - eliminate GL errors within Core Profile in OpenGl_...
akz [Thu, 11 May 2017 10:52:18 +0000 (13:52 +0300)]
0028741: Visualization, TKOpenGl - eliminate GL errors within Core Profile in OpenGl_View::copyBackToFront()

7 years ago0028734: Visualization, OpenGl_Texture - fix initialization of 1D texture
isk [Thu, 14 Apr 2016 09:04:54 +0000 (12:04 +0300)]
0028734: Visualization, OpenGl_Texture - fix initialization of 1D texture

OpenGl_Texture::Init() - fixed proxy check for 1D textures.
Declarations.glsl - defined occTexture1D/3D aliases similar to occTexture2D.

7 years ago0027925: Visualization - implement order-independent transparency algorithm within...
apl [Tue, 25 Apr 2017 12:10:15 +0000 (15:10 +0300)]
0027925: Visualization - implement order-independent transparency algorithm within rasterization rendering

Weighted, Blended Order-Independent Transparency algorithm has been added rasterization pipeline.
In contrast to classical blending transparency it makes transparent objects look independent
from point of view. It also gives better depth occlusion when being used together with a weight factor
based on value of a GL depth buffer. The feature supports desktop OpenGL, OpenGL ES 3.0, ANGLE
and can be used together with MSAA on desktop GL.

To be used it require availability of:
1) Shaders pipeline.
2) Floating point color format for framebuffer (GL_ARB_color_buffer_float).
3) Multiple render targets (GL_ARB_draw_buffers).

Patch does not modify API and does not require application porting.
It adds new rendering options to Graphic3d_RenderingParams structure:
a) Transparency method from enumeration.
b) Scalar factor [0-1] controlling influence of a fragment's depth to its visibility.

Patch also simplifies processing of transparent objects for standard method:
rendering priority of transparent graphical structures is managed automatically,
therefore there is no need to care about it at application's side.

7 years ago0028647: Visualization, OpenGl_AspectMarker - invalid marker size on re-setting aspec...
kgv [Tue, 11 Apr 2017 14:54:10 +0000 (17:54 +0300)]
0028647: Visualization, OpenGl_AspectMarker - invalid marker size on re-setting aspect without redraw

OpenGl_AspectMarker::Resources::BuildSprites(), fixed uninitialized theMarkerSize
in case if aspect has been already initialized for specified marker type.

Draw Harness command vaspects has been extended with new options -setMarkerType and -setMarkerSize.

7 years ago0028625: Visualization, OpenGl_FrameBuffer - initialize Render Buffer with stencil
kgv [Mon, 3 Apr 2017 19:53:17 +0000 (22:53 +0300)]
0028625: Visualization, OpenGl_FrameBuffer - initialize Render Buffer with stencil

7 years ago0028615: Visualization, TKOpenGl - enabling MSAA leads to black screen on OpenGL ES
kgv [Sun, 2 Apr 2017 13:48:26 +0000 (16:48 +0300)]
0028615: Visualization, TKOpenGl - enabling MSAA leads to black screen on OpenGL ES

Removed redundant macros check.

7 years ago0028487: Visualization, TKOpenGl - add option for rendering with lower resolution
kgv [Thu, 23 Feb 2017 17:50:42 +0000 (20:50 +0300)]
0028487: Visualization, TKOpenGl - add option for rendering with lower resolution

Graphic3d_RenderingParams::RenderResolutionScale - added new option
defining scale factor for allocating off-screen rendering buffers
relative to native resolution of window buffer.

Scale factor can be below 1.0 (lower resolution) or higher (as analog of super sampling),
but can not be combined with MSAA settings.

Draw Harness command vrenderparams has been extended with option -rendScale
managing introduced option Graphic3d_RenderingParams::RenderResolutionScale.

vcaps has been extended with option -useWindowBuffer for managing
OpenGl_Caps::useSystemBuffer option.

vrepaint has been extended with option -immediate
for testing immediate layer redraw

OpenGl_View::blitBuffers() - eliminate compiler warning on Android

7 years ago0028218: Visualization, Path Tracing - Redesign path tracing materials to support...
dbp [Fri, 18 Nov 2016 14:53:10 +0000 (17:53 +0300)]
0028218: Visualization, Path Tracing - Redesign path tracing materials to support two-layered model

Existing OCCT path tracing engine used very simple additive material (BSDF) model, so it was possible to reproduce
behavior only of very basic materials such as metal, glass, or plastic. However, some important in CAD industry
materials like car paint or ceramic could not be modeled well. In this patch, OCCT BSDF was significantly improved
by replacing additive model with two-layered scattering model. Therefore, we have base diffuse, glossy, or transmissive
layer, covered by one glossy/specular coat. The layers themselves have no thickness; they can simply reflect light or
transmits it to the layer under it. Balancing different combinations of layer properties can produce a wide range of
different effects. At the same time, disabling the first (coat) layer allows to keep full compatibility with previously
supported scattering model. All new parameters are available via 'vbsdf' command.

Location of new sample for few material examples:
samples\tcl\pathtrace_materials.tcl

Fix shader compilation issue.

Fix test case sample_ball_alpha.

Shaders_PathtraceBase_fs.pxx - regenerate resource from origin

7 years ago0028441: Coding Rules - move out nested Image_PixMap::ImgFormat enumeration to dedica...
kgv [Sun, 5 Feb 2017 10:47:27 +0000 (13:47 +0300)]
0028441: Coding Rules - move out nested Image_PixMap::ImgFormat enumeration to dedicated enum Image_Format

Enumeration Image_PixMap::ImgFormat, previously declared as nested
enumeration within class *Image_PixMap*,
has been moved to global namespace as Image_Format following OCCT coding rules.

The enumeration values have suffix Image_Format_ and preserve
previous name scheme for easy renaming of old values.
E.g. Image_PixMap::ImgGray become Image_Format_Gray.
Old definitions are preserved as depreacated aliases to the new ones.

# Conflicts:
# dox/dev_guides/upgrade/upgrade.md

7 years ago0028466: Visualization, OpenGl_Context - read GPU memory using WGL_AMD_gpu_associatio...
kgv [Thu, 16 Feb 2017 21:24:17 +0000 (00:24 +0300)]
0028466: Visualization, OpenGl_Context - read GPU memory using WGL_AMD_gpu_association extension

7 years ago0028400: Visualization, Graphic3d_MaterialAspect - remove undocumented and unsupporte...
kgv [Fri, 27 Jan 2017 15:16:50 +0000 (18:16 +0300)]
0028400: Visualization, Graphic3d_MaterialAspect - remove undocumented and unsupported flag EnvReflexion()

7 years ago0028401: Configuration - unresolved symbol OpenGl_VertexBuffer::unbindFixedColor()
vsv [Mon, 30 Jan 2017 13:05:19 +0000 (16:05 +0300)]
0028401: Configuration - unresolved symbol OpenGl_VertexBuffer::unbindFixedColor()

7 years ago0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering...
dbp [Thu, 26 Jan 2017 09:56:13 +0000 (12:56 +0300)]
0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode

Re-basing the patch on current master.

7 years ago0028263: Coding Rules - clean up definition of the class Graphic3d_MaterialAspect
kgv [Thu, 29 Dec 2016 17:39:28 +0000 (20:39 +0300)]
0028263: Coding Rules - clean up definition of the class Graphic3d_MaterialAspect

Fixed uninitialized fields in several classes.
Body of trivial methods have been moved to class definition (header file).
Ensure that non-primitive types are returned by reference, when possible.
Removed unused class Prs3d_PlaneSet.

7 years ago0028369: Visualization, Path Tracing - Expose radiance clamping setting in path traci...
dbp [Wed, 18 Jan 2017 11:24:13 +0000 (14:24 +0300)]
0028369: Visualization, Path Tracing - Expose radiance clamping setting in path tracing mode

New parameter was added in the vrenderparams command:
vrenderparams -maxrad <value>

7 years ago0028306: Visualization - viewer crashes if style for shaded display is set to HATCH
kgv [Tue, 3 Jan 2017 13:58:41 +0000 (16:58 +0300)]
0028306: Visualization - viewer crashes if style for shaded display is set to HATCH

Fixed NULL-dereference in OpenGl_Context::SetPolygonHatchStyle().

7 years agoBRep history added for hidden faces remove tool support
snn [Fri, 16 Mar 2018 09:19:08 +0000 (12:19 +0300)]
BRep history added for hidden faces remove tool support

7 years ago0029526: Test Harness command "ReadIges" does not support "read.iges.onlyvisible...
gka [Mon, 26 Feb 2018 13:27:46 +0000 (16:27 +0300)]
0029526: Test Harness command "ReadIges" does not support "read.iges.onlyvisible" mode

In the Test Harness command "ReadIges" there is added taking into account value of the parameter "read.only.visible"

7 years agoBug#209: Some IGES Files do not import correctly to OCCT 7.1
gka [Mon, 26 Feb 2018 13:27:46 +0000 (16:27 +0300)]
Bug#209: Some IGES Files do not import correctly to OCCT 7.1

To read only visible roots from IGES file in the XCAF document Test Harness command "ReadIges" was modified to take into account value of the Test Harness parameter "read.iges.onlyvisible".

7 years agoSemantic name Get/Set functions added to XCAFDimTolObjects_*Object classes. Added...
snn [Mon, 26 Feb 2018 12:16:18 +0000 (15:16 +0300)]
Semantic name Get/Set functions added to XCAFDimTolObjects_*Object classes. Added XGetGDTSemanticName/XSetGDTSemanticName draw commands.

7 years agoCompatibility with obsolete MSVC compilers - added PRId64 macros
kgv [Fri, 16 Feb 2018 14:29:17 +0000 (17:29 +0300)]
Compatibility with obsolete MSVC compilers - added PRId64 macros

7 years agoSupport of implementation of the algorithm for replacing faces in shape with new...
jgv [Mon, 14 Aug 2017 11:48:07 +0000 (14:48 +0300)]
Support of implementation of the algorithm for replacing faces in shape with new faces based on other surfaces - PatchFaces. For that:

- Add the flag UseInfini in the method BRepOffset_Tool::EnLargeFace, defining whether it is needed to use infinite enlarge of a face or not.

- Add the method TopExp::MapShapesAndUniqueAncestors().

- Increase the value of extension in EnlargeGeometry to provide proper intersection of adjacent faces.

7 years ago0028492: Boolean common does not produce expected result
nbv [Mon, 13 Mar 2017 13:03:07 +0000 (16:03 +0300)]
0028492: Boolean common does not produce expected result

Generation of 3D-steps shorter than 3D tolerance has been allowed in the fix to build Walking-line.

Now, 3D-step is limited by Precision::Confusion value.

7 years ago0028449: Data Exchange - Wrong orientation of Annotation Plane in GD&T
ika [Wed, 22 Mar 2017 07:31:58 +0000 (10:31 +0300)]
0028449: Data Exchange - Wrong orientation of Annotation Plane in GD&T

Fix orientation.
update test cases

7 years ago0029362: Data Exchange - Crash during reading step file
ika [Mon, 4 Dec 2017 08:05:02 +0000 (11:05 +0300)]
0029362: Data Exchange - Crash during reading step file

Additional check for wires into searching of attached shapes,
Fix Dimension value processing,
Update test cases.

7 years ago0029262: Visualization - AIS_InteractiveContext::Load() does not register Object...
kgv [Wed, 25 Oct 2017 14:27:23 +0000 (17:27 +0300)]
0029262: Visualization - AIS_InteractiveContext::Load() does not register Object in the Viewer

AIS_InteractiveContext::Load() now loads the object regardless specified selection mode and decomposition flag.
AIS_InteractiveContext::Load() and ::KeepTemporary() now register object in the Viewer
in the same way as ::Display() does.

Draw Harness command vdisplay has been extended with new flag -erased to load object into context in erased state.

7 years ago0029067: Visualization, AIS_ColoredShape - visibility of sub-shapes is ignored by...
kgv [Mon, 28 Aug 2017 18:10:28 +0000 (21:10 +0300)]
0029067: Visualization, AIS_ColoredShape - visibility of sub-shapes is ignored by ComputeSelection()

8 years agoAdd specific key for two-sided coloring of AIS shape in vdisplay command
ssv [Fri, 14 Apr 2017 07:42:30 +0000 (10:42 +0300)]
Add specific key for two-sided coloring of AIS shape in vdisplay command

8 years ago0028444: Data Exchange - Missed text blocks in Saved Views
ika [Thu, 30 Mar 2017 09:39:05 +0000 (12:39 +0300)]
0028444: Data Exchange - Missed text blocks in Saved Views

Add new STEP entity to connect dimension semantic with presentation.
Fix number of GDTs in Saved View.

8 years ago0028315: Data Exchange - Import/Export GD&Ts without semantic
ika [Wed, 28 Dec 2016 11:05:01 +0000 (14:05 +0300)]
0028315: Data Exchange - Import/Export GD&Ts without semantic

Implement import/export of Dimensions without semantic.
Add new type of dimension for GDTs with presentation and connecting to shapes.
Update test cases.

8 years agoFix compilation error on vc12 (MSVC++ 12.0)
apn [Thu, 29 Dec 2016 17:24:44 +0000 (20:24 +0300)]
Fix compilation error on vc12 (MSVC++ 12.0)

8 years agoCorrections for MacOS genproj.tcl (branch CR26866)
apn [Thu, 29 Dec 2016 17:02:35 +0000 (20:02 +0300)]
Corrections for MacOS genproj.tcl (branch CR26866)

8 years ago0028312: Configuration, genproj.tcl - support CSF_ZLIB and CSF_LIBLZMA within project...
kgv [Wed, 28 Dec 2016 16:10:24 +0000 (19:10 +0300)]
0028312: Configuration, genproj.tcl - support CSF_ZLIB and CSF_LIBLZMA within project generator

Added CSF_ZLIB for searching zlib library, CSF_LIBLZMA for liblzma library
and CSF_FFmpeg for FFmpeg framework.
Unused CSF_AviLibs has been dropped.

8 years ago0028189: Result of Boolean operation is non-manifold wire
emv [Thu, 29 Dec 2016 12:42:08 +0000 (15:42 +0300)]
0028189: Result of Boolean operation is non-manifold wire

1. The result of Boolean operation on the arguments of collection type, containers WIRE/SHELL/COMPSOLID, is also a collection.
The containers of type WIRE included into result should now also (as the SHELLs) have coherent orientation of its sub-shapes.
For that the new method has been implemented (BOPTools_AlgoTools::OrientEdgesOnWire(TopoDS_Shape&)) which reorients edges for correct ordering.
The duplicating containers, i.e. containers with the contents completely included in other containers, are now avoided in the result of BOP.
2. The result of Fuse operation on Compsolids is now also will be Compsolid.
3. Documentation has been updated.
4. New test cases for the issue.
5. Adjusting test cases to current behavior.

Correction of test case bugs/modalg_4/bug726_2 according to the new behavior

8 years ago0028235: Data Exchange - DG&T datum XCAF object has incomplete list of shape references
ika [Tue, 20 Dec 2016 12:12:09 +0000 (15:12 +0300)]
0028235: Data Exchange - DG&T datum XCAF object has incomplete list of shape references

Update STEP import and export of datums.
Update test cases.

8 years ago0026866: Configuration, genproj - ensure consistency between FILES and actual content...
ski [Thu, 22 Dec 2016 17:54:00 +0000 (20:54 +0300)]
0026866: Configuration, genproj - ensure consistency between FILES and actual content of inc and src folders

Added check of consistency between FILES and actual content of inc and src folders in genproj procedure.

8 years ago0028197: Configuration - support Eigen template library as external dependency
ski [Thu, 15 Dec 2016 09:44:36 +0000 (12:44 +0300)]
0028197: Configuration - support Eigen template library as external dependency

Supporting of "Eigen" third party was added to CMake build procedure.

8 years ago0028047: Visualization - support objects with customized highlighting in AIS_Interact...
vpa [Wed, 28 Dec 2016 12:52:31 +0000 (15:52 +0300)]
0028047: Visualization - support objects with customized highlighting in AIS_InteractiveContext

- SelectMgr_SelectableObject::ClearHighlighted method is added to remove dynamic highlight data;
- interactive context will pass processing of dynamic highlight erase to the object if the owner returns false in SelectMgr_EntityOwner::IsAutoHilight;
- if owner returns true in SelectMgr_EntityOwner::IsForcedHilight, selection presentation will be re-highlighted at each ::Select call;
- redundant logic related to old object-oriented highlight mechanism was removed from AIS_InteractiveContext::MoveTo.

8 years ago0028273: Inefficient implementation of the BRepOffset_MakeOffset::BuildSplitsOfFace...
emv [Fri, 23 Dec 2016 13:04:25 +0000 (16:04 +0300)]
0028273: Inefficient implementation of the BRepOffset_MakeOffset::BuildSplitsOfFace function

The method for building splits of the face BRepOffset_MakeOffset::BuildSplitsOfFace has been redesigned to use the BOPAlgo_BuilderFace algorithm directly.
The methods FindInvalidFaces and TrimNewIntersectionEdges have been corrected to avoid possible instabilities.
The filtering of invalid edges by existing bounding edges has been corrected to avoid removal of valid splits.
The method BRepOffset_Analyse::Correct2dPoint has been modified to avoid unnecessary initialization of BRepAdaptor_Surface.

Adjustment of the test cases.
Test case bugs modalg_6 bug26513 has been modified to unify faces of the input shape before operation.

8 years ago0028283: The command bopcheck crashes on the given shape
msv [Mon, 26 Dec 2016 12:31:14 +0000 (15:31 +0300)]
0028283: The command bopcheck crashes on the given shape

BOPAlgo_CheckerSI crashed due to building of pcurve for an edge not lying on surface. The fix avoids building of pcurves in this algorithm.
The new flag has been added in BOPAlgo_PaveFiller class (method SetAvoidBuildPCurve). It tells whether to avoid building pcurves. It is worth to set if the result is not used to create splits of faces, as in example with BOPAlgo_CheckerSI.

8 years ago0028217: Error handling is not thread safe and causing memory corruption and sporadic...
abv [Thu, 29 Dec 2016 11:37:42 +0000 (14:37 +0300)]
0028217: Error handling is not thread safe and causing memory corruption and sporadic crashes

Static variable holding handle to the last raised exception is made thread-local on compilers that support C++11 keyword thread_local (MCVC++ 14+, GCC 4.8+, ICC 14+, CLang).
Test bugs fclasses bug28217 is added (BAD on vc < 14 and gcc < 4.8).

Test case tuning bugs/fclasses/bug28217

8 years ago0028285: Configuration - add missing macro Standard_EXPORT to OpenGl_StateInterface...
isk [Tue, 27 Dec 2016 08:19:21 +0000 (11:19 +0300)]
0028285: Configuration - add missing macro Standard_EXPORT to OpenGl_StateInterface subclasses

8 years ago0028281: Draw Harness - remove unused command vperf
kgv [Sun, 25 Dec 2016 17:07:39 +0000 (20:07 +0300)]
0028281: Draw Harness - remove unused command vperf

8 years ago0028276: Visualization, Graphic3d_ArrayOfPrimitives - fix usage of 16-bit indices
kgv [Fri, 23 Dec 2016 18:21:00 +0000 (21:21 +0300)]
0028276: Visualization, Graphic3d_ArrayOfPrimitives - fix usage of 16-bit indices

Graphic3d_ArrayOfPrimitives now check the amount of vertex data rather than amount of indices.

8 years ago0028110: Configuration - specify Unicode charset instead of multibyte in project...
ski [Mon, 14 Nov 2016 11:31:00 +0000 (14:31 +0300)]
0028110: Configuration - specify Unicode charset instead of multibyte in project files for Visual Studio

Eliminated usage of ANSI methods.
All Visual Studio projects generated by genproj or CMake use Unicode character set.

Draw Harness now handles Unicode input on Windows.
Tcl test scripts are now expected in UTF-8 encoding by default.

8 years ago0028223: Projection of closed curve onto cylinder is wrong
ifv [Fri, 16 Dec 2016 11:26:42 +0000 (14:26 +0300)]
0028223: Projection of closed curve onto cylinder is wrong

Algorithm of calculation UV bounds of projected curve for periodic surfaces is modified.

8 years ago0028135: Configuration - adopt building script for using built-in Android cross-compi...
ski [Wed, 21 Dec 2016 10:41:04 +0000 (13:41 +0300)]
0028135: Configuration - adopt building script for using built-in Android cross-compiling support in CMake 3.7

Added toolchain file for using built-in Android cross-compiling support in CMake 3.7

Added variable CMAKE_ANDROID_STL_TYPE for Android platform build via CMake.

Updated documentation about building of occt for UWP and Android via CMake.

Eliminated CMake warning CMP0054 for Android platform build.

8 years agoWarnings on vc14 were eliminated
apn [Fri, 23 Dec 2016 07:10:55 +0000 (10:10 +0300)]
Warnings on vc14 were eliminated

8 years ago0028244: Visualization - AIS_AngleDimension throws exception for 180 degree
isk [Thu, 22 Dec 2016 09:53:46 +0000 (12:53 +0300)]
0028244: Visualization - AIS_AngleDimension throws exception for 180 degree

Small correction of test case for issue CR28244

8 years ago0028250: Data Exchange - Wrong number of geometric tolerance modifiers.
ika [Tue, 20 Dec 2016 10:25:02 +0000 (13:25 +0300)]
0028250: Data Exchange - Wrong number of geometric tolerance modifiers.

fix some copy paste mistakes,
update test cases.

8 years ago0028232: Visualization, StdPrs_ShadedShape - create WireFrame presentation for sole...
kgv [Sun, 18 Dec 2016 07:18:55 +0000 (10:18 +0300)]
0028232: Visualization, StdPrs_ShadedShape - create WireFrame presentation for sole Vertex / Edge / Wire

8 years ago0028180: Visualization, TKOpenGl - Performance of Shaded presentation dropped due...
kgv [Thu, 22 Dec 2016 09:48:16 +0000 (12:48 +0300)]
0028180: Visualization, TKOpenGl - Performance of Shaded presentation dropped due to FFP disabled by default

FFP state management (light sources, matrices, clipping planes) has been
moved to OpenGl_ShaderManager for consistency with Programmable Pipeline.

OpenGl_Context::BindProgram() does not re-bind already active Program.
OpenGl_PrimitiveArray::Render() does not reset active Program at the end.

OpenGl_Context::ApplyModelViewMatrix() now checks if matrix differs
from already set one before modifying state in Shader Manager.
This allows avoing redundant state changes, matrix uploads onto GPU
and re-computation of inversed matrices.

NCollection_Mat4 has been extended with equality check operators for proper comparison.

OpenGl_ShaderManager - the tracking Material state has been added.
Removed unreachable states OPENGL_NS_RESMAT, OPENGL_NS_TEXTURE and OPENGL_NS_WHITEBACK.

Fixed resetting FFP material state after displaying GL_COLOR_ARRAY vertices;
the Material state within Shader Manager is now
invalidated within OpenGl_VertexBuffer::unbindFixedColor().

OpenGl_Workspace::ApplyAspectFace() - fixed invalidating Material State
when only Highlighting style is changing.

8 years ago0028205: Visualization - add functionality for dumping results of detection algorithm...
isk [Fri, 9 Dec 2016 10:50:40 +0000 (13:50 +0300)]
0028205: Visualization - add functionality for dumping results of detection algorithms into image

StdSelect_ViewerSelector3d::ToPixMap() - added new method for dumping
detection results into an image.

8 years ago0028241: Visualization, Path tracing - shader compilation error on Radeon 290
dbp [Mon, 19 Dec 2016 11:00:09 +0000 (14:00 +0300)]
0028241: Visualization, Path tracing - shader compilation error on Radeon 290

8 years ago0028221: General Fuse operation error
msv [Thu, 22 Dec 2016 09:43:48 +0000 (12:43 +0300)]
0028221: General Fuse operation error

The method BOPTools_AlgoTools2D::AttachExistingPCurve has been corrected so that
to call BRepLib::SameParameter not on the target edge with the whole set of pcurves,
but rather on a temporary edge with 3D curve and copied pcurve only.
After that the updated pcurve is transferred to the target edge.

Small correction of test case for issue CR28221

8 years ago0028240: Avoid redundant search for span index in evaluation of BSpline cache
abv [Sun, 18 Dec 2016 06:21:54 +0000 (09:21 +0300)]
0028240: Avoid redundant search for span index in evaluation of BSpline cache

8 years ago0028204: TopoTools_ShapeSet::Dump() does not show flag Locked
ski [Thu, 22 Dec 2016 09:40:55 +0000 (12:40 +0300)]
0028204: TopoTools_ShapeSet::Dump() does not show flag Locked

Corrected command dump to show flag Locked for shapes in DRAW.
Test case for issue CR28204
Updated test case.

8 years ago0028004: Visualization, AIS_ColorScale - allow defining labels list not equal to...
kgv [Thu, 22 Dec 2016 09:39:13 +0000 (12:39 +0300)]
0028004: Visualization, AIS_ColorScale - allow defining labels list not equal to intervals list

Cosmetics, code clean up.

AIS_ColorScale now draw labels using Graphic3d_VTA_CENTER
vertical alignment flag, instead of incorrect own alignment logic.
The color bar now adds margin on the top simmetrical to the bottom.

AIS_ColorScale::SetSmoothTransition() - added new property
for displaying colorscale with smooth transition between color intervals.

AIS_ColorScale::SetHueRange() - added new property defining the hue angles
corresponding to minimal and maximum values on the color scale.

AIS_ColorScale::SetLabels() now allows setting the sequence of free labels,
which number does not match the number of intervals.
In this case the labels will be displayed at positions of virtual
intervals corresponding to the number of labels.

8 years ago0028183: Modeling - BRepExtrema_DistShapeShape does not find all solutions
msv [Wed, 14 Dec 2016 07:09:38 +0000 (10:09 +0300)]
0028183: Modeling - BRepExtrema_DistShapeShape does not find all solutions

Disable SetSingleSolutionFlag when calling algorithm of curve-curve Extrema.
Now DistShapeShape will find all solutions, even if they are located on the same pair of edges.
The fix brings the speed down for the cases of coinciding curves.

8 years ago0028233: lvarpop is needed for correct work of lmatch defined in StandardCommands.tcl
msv [Fri, 16 Dec 2016 14:13:07 +0000 (17:13 +0300)]
0028233: lvarpop is needed for correct work of lmatch defined in StandardCommands.tcl

The proc lvarpop has been implemented.