A GIMP Image Compositing Subsystem
Update. The latest version of this code will be available in the
cvs version of The GIMP "real soon now." Instead of tracking this
software separately, you can simply wait for it to show up in CVS.
On Februrary 26, 2003 I volunteered to help with the GIMP MMX implemetation
that had been languishing and had recently started to cause
problems when building the current GIMP code.
This is release 0.0 of an extensible and customisable image
compositing interface for the GIMP. I'd like to hear feedback.
What you get is this:
-
A general mechanism for incorporating compositing functions based
upon the compositing function and the pixel formats of the inputs and
the outputs of the function.
-
Generic implementations of the supported compositing functions as a
foundation for further/future improvements. You can see this code in
gimp-composite-generic.c which is a direct "port" of the existing GIMP
code which does the same.
-
The general mechanism allows any compositing function
implementation to be replaced by a different implementation that is,
for example, customised for the target CPU, or pixel formats, hardware
acceleration, and so forth. You can see this sort of code in
gimp-composite-mmx.c which contains implementations of several
compositing functions optimised with MMX assembly code.
Caveat
While I've been using this code, and working out the various problems
as they occur, this code is still immature and you may experience
problems. If you do, please tell me.
Installation
To use this you :
-
Untar the gimp-composite.tgz tarball,
% tar xzf gimp-composite.tgz
-
Edit gimp-composite/Makefile to set the values of three variables
to correspond to your local environment. For example, my values are:
GLIBINCLUDE=/home/helvetix/garnome/include/glib-2.0
GLIBLIB=/home/helvetix/garnome/lib/glib-2.0/
GIMP=/home/helvetix/Gnome/gimp
Note that the GIMP variable points to a clean cvs checkout of the
gimp-1.3 source code, not the path name of the gimp executable.
-
In the gimp-composite/ directory, execute "make install"
% cd gimp-composite ; make install
-
In the gimp-1.3 source directory, execute "autogen.sh && make"
% cd gimp ; ./autogen.sh && make
-
You can install the resultant gimp, or you can run it in place.
Enjoy! Comments, feedback, complaints to me: HELVETIX Mysterious.ORG