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.

OCCT 6.7.0: New documentation system

Forums: 

Hello,

With OCCT 6.7.0 we introduce the new documentation system. All OCCT documentation (Overview, User and Developer Guides) is now included in OCCT source tree (new sub-folder dox), in plain text format (MarkDown with Doxygen extensions). The HTML, CHM, and PDF files are generated using Doxygen.

This makes it easy to make changes in OCCT documentation, and enables OCCT developers and contributors to synchronize changes in the code with corrections in relevant documentation.

Ray tracing as alternative rendering method for OCCT visualization component

Forums: 

OCCT 6.7.0 introduces several major improvements of the visualization component. One of the most breaking changes in OCCT visualization concerns simplified implementation of ray tracing algorithm for regular OCCT visualization primitives. This algorithm is implemented using OpenCL. Being a part of TKOpenGl library, it is fully integrated with standard OCCT visualization logic. From now on, ray tracing can be used as alternative rendering method instead of OpenGL rasterization.