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.
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.
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.
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.
Once downloaded and
unpacked, Ogles2
will be presented roughly in this folder tree:
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.
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).
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'.