your wishlist for paint tools

Have you seen the Krita GSOC 2011 suggestions list? Project: 3D Material Image Maps & Project: Painting and Separation of 3D Textures are interesting. The GEGL team wants to expand GEGL beyond just The Gimp and have mentioned Krita and Blender as possible targets in their forum.

I would love all of those! but realistically, since i don’t use painting mode often, the only real problem for me is the current speed. It’s a bit too slow. But everyone else’s suggestions would greatly contribute to the painting tools.

Actually the post below says what i want :slight_smile:

I wish that i would paint different materials, not just textures. Like paint ahiny metal material on matte wood material etc.

Fast brushes, soft and hard, opacity and size for pen pressure. Layers, masking and adjustment layers.

As far as PSD support, I thought since Gimp supports opening and saving to .psd, then we might be able to utilize the same open code(?)…

As for me, I think the ability to rotate a clone source in the image editor would be good, as well as add the shift-click function of Gimp or Photoshop to the brush tools, so you get the straight line from last click point. Painting with the brush affecting the image as if a blending mode would be good…

yes the shift-clich for straight lines would be perfect.

i think adjusments layers is asking WAAAY to much for blender.

A fair few people mentioning performance issues while painting, the MyPaint brush engine would be half this battle I think. Bitmap based brush systems are generally really heavy on performance. Open up GIMP and try to paint on an A4 sized image really quickly with a slightly complex brush and you’ll see the problem, try the same thing in MyPaint and its lightning quick. This isn’t just limited to the GIMP however, even after Photoshop’s vastly improved brush engine it can still lag up on large scale paintings.

Now correct me if im wrong, but using the same system in a 3d environment will be a massive killer on performance, it’s taken 3 iterations of Photoshop’s 3d painting to get even close to usable, and, well on anything other than low poly models its basicly useless with a mid range system.

I’m not sure the brush engine that is the problem or the actual process of storing the paint data in the image file. Anyhow, I’m sure there are a lot of improvements that can be made, Mari for example could handle enormous resolutions despite bitmap painting… I know there has been discussions about integration Open Image IO or GEGL, but my coding knowledge is far to basic to tell whether that’s a good idea or not :slight_smile:

For Mari it doesn’t project straight onto the mesh like Blender does (or would appear to do), it writes it to a buffer and then after the paint stroke is finished does it get projected onto the mesh, now since that isn’t in real-time (the projection) and it could run in a seperate thread to painting to the buffer it shouldn’t be effected by lag, or at least the user won’t see that lag when painting.

Getting a system like this in Blender would be very nice, although I imagine it probably would be quite a task to program this in the space offered by this GSOC.

Having myPaint brush system in Blender would still give you that lag as the bitmap data is projected onto the mesh in real-time, while painting, probably in the same thread (I don’t think it’s set-up to be multi-threaded).

here is a big one

how about adding some new GPU functions that would make it faster
for those who are equipped with GPU?

that could make a big difference in terms of speed

I think the paint tools need to cover the fundamentals before adding more advanced features. Currently, the feature set of Windows 95’s Paint app has better coverage of the fundamentals.

  • Fill with Color
  • Text
  • Line (and Rubber-band Line)
  • Curve
  • Rectangle
  • Circle
  • Ellipse
  • Polygon
  • Rounded Rectangle

These are all very helpful fundamental tools. I think we should get the basics covered before piling on more advanced tools. It makes using the advanced tools more effective. For example, without proper line tools, a lot of texturing that could be done in Blender is done elsewhere to avoid having to use two apps for one simple task.

Quoted for agreement. I personally use Blender for these things, but my work around is crazy, and I know it is not what others would do. I use a separate scene and set up my camera space to look straight down, and I use shadeless materials on curves and meshes positioned to get my setups. I render to an image, and then open the image back up in the other scene where I map to uv and texture paint. I know, crazy.

Thanks for this thread! Right now, my priority would be, from top to bottom:

· Better Performance
· Better Usability* (faster/easier access to common parameters/tools/presets)
· Basic tools (selection, shapes, fill, gradient…)
· Textures also as brush alpha (as Lamoot pointed, we need to use the samples with different colors! a simple “just alpha”? checkbox on the texture panel would be great)
· Rotation & Color “dynamics” (This is why those are useful: http://vimeo.com/19134420)
· Symmetry (the workaround mirroring geometry produces artifacts in the middle)
· Layers/masking (although MichaelW’s addon is looking great already…)
· Color adjustments (the nodes idea would be awesome with proper usability)
· Color selectors (different to choose from, with a popup versions i.e.: http://www.pasteall.org/pic/10876)

  • I would be keen to help with gui/usability design if anyone cares.

Zafio - would love to see gui/usability mockups.

Two more ideas:

  • Fix for an issue when you paint on intersecting faces, you don’t get all the pixels covered.
    http://dl.dropbox.com/u/1482587/SGD/paint_bug.png

  • A shortcut, or an option to toggle object’s wire display over the textured display in paint mode. Basicly the same thing as found in properties window object tab -> display panel -> wire. Sometimes you’d like to have a quick glance of how the mesh is like when painting the texture.

Lamoot: For the first issue you can try to deactivate Occlude at Project Paint panel.

Also a quick point - would be good to know if it is brush performance or the ‘go straight’ bug. Ie if CPU is capping out or if the GPU is getting taxed, etc. What size texture image is performance a problem on, etc.

Hi! Lets get started with a mockup for the brush panel:
http://zafio.com/tmp/blender/tpaint_mockup/tpm_01.jpg
(Control is based on LMB selection config)

1 - Slicker and quicker access to tool presets (user should be able to put the big one back)

Control: · LMB to select
· MMB horizontal Drag (over the thumbnails) to browse/slide items
· RMB to open full browser (D)
· SHIFT+D (over thumbnail) Duplicates item
· X (over thumbnail) deletes preset
· ALT (over thumbnail) shows a bigger thumbnail

2 - Slicker and more integrated color sample, behaves like current one.

3 - It would extend the panel to be like (B) Having other frequently used options. Although it might be confusing being there (gotta think another way…)

4 - It would rotate each sample/stroke (we need it!)

5 - “R” = random, so each parameter would have a random value on each sample/stroke.

6 & 7 - We need to have textures and “brush alphas” separated!
So we can use plain color with different shapes or textures (textures would still have alpha info!)
Control would be same as (1)

8 - Maybe not the best location, but this would let the user vary the color on each stroke (it would be awesome if also affected texture info)

D - Same control as (1) it would also automatically grow bigger depending on the number of items, but would be nice to have a resize handle in the bottom right corner…

That’s it for now.

I like LetterRip’s suggestions.

A gradient tool would be convenient.

Cavity tool would be really sweet.
Masking would be very handy.
Fill tool would be useful too.
Painting an entire scene would be incredibly beneficial.

Overall I like the current ability to edit in an outside app.

That being said I am a little skeptical of the blend modes in all apps. My observation is that blend modes in different applications are different.

So I am not sure I would be crazy about the the ability to have layers with blend modes.

( I have a tendency to collapse layers as I work anyways. What can be created once can be created again )

i would add some better brushes to blender. but concentrate on a simpler and faster bridge with GIMP and photoshop. gimp and photoshop have fantastic tools.