summaryrefslogtreecommitdiffstats
path: root/devel-docs/gih.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devel-docs/gih.txt51
1 files changed, 51 insertions, 0 deletions
diff --git a/devel-docs/gih.txt b/devel-docs/gih.txt
new file mode 100644
index 0000000..ca5ae0d
--- /dev/null
+++ b/devel-docs/gih.txt
@@ -0,0 +1,51 @@
+Gimp Image Pipe Format
+
+The gih format is use to store a series of brushes, and some extra info
+for how to use them.
+
+Basically, the format is real simple. It is a text header, followed
+by a series of gbr files, all concatenated together.
+
+An image pipe can be thought of as an n-dimensional array of brushes.
+Each dimension is indexed when the pipe is used in painting by some
+parameter, eg an incremental counter, a random value, pointing device
+pen pressure,tilt or velocity , etc.
+
+An idea for how to implement editing of image pipes (with GIMP) is
+that each layer of the edited image representing the pipe is divided
+conceptually (and visualized by guides) into equal-sized elements,
+each element containing one pixmap brush. The typical cases are only
+one layer, with an array of brushes, or many layers, with just one
+brush per layer. (For instance something produced by some animator.)
+
+The header format
+================
+
+First line is the name of the pipe.
+Second line is the number of brushes in file, followed by the contents of
+the gimp-image-pipe-parameters parasite (a text string)
+
+ie
+===========================
+Fire
+6 ncells:6 step:20 dim:1 cols:3 rows:2 rank0:6 selection:incremental
+===========================
+
+The rest is just gbr files catted in.
+
+Making a gih file:
+
+ 1. Create a series of gbr files. Note these do not
+ need to be the same size.
+
+ 2. Create a text header like above.
+
+ 3. Combine them all together:
+
+ cat header brush1.gbr brush2.gbr brush3.gbr > foo.gih
+
+
+Or use the GIH plug-in to save a brush pipe from an image.
+
+
+That's about it for now.