Required libraries for building Ogles2


OpenGL

Ogles2 won't work at all without OpenGL version 2.1 or higher. OpenGL is industry's foundation for high performance graphics. Most Linux distributions and Microsoft OS since Windows 95b (OEM Service Release 2) supply libraries for regular OpenGL. To achieve hardware-accelerated rendering it is recommended to use a graphics processing unit (GPU). In that case vendor specific drivers are required. Not all CPU/GPU or graphics card combinations fit together perfectly.

Qt

Ogles2's graphical user interface is Qt (Release 4.8.x). Regardless whether you compile Qt on your system or you download precompiled libraries please make sure that your C++ compiler for Qt matches the version used for Ogles2. Ogles2 has not been compiled with QT5 yet.

Coin3D

Ogles2 slice visualization and volume redering depend on Coin3D libraries.
Before installing SoQt, please, verify that the Qt and Coin3D are installed in your computer.
And again, regardless whether you compile Coin3D on your system or you download precompiled libraries please make sure to use the same C++ compiler version for Coin3D and Ogles2.
If you compile Coin under MSVC you might have to change '#define COIN_INT8_T char' to '#define COIN_INT8_T signed char' in inttypes.h line 104.

NIfTI-1

The prefered image data format for Ogles2 is NIfTI-1 (*.nii). Most medical scanners generate slice data in DICOM format.
Conversion from DICOM to NIfTI-1 can be performed by ITK-SNAP, Sdr2, and other tools.

Ogles2 folder tree

Once downloaded and unpacked, Ogles2 will be presented roughly in this folder tree:

        1. ogles2b.sln
        2. ogles2b.vcpro
        1. ogles2b.sln
        2. ogles2b.vcpro
        1. ogles2b.sln
        2. ogles2b.vcpro
        3. ogles2b.vcxproj
        1. ogles2b.sln
        2. ogles2b.vcpro
        3. ogles2b.vcxproj
      1. ogles2b.pro
    1. images
    2. ogles2-doc
      1. CoinMinGW32
      1. aladin
      2. generated
      3. mc
      4. miniBall
      5. miniCarve
      6. newmat11
      7. nifti
      8. soCute
      9. uis
      10. ogles2b_sources.h ...
      11. ogles2b_sources.cpp ...

Recommended

Qt Creator

Qt Creator is the preferred IDE for Ogles2. Make sure that 'Tools->Options->Build & Run->Qt Versions->Your Qt Version->Qt Version Details' has detected correct Qt settings and directories during installation of Qt Creator.

OS Specific

Ogles2 has been compiled under Ubuntu 16.04.3 LTS 64-bit, openSUSE 12.3 64-bit, Debian 8 ("Jessie") 32 bit, MS Windows XP, Windows 7 32-bit and 64-bit, Windows 8 32-bit and Windows 10 64-bit.
Ogles2 has not been compiled under any Mac OS.

Microsoft Windows

1. If you just want to find out what Ogles2 can do for you, simply run ogles2b.exe in the ogles2_win32_binaries folder.

2. For compilation of Ogles2 under Microsoft Visual C++ or MinGW32:

Environment variables for Windows have to be set correctly.
For Win7: start button->left click->Control Panel->System and Security-> System->Advanced system settings->Environment Variables:

New... Variable named 'COINDIR' with value 'Path to Coin headers' (like C:\Coin3D\coin4).

New... Variable named 'QTDIR' with value 'Path to Qt headers' (like C:\Qt\4.8.6).

And New... Variable named 'QMAKESPEC' with description of your platform so that a suitable makefile can be generated (like win32-msvc2008 or win32-g++).

Add 'Path to Qt and Coin libs' to the path variable (like %QTDIR%\lib;%COINDIR%\lib;).

3. Microsoft Visual C++:
Ogles2 has been compiled under MSVC 2005 (V.5) to 2012 (V.11) Express only. In Coin3D Version 3 compiled with MSVC, functions calls to removeAllChildren and removeChild will cause the program to crash sometimes. (This seems to happen regardless whether these functions are called while traversing a callback or not.) This issue has been resolved in Coin3D Version 4 (coin4). The downside of coin4 is that it requires boost headers. For example at C:\Coin3D\coin4\include\boost

Launch msvc and open 'solution' ogles2b.sln in the \ogles2b matching \build\msvc20XX_VXX folder.
Custom build steps for generating the moc_$(InputName).cpp files are performed in debug configuration only. That's why Ogles2 needs to be compiled in debug configuration first.

4. MinGW and MSYS provide a complete Open Source programming tool set for Microsoft Windows. Ogles2b has been tested under MinGW32.
Compilaton of Coin3D is not always trivial under MinGW. You might want to consider the files in \ogles2b\precompiled_libs\CoinMinGW32 (compliled with gcc version 4.4.0).

GNU/Linux and MinGW/MSYS

Compilation of Ogles2b in an Open Source environment depends on qmake. Make sure to have Qt 4.8.x, Coin, SoQt, SIMVoleon, and SmallChange installed.

For GNU/Linux systems edit /etc/profile as root,
add
'COINDIR=/usr/include/Inventor
export COINDIR'
and make sure that PATH points to folder of coin libs:
PATH="...:/usr/local/lib:/..."

Then either launch Qt Creator and open \ogles2b\build\ogles2b.pro, or open a terminal, cd to the \ogles2b\build folder and fire up 'qmake' followed by 'make' or 'mingw32-make'.