It is platform-independent and runs fine under Windows and Linux; we believe it can probably be compiled on other Unices as well.
One control, which deserves a more detailed explanation here, is "Load Images". This allows you to load single images or entire animation sequences. The loading dialog may be shown up to 3 times, depending on how a particular effect uses image data. For example, the "B-Spline Warp" requires 2 images (or image sequences): one for the morph source and one for the morph target. If any of these dialogs gets canceled or no files are selected for loading, then you will only see a white rectangle, since most effects are only fully visible when all images needed are present.
The middle portion of the right part of the GUI is empty upon startup. It will be populated by the specific controls of the effect you select. Alternatively, these controls may appear in an extra window, depending on how the programmer of that effect decided. In that case, it might happen that this extra window is hidden by the main window, if your screen resolution is less than 1024x768. The effect-specific controls are described in detail in corresponding effect documentation in subdirectory doc in the Tar archive.
The large square button with sort of an "orbits" icon, can be toggled. When on,it turns the image viewport into a virtual trackball. All rotations are performed using the left mouse button. The axis tripod in the lower-right corner of the view shows the current orientation of the coordinate system. The reset controls reset the camera orientation and field-of-view (zoom). The red and green axes in the center of the viewport are the x- and y-axes of the coordinate system. They can be used to "lock" onto a primary axis for precise rotation. This works in the following way: when the mouse cursor is placed on the green or red axis, or on their intersection, it will change shape automatically to signify the "locked" rotation axis. The lock is possible on any of the three primary axes. Using the right mouse button you can zoom in and out.
The "Perspective View" button toggles between orthographic and perspective projection.
The lower part contains a "memory usage meter" and a small status window where effects may output various diagnostic messages or notifications. The memory meter shows how much memory is currently available and how much is taken in total by all programs and the system (for now, it is only available under Windows.)
Linux executables | imogl_linux_x11.tar.gz | 1.1 (MB) |
Windows 2000 executable | imogl_win32.tar.gz | 1.8 (MB) |
Source code | imogl_devel.tar.gz | 0.7 (MB) |
Test images | imogl_img.tar.gz | 3.3 (MB) |
Test image sequence | imogl_seq.tar.gz | 14 (MB) |
Note: This effect will require a fast CPU if you want to achieve smooth animation at higher settings of the "Resolution" parameter.
Note: Please keep in mind that rendering in this effect has been optimized for Nvidia chipsets, so if you don't run this on an Nvidia-based graphics card, the rendering performance may be impaired, depending on the CPU speed of your machine.
Note: The implementation does not utilize any buffer-to-texture paths on the graphics card, if any. So the performance is not very fast.
In morphing mode, it additionally performs blending between images. In a source image and a, possibly different, target image, you can draw a polygon; for both, you specify keyframes. The effect will warp the source image into the target image according to the polygon, and blend them between the two keyframes according to the time.
The base directory contains a readme file where you will find the instructions on how to build and run the application in Windows and Linux.
Root of the whole system is an abstract base class GLEffect, which provides most basic functions required for rendering, mouse, and keyboard event handling etc. Every manipulation effect (i.e., feature) is derived from this base class.
The program documentation contained in the /docs subdirectory has a tutorial section that will show you how to derive a very basic effect class. Starting from the index.html, you can find links to in-depth documentation of the framework, and all other effect classes. Additionally, examine the sources of the effects that come with the program, as many parts of these can be used as a base for your own code. They have been designed by various students and contain a lot of helpful hints and information.
The effect sources are well documented, partly in English, partly in German, depending on who wrote them. Hopefully this will not hinder anyone to understand the source code. :)
Your feedback is important! We would welcome any comments, remarks, bug reports etc. concerning this application. This will give us a chance to improve it and make it more stable (perhaps even enhance it someday?). We have tried our best to remove all bugs known up to this moment.
The sources are provided under the terms of the General Public License. A copy of the GPL can be found in the source directory.
Copyright © 2001 by Ibragium Kouliev for the framework application. All Rights Reserved.
All stellar images are courtesy of NASA (all of them are public domain, as far as we know). All other images, including those in the Tar files, are from the Net, and, to our best knowledge, in the public domain. Should any legal issues arise, please notify us, and we will remove them.
Notice about the Manta Ray logotype image: To our best knowledge, "Manta Ray Research" is not a registered company name and/or trademark of any kind. Should any legal dispute arise, we shall promptly remove or change this name.
Ibragim Kouliev | Framework and Integration |
Michael Nolden | Water waves effect |
Moritz Voß | Shadow effects |
Lukas Degenar & Ingmar Kanitschneider | Warping with Contourlines |
Christoph Brzozowski | Warping with B-Splines |
Philip Claren & Christian Mühlhaupt | Accumulationbuffer effects |