OGRE 1.10 and Geometry Shader Support

On my Debian / Jessie laptop ‘Klystron’, I gave up some time ago, in compiling OGRE 1.10, this just resulting in a mess. Instead, on that platform I was only able to build OGRE 1.9 from source code, which is fully stable, as long as we stick to the OpenGL (2) Render System.

On the Windows 7 desktop ‘Mithral’, my first attempt to build OGRE 1.10 also failed, resulting in a successful compile, but then a silent crash of the Sample Browser, indicating that something was not built right.

If I have OGRE installed on several machines, it makes most sense for them to be the same OGRE version, so next I compiled OGRE 1.9 on ‘Mithral’, successfully, using Visual Studio 2015.

In response to my observation, that I had not set up the dependencies correctly on the ‘Mithral’ build attempt of OGRE 1.10, I now re-attempted that, paying closer attention to all the details, specified within CMake 3.6.2 .

I found that I could not only build OGRE 1.10 on this machine but also run it. And I found, that contrarily to how it was with OGRE 1.9, the OpenGL3+ Render System of OGRE 1.10 is capable of producing working Geometry Shaders. At least this gives me some access to Geometry Shaders, and casts doubt back onto the MESA Drivers of ‘Klystron’, which would cause the X-Server to crash, if I ran the Geometry Shader example of OGRE 1.10 .

What I still cannot do, is build the DirectX 11 Render System that is supposed to work under OGRE 1.10 , due to errors I have not yet pinned down. But what that was supposed to bring me, is now being provided successfully by the OpenGL3+ Render System. Both of these two are stated by the OGRE Team, to be experimental render systems, for version 1.10 still.

I suspect that OGRE 1.10 is being neglected by their team, in favor of OGRE 2.1, which is their effort to port OGRE to Android.

Dirk

 

gImageReader

I just had some curiosity in practical OCR software, and installed a bunch of related packages on the laptop I name ‘Klystron’, including ‘tesseract-ocr-xxx‘ packages. This batch of installations went on to include ‘gImageReader‘, an actual GUI with which images can be read.

However, this revealed a cute little application that was Okay, I guess, but that would crash whenever I exited it. The solution to this problem was to custom-compile the latest version.

The package manager offers version 2.92 under Debian / Jessie. The available, custom-compiled version is 3.1.91. It is Qt 5 -based.

In order to compile that, I first needed to custom-compile Qt5-Spell, because that, too, is not good enough as things ship from the package manager. And eventually, when first trying to compile Qt5-Spell, in the required Qt5 mode (it will default to Qt4 mode), I also ran into this peculiar error message:

Qt5LinguistTools Not Found …

This actually requires that we install the package ‘qttools5-dev‘, which can be confusing, because there is also a package named ‘qttools5-dev-tools‘, which may already be installed to no avail.

But, now that I have surmounted these problems, I have a more serious application installed, and one that does not crash, just when exiting.

Dirk

Note: This application uses a hard-coded version of ‘tesseract‘, not the version which I installed from the package manager. Yet, I feel that having installed additional data files from the package manager, has also added languages which ‘gImageReader’ can read.

(Edit 06/05/2016 : ) It is also possible to install ‘gImageReader’, by adding the special repository to our sources list, which is being hosted by the application author, whose name is Mr. Sandromani.

$ sudo add-apt-repository ppa:sandromani/gimagereader
$ sudo apt-get update
$ sudo apt-get install gimagereader tesseract-ocr tesseract-ocr-eng

In this case, we are installing a binary from a 3rd party, and may also need to install the repository public key. This version uses the externally-supplied ‘tesseract‘ engine, but it is a customized version of ‘tesseract‘, which gImageReader is able to use. One point in installing the Debian version of ‘tesseract‘ could be, to have a version that is closer to what Google designed, and that can be invoked from the command-line, or from within other applications.