gimp/app/composite/gimp-composite.html

83 lines
3.5 KiB
HTML

<h1>A GIMP Image Compositing Subsystem</h1>
<quote>
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.
</quote>
<p>
On Februrary 26, 2003 I volunteered to help with the GIMP <abbr
title="Intel Multimedia Extensions">MMX</abbr> implemetation
that had been languishing and had recently started to cause
problems when building the current GIMP code.
</p>
<p>
<a href="gimp-composite.tgz">This</a> is release 0.0 of an extensible and customisable image
compositing interface for the GIMP. I'd like to hear feedback.
</p>
<p>
What you get is this:
</p>
<ul>
<li style="margin-bottom: 1em;">
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.
</li>
<li style="margin-bottom: 1em;">
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.
</li>
<li style="margin-bottom: 1em;">
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.
</li>
</ul>
<h2>Caveat</h2>
<p>
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.
</p>
<h2>Installation</h2>
<p>
To use this you :
</p>
<ul>
<li style="margin-bottom: 1em;">
Untar the gimp-composite.tgz tarball,
<pre style="border: 1px solid purple; padding: 1ex;">% tar xzf gimp-composite.tgz</pre>
</li>
<li style="margin-bottom: 1em;">
Edit <tt>gimp-composite/Makefile</tt> to set the values of three variables
to correspond to your local environment. For example, my values are:
<pre style="border: 1px solid purple; padding: 1ex;">
GLIBINCLUDE=/home/helvetix/garnome/include/glib-2.0
GLIBLIB=/home/helvetix/garnome/lib/glib-2.0/
GIMP=/home/helvetix/Gnome/gimp</pre>
Note that the <tt>GIMP</tt> variable points to a clean cvs checkout of the
gimp-1.3 source code, <b>not</b> the path name of the gimp executable.
</li>
<li style="margin-bottom: 1em;">
In the gimp-composite/ directory, execute "make install"
<pre style="border: 1px solid purple; padding: 1ex;">% cd gimp-composite ; make install</pre>
</li>
<li style="margin-bottom: 1em;">
In the gimp-1.3 source directory, execute "autogen.sh && make"
<pre style="border: 1px solid purple; padding: 1ex;">% cd gimp ; ./autogen.sh && make</pre>
</li>
<li style="margin-bottom: 1em;">
You can install the resultant gimp, or you can run it in place.
</li>
</ul>
<p>
Enjoy! Comments, feedback, complaints to me: HELVETIX Mysterious.ORG
</p>