Flip the Render
Open, LowPublic

Description

I proposed this idea to Campbell via email and he said it sounded reasonable enough to add here...

The idea: In the image editor, when the Rendered Result is displayed, pressing F will flip the render horizontally. This is a common action that many digital painters use in Photoshop to refresh their eyes and see new flaws in their work.

Some notes:

  • It will should only work in the Rendered Result, not on regular images
  • All tools that normally work in Rendered Result, should work here as well. (rendered border, sampling image color, painting)
  • Only Flip X. I've tried Flipping Y before, but I haven't found it to be that helpful in the artistic process. Could be added later though if people want it?
  • Should apply the Flip state to all Slots. Eg. If flipped in Slot 1, when you change to slot 2 it will also be flipped. If you turn Flip off in Slot 2, it will also be off in Slot 1 and all slots.
  • To remove the potential confusion for users who flipped it by accidentally pressing F but don't know the hotkey, a new button should display in the toolbar. Here:

Details

Type
Design
Andrew Price (andrewprice) updated the task description. (Show Details)
Andrew Price (andrewprice) raised the priority of this task from to Low.
Andrew Price (andrewprice) moved this task to Backlog on the User Interface board.
Andrew Price (andrewprice) set Type to Design.

Own notes on this feature:

  • Would be good to have some feedback from other artists (is this useful for guys in the blender institute for eg?)
  • What other space types might this apply to (Sequencer, Movie Clip Editor?).
  • Even with the button in the header, I suspect users will accidentally press this and not notice the button is pressed (We had quite a few reports from users who accidentally enabled Manipulate Center Points option), also the header is already quite full.

Thanks Campbell.

  1. Don't know about Blender Institute, but I know that Gleb Alexandrov already does flipping for his renders. He clips the camera with Ctrl+M, X then re-renders. But agreed would be nicer if it did this in the Image editor so you don't need to re-render.
  2. Other spaces: Hadn't thought about this. I don't use the Sequencer or Movie Clip editor myself, so somebody else will have to weigh in.
  3. Header button: I suspect users could still accidentally hit it and not see the button, but I can't think of a more obvious solution that doesn't introduce more problems. I think a button is better than zero feedback at all though right?

Flip X,Y in Movie Clip editor would be useful for handling footage shot inverted (upside mounted camera). Sometimes features you are tracking are hard to make out when upside down.
All other areas that Movie Clip appears you can flip it to check (Compositor and VSE) except the MCE.

VSE quick flip of total image would be nice for testing composition but of course you can flip elements (strips) there already, just not globally (total output).

If the flip is available to the UV/Image Viewer then the compositor output and viewer node could already do it.

  1. I think it is a good addition if applied correctly
  2. There is already an option to set this per strip In the sequencer.
  3. I think I would be fine to place the this in the properties region or under the view menu.

I believe that the suggestion is to create an artist aid, as such a per strip flip is not ideal. The current implementation allows you to 'render' the flip as a composition or effect. You absolutely don't want that to accidentally happen to your media (by leaving the flip view active). Sometimes you want to see or read media or image on its side, perhaps a 90 degree rotate view should be included?

  1. flip only affects display
  2. flip should not be rendered out
  3. flip should affect X and Y axis
  4. should include a 90 deg and 270 deg rotations

To brainstorm a bit... theres no reason this state necessarily needs to be stored on disk, it could be a temporary state which is active only while the keys held, and de-activated on release.
To avoid having to implement this for every view, we could flip the entire window contents, that means you get animation playback, sequencer ... etc all views... for free.

This would be a temporary state you would activate, blender would keep running - you could view the contents and exit on release... pressing escape... whatever.
If flipping the entire window may be too distracting, it could be done for the active region's contents. (just the main view, not the toolbars or header).

There are good reasons not to do this (am not suggesting we _should_), nevertheless good to consider some different options :)

Note: If you're on Linux you can flip the monitor using xrandr, this could be tested as an addon quite easily to see if the functionality is useful.

(Would be good to get some feedback from UI team here).

The Editor is called Image Editor, and we already have some rudimentary image editing commands in it (color inverting). I would see no harm in adding Flip Horizontal and Flip Vertical next to it (can have the F shortcut still) that work like a real image editing command. This would be helpful not only for render previewing then, but for general use as well.

I don't think full window flipping is needed or a good practice.

@Paweł Łyczkowski (plyczkowski), We could add various image editing options (flip, rotate scale... etc), but think its not ideal for viewing.

  • If you want to quickly compare different renders (JKey)... you need to flip each one.
  • If you want to save the render, you'll have to un-flip too (or not, maybe its handy to save flipped... but not convinced of this).

Having said that... if we do support flipping the image data, maybe its good enough, even if not ideal for using as a preview.
@Andrew Price (andrewprice), what do you think?

If a user wants to save a render flipped they can do that in the compositor.

For the ideas of placing an icon in the header, I think I would be better to add the image in the properties tab:

For the ideas of placing an icon in the header, I think I would be better to add the image in the properties tab

I could live with that.

This patch adds flipping to the display panel (on the right hand side of the aspect ratio), P349.

Though its pretty much a hack, it does work for rendering, grease pencil, sample line and even painting...
However, I rather limit the use-cases we have to support here, so this could be modified only to work for rendered images.

Interesting. As a painter, I have helped make a small addon with some macros I use for flipping an image plane when painting in the 3d view since the image Editor had not supported this (yet). I use the flip x for seeing problems with my painting and the forms, but even more so I use the flip y for comparing to my source image also flipped y to catch problems with negative space and eliminating errors when thinking 'eye', 'nose', or other feature and working from knowledge instead of observation.

This does spark my interest, and is useful if also possible for paint mode, I suppose without Edit mode since UV would possibly misalign. If only for rendered images, maybe later i can dig in and hack more with python.

Oh man just saw this! I guess I didn't have email notifications turned on. Sorry for missing all these comments!

@Campbell Barton (campbellbarton) that's awesome!
I just downloaded the latest build (b72aef9) but I couldn't find it. Tried pressing F and looking in properties and toolbar but couldn't see anything. I tried reading your code, but (not surprisingly) I couldn't follow it sorry :P What am I doing wrong?

Regarding your questions:
If you want to save the render, you'll have to un-flip too (or not, maybe its handy to save flipped... but not convinced of this).
Maybe only testing will tell, but I think saving it as unflipped regardless of state makes the most sense to me.

Also I'd agree with Pawel that flipping the whole window wouldn't be desirable, because you want to keep your eyes in one spot and flip back and forth to see the difference. Flipping the whole window would be jarring and a little confusing. But I think you hinted at that anyway.

@Andrew Price (andrewprice) you need to apply the patch before compiling blender, it is not part of the main blender code yet.