Some thoughts on feature additions future changes

I suspect that these suggestions might have to wait for v6, but here goes:

a redo of the GUI so that we have light text on a grey background, a context sensitive menu system that frees up more space for the canvas while simultaneously allowing more immediate access to the relevant tools.

Motion tracking and motion prediction for animations- this would also give image stabilization (and of course destabilization if used in the negative) another result would be very effective slow motion transformations

color mixing in the color selection palette

Color replacer- a selection based on color that would allow the user to replace or adjust that one color (with some "fuzziness" around the numerical value" It would be nice if this were a single step operation vs  select then move to the fixed color ImOp to pick the replacement color. 

color dithering - 12 bit, 8 bit, 1 bit --optimized and algo diffused and random

value only contrast adjustment

Chroma blur

3d orbiting particles- and perhaps some representation of the particles behavior so the user can see what the parameter changes are doing to the "brush" 

Paint that was "aware" of how thick it is. Yes z depth paint but intelligent so that it would take pressure to displace. In this way it might be able to paint over, drag through (minimal mixing around the brush bristles) or blend the paints.  I am visualizing this for thick oil like paints. 

Related would be wet paint lifting in watercolor like paints that would track how "wet" both the brush and the paint on canvas are. - these of course in SA fashion would be user definable -and possibly interactive. may be one holds down a w-hot key to indicate that the canvas should be wet until that key is released then it "dries" at a set(able) rate. The wetness of the brush would be a parameter in paint fill apply-modulation. Basically some control over how much pigment would be lifted and how far it would be carried with the new brush stroke. I am aware that to some extent this can be done in SA now, but the number of parameters that need to be adjusted is unwieldy. In addition to simplifying the process I am suggesting and improvement/extension of the dynamics

Dynamic interactive lighting- the ability to interactively drag a light source around the canvas and have it highlight/create shadows based on the z-depth of the paint. (even if 3d paint is not added this could be done based on an implied height map keyed to lum value). the light source could be interactive as to color and intensity as well as position. 

additional composite modes - around grey, or and xor, green screen composite, blue screen composite- perhaps related to the above color selection it could be a user selectable color composite; greater than and less than composites

an interactive numerical indicator on the size of the rectangle selection tool would be very useful in cropping to size- could show on canvas at selection corner or in a field off the canvas. Maybe this numerical indicator could be context dependent and show values for additional features

Better Beziers- where to begin with this request. Beziers in SA could be the door to vector drawing -InkScape like features, but there could be so much more as was originally envisioned in SA with using Beziers to replay strokes. I am aware that some improvements have been made but drawing a nice smooth curve is still too difficult. If you set the smooth setting high enough to get an interpolated curve it re-draws the intended line changing the path of the curve rather than just smoothing it(moves the apex for example). It would be nice to add a forcefield or magnetic tool that would assist the hand drawn curve in following edges of the source. Maybe this feature is only active if onionskin is on. Intelligent curve reduction for when the beziers have been auto created would be a fab addition. I am thinking more about "duplicate" lines rather than the current size based pruning. If a curve is occupying substantially the same space as another curve there could be a user adjustable curve reduction. user adjustments could be in the "fuzziness" of the definition of the "same space" as well as the number of curves allowed to exist in that space. Further there could be angular controls in selection of curves so for example all curves that sit on the screen at "n" angle or angle range could be selected - then of course warped or deleted (compute the implied angle of a random curve by the line defined by its end points)

Different size layers - this feature is key to a couple of related requests.  A) interactively warpable selections - warping the selection via a control box or points on the freeform selection- without having to go to the warp mode. B) free form custom image brushes - make a selection and use a hotkey to make that selection the current image brush. I am thinking of this as an extension of what is possible now where the user can "pick up" whatever is under the brush nib.

Stickers-  a special class of image brush/movie brush that actually exist in "sub"layers - so that one can pick them up reposition them and transform them independent of the rest of the canvas image. 

GPU acceleration of everything ! - some of the above suggestions will only be feasible in real time if they are GPU based. 

well that is what I have off the top of my head.. more to follow I am sure. 

Comment on the above or add your own Ideas. John is great at listening to his user base. 

You need to be a member of Studio Artist to add comments!

Join Studio Artist

Email me when people reply –

Replies

  • how about a dual paint "local" restriction such the stroke and secondary operation only effected the canvas within a definable pixel range of the paint nib as it was stroked.

    • That's an option i've been interested in adding for awhile.

      It's a little tricky, since the dual ops are built to process the entire canvas. Adding a localized auto-selection would be easier. But there would be speed advantages to only processing smaller sub blocks of the canvas right around the paint nib.

    •  If z- depth were built in then each stroke could be considered as on a sub-layer (that z-depth value) and the dual op could act on that sub-layer without effecting the entire image.

      The localized processing of the sub blocks right under or within a definable range from the nib would make for some interesting paint blends with certain of the dual ops.

      Glad you are figuring it out.

  • How about the ability to import SVG files as bezier curves?

    • in line with import SVG how about a generate paths from vectorizer option.

    • You can generate paths from vectorizer output. Turn on Path : Path Layer Record Options : Vectorizer.

    • ok so different menu choice under the dame drop down. I missed it because I was looking in the generate paths sub menu.

      While I am exploring :: what does Convert MSG to Embedded Path start do?  I mean does one have to run that command before running a preset with Path start::MSG start generator?

      I ask because I have an MSG scan which I would like to use to drive the paint synth, but I have been unable to figure out how. Perhaps not all MSG scans will create paths that can be followed, but this one looks like it should

    • I guess we could also add something under Generate Paths, like Generate Paths : from Vectorizer. So then you could just use one command in a PASeq. And it would work just like the from IpOp menu command there.

      The Path Layer Record Options have been there from the dawn of Studio Artist time. But they are more indirect. So you'd have to turn it on, then run the vectorizer with Mix set to 0 if you didn't want it to affect the canvas. And then remember to turn off the path layer record option.

      It's easy to forget you have them turned on, and then if you do forget you keep building up more and more paths in the bezier path frame for the layer as you keep working.

    • 2472663897?profile=RESIZE_1024x1024the msg scan that I would like to use to drive a paint synth preset

    • Which MSG processor did you use in your msg scan image above?

      ...

      The 'Convert MSG Scan to Embedded Path Start menu command does the following:

      Converts a msg path start scan paint preset to use embedded bezier paths for the path scan. 

      So, the MSG processor is used to generate a set of path start coordinates, that are then converted into bezier paths, and then stored in the internal bezier path memory associated with the paint preset. The path start generator for the preset is also changed to the "Start Point Internal Path Memory 1" option.

      At this point, you now have a preset that uses a fixed set of start points stored in the internal path memory. The start points originally came from running the MSG processor, but now they are now just a set of coordinates stored as really short bezier paths. One start point per bezier path.

      It's useful because you can then interpolate those start points over time in the PASeq timeline. Or you can switch to a different MSG preset to be used in some other way internally to the paint preset.

This reply was deleted.