See below- On 4 Feb 2001, Sven Neumann wrote: > > There needs to be a way to select a texture before advanced tools can > > be added to The GIMP. I propose to create a new dialog box similar > > to the pattern selector. Instead of containing tilable RGB pixmaps, it > > will contain tileable greyscale heightfield pixmaps. These textures will > > be used by some tools to simulate, for example, paper grain. .... > Sounds like a reasonable idea if and only if we make almost all paint tools > use this texture. Are there any algorithms which have proven to fit into > the Gimp paint_core? I haven't poked into the paint_core too deeply, however here's an algorithm that should be easy to integrate: Subtract the texture from the already subpixel and pressure adjusted brush mask, clipping below at zero. Use the results as the new mask. Basically the arithmetic looks like this, assuming a mask value of zero means no composition and a texture value of 0 represents the highest peak: new_mask[x][y] = MAX (mask[x][y] - texture[x + offset_x][y + offset_y], 0) If you set wax = 0% and opacity = 100% in DigiPencil, you will see the effect described by the above algorithm. > Before you think about writing code, we are are designing an abstract > GimpData object at the moment which will be the parent of all those brush, > pattern, gradient, ... stuff. Those data objects will go into a GimpContainer > (which has just appeared in CVS) which will handle the problems of keeping > names unique, etc. We will also provide views on these objects so all data > previews and all sort of brush, pattern, gradient, ... -dialogs can reuse > the same code. Very cool, that should simplify the process of creating a texture selector greatly. In addition to providing UI elements for the user, there also needs to be an API for scripts and the plug-ins to change the texture. Thanks for the input, David