Hi, Since Windows Vista the operating system assumes all applications as DPI-unaware, unless stated otherwise. This means that if you have desktop scaling enabled (which is pretty much mandatory if you are running a high resolution screen) you will get incorrect scaling and blurry images.
The solution is to declare the application as DPI-aware. This can either be done via the inclusion of a manifest file during compilation or by declaring it inside your application. By doing this you are making a promise to the operating system that you are handling the scaling instead of the OS. I have made a modification of the osgViewer::GraphicsWindowWin32 constructor to declare the application as DPI-aware per monitor. This guarantees that the operating system will never scale the application. Regretfully the required Windows library call requires Windows 8.1 or later. To be able to detect the correct windows version I had to add a CMake macro to detect and define the _WIN32_WINNT variable. During this development I also found a redundant definition inside the osgDB/FileUtils.cpp file, which I removed. The resulting commits are sent as the following pull request: https://github.com/openscenegraph/OpenSceneGraph/pull/396 Regards, Björn ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=72492#72492 _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
