mirror of https://github.com/GNOME/gimp.git
83 lines
3.5 KiB
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>
|