Handle_Graphic3d_WNTGraphicDevice in 6.60

Hi can anyone help me in the best way to convert legacy code for the removal of

Handle_Graphic3d_WNTGraphicDevice activeGraphicDevice ; // updating from 6.5.3 to 6.6.0

Pawel's picture

Hi David,

if you're on Windows you can have a look at the MFC samples. For instance, in OCC_App.cpp you can find the current initialization etc.

Hope this helps,

Forum supervisor's picture

Dear David,
See Release Notes of OCCT660 (chapter "Porting to version 6.6.0") where the changes explicitly covered:
"Run-time graphic driver library loading mechanism based on CSF_GraphicShr environment variable usage has been replaced by explicit linking against TKOpenGl library. The code sample below shows how the graphic driver should be created and initialized in the application code:
// initialize a new viewer with OpenGl graphic driver
Handle(Graphic3d_GraphicDriver) aGraphicDriver =
new OpenGl_GraphicDriver ("TKOpenGl");
aGraphicDriver->Begin (new Aspect_DisplayConnection());
TCollection_ExtendedString aNameOfViewer ("Visu3D");
Handle(V3d_Viewer) aViewer
= new V3d_Viewer (aGraphicDriver, aNameOfViewer.ToExtString());
Graphic3d_WNTGraphicDevice previously used to implicitly initialize Graphic3d_GraphicDriver and now should be replaced by explicit OpenGl_GraphicDriver instantiation.

Timo Roth's picture

Dear Forum supervisor,

according to the OCC 6.6.0 release notes the CSF_GraphicShr is not used anymore.
But it is still docmented in the section on System Environment Variables in "Open CASCADE Technology Overview":

"CSF_GraphicShr is required to define the path to the TKOpenGl library;"


Forum supervisor's picture

Dear Timo,
Yes, the reported problem still exists and we are working on it.
See for details the issue 9457 in Mantis BugTraker.