Blog

Application of stohastic algorithms in extrema

Forums: 

Starting from version 6.8.0 OCCT will include one more algorithm for solving global optimization problems.

Its development has been triggered by insufficient performance and robustness of the existing algorithm of minimization of curve - surface distance in Extrema package (class Extrema_GenExtCS). Recent attempts to fix problems in that algorithm led to severe reduction of its performance, hence the need of a different approach raised.

Ray tracing progress: support for lines, markers and text added

Forums: 

Few months ago, the OCCT ray tracing algorithm was rewritten using GLSL. Apart from better portability and certain performance gain, this step opened the door to some important features that can be added most naturally using close OpenGL and GLSL interoperation - such as visualization of lines and text in a ray-traced scene. Lines and text are examples of scene elements that cannot be visualized using purely the ray tracing algorithm.

First version of OCCT without WOK and CDL

Forums: 

Hello,

We are steadily progressing in the refactoring tasks, and now have the first version of OCCT without WOK and CDL ready for review: see Git branch CR0_noCDL.
Note that this is the first experimental version, thus please do not try to use it in your project!

Here is some detail on the changes made in this branch.

New optimization algorithm and package Extrema improvement

Forums: 

Starting with version 6.8.0 OCCT will have a new algorithm for solving global optimization tasks using an arbitrary objective function of several variables on a hyperparallelepiped.

The algorithm is based on a slightly modified method of searching the global extremum of a function of several variables satisfying the Lipschitz condition [1, 2].

Redesign of RTTI: performance comparison

Forums: 

Run-Time Type Information (RTTI) is C++ mechanism to access type information in code at runtime, including well-known dynamic_cast operator. Although this functionality is integral part of modern C++ standard, this was not true at OCCT foundation time. This is why OCCT has been designed with own RTTI implementation.

Since any modern C++ compiler has built-in RTTI support, many users complain - why OCCT still uses their own implementation? Well, migration to built-in C++ mechanisms would require significant changes due to design differences. However this article covers another aspect of such possible migration - performance comparison.

OCCT 6.7.0: performance and stability

Forums: 

Hello All,

During preparation of OCCT 6.7.0 we have made some improvements related to performance and stability of the code which I would like to describe here.

Inspired by advice of our contributors, we have checked possibility to improve performance by tweaking relevant compiler options. The analysis was limited to Visual Studio compilers (used by most of our customers). Here is a summary chart comparing different versions of VC++ on OCCT code.

Shader support in OCCT 6.7.0

Forums: 

As implementation of one of the strategic steps in OCCT visualization component development road-map, support for GLSL shader programs has been added in Open CASCADE Technology 6.7.0.

Shader programs have become a part of aspect classes in Graphic3d package, thus application developers can provide individual shader programs for all supported kinds of graphic primitives: points, lines, shaded polygons and text.