[OpenWalnut-Dev] News

Sebastian Eichelbaum eichelbaum at informatik.uni-leipzig.de
Mon Jul 19 12:17:55 CEST 2010


Hi List

As you might have noticed, there has been a lot of work on a branch named "shared_modules". We now merged this branch with the default branch. In this mail, I'll give a short overview of the what, where and why.

1. Modules are shared libraries now.
  This is, obviously, the largest change. Our modules are now loaded dynamically during OW startup. What is important for module coders? Well, as always, have a look at the template module. For short, every module now NEEDS to have a line "W_LOADABLE_MODULE( WMMyModuleName )" on top of the cpp file where WMMyModuleName is the classname of your module. 

2. Shared files
  As all clean unix programs, we now have our shared, non-lib and non-executable files in share/OpenWalnut. If you search your walnut.cfg, you'll find it there. Global shaders, like all the shaders from the graphics engine reside there too.

3. walnut-bin
  The old bin/walnut script has been removed. The binary is now called bin/walnut. It is able to get its working directory without the help of a script.

4. Modules now reside in their OWN directory.
  As one of our goals is to exchange (proprietary) module without recompiling OW, modules are now separated. It gets compiled to lib/modules/moduleName/. All its shaders and fixtures get copied there too as well as unittests. This way, all the stuff relating ONE module is inside of ONE directory. Even cooler is the possibility to add other paths to the module search path. See walnut.cfg for details.

5. CMake Cleanups
  Also cleaned up all this fixtures mess and made it portable. If modules have a fixtures directory, it gets copied automatically. No need to add paths somewhere in the deeps of CMake. The same counts for shaders. Shaders in modules now get copied automatically too.

6. version.h
   We do not need the identify make target anymore. We do not need the revision file in bin anymore. CMake now creates a version.h file included by OpenWalnut.cpp. This way, the version information is compiled in. Version.h gets updated automatically by cmake if the repository has changed (update, merge etc.).

7. Naming Scheme for Shaders
  Shaders now have to be named according to a naming scheme. Shaders in graphicsEngine/shaders need to be prefixed with WGE. Module shaders need to be prefixed with "WMMyModuleName. Shaders need to end with ".glsl" as the old extensions did not serve any purpose. The programming language of shaders is glsl so the extension is .glsl.

The only drawback: Windows-user need to add their build/bin directory to their PATH variable if a module's unittest should be run (which is the case during make test).

I probably missed a lot of smaller changes :-).

Thats it. Any questions? Simply ask me.
Cheers, Sebastian

-- 
Dipl.-Inf. Sebastian Eichelbaum
Universität Leipzig
Institut für Informatik
Abteilung Bild- und Signalverarbeitung
PF 100920
D-04009 Leipzig


More information about the OpenWalnut-Dev mailing list