Flip the Render #48117

Open
opened 7 years ago by AndrewPrice · 25 comments

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: new button location.png
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: ![new button location.png](https://archive.blender.org/developer/F302306/new_button_location.png)
Poster

Changed status to: 'Open'

Changed status to: 'Open'
Poster

Added subscriber: @AndrewPrice

Added subscriber: @AndrewPrice
Owner

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Owner

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.
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.
Poster

Thanks Campbell.

  • 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.
  • 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.
  • 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?
Thanks Campbell. - 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. - 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. - 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?

Added subscriber: @davidmcsween

Added subscriber: @davidmcsween

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.

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.
Collaborator

Added subscriber: @Blendify

Added subscriber: @Blendify

Added subscriber: @RayMairlot

Added subscriber: @RayMairlot
Collaborator
  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.
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
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
Owner

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).

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 ](http://askubuntu.com/questions/19936/how-can-i-mirror-flip-display-output), 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).

Added subscriber: @PawelLyczkowski-1

Added subscriber: @PawelLyczkowski-1

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.

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.
Owner

@PawelLyczkowski-1, 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.
@AndrewPrice, what do you think?

@PawelLyczkowski-1, 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. @AndrewPrice, what do you think?
Collaborator

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:

Capture.PNG

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: ![Capture.PNG](https://archive.blender.org/developer/F303435/Capture.PNG)

In #48117#369821, @Blendify wrote:
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.

> In #48117#369821, @Blendify wrote: > 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.
Owner

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.

This patch adds flipping to the display panel (on the right hand side of the aspect ratio), [P349](https://archive.blender.org/developer/P349.txt). 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.

Added subscriber: @CraigJones

Added subscriber: @CraigJones

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.

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.
Poster

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

@ideasman42 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.

Oh man just saw this! I guess I didn't have email notifications turned on. Sorry for missing all these comments! @ideasman42 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.

Added subscriber: @candreacchio

Added subscriber: @candreacchio

@AndrewPrice you need to apply the patch before compiling blender, it is not part of the main blender code yet.

@AndrewPrice you need to apply the patch before compiling blender, it is not part of the main blender code yet.

Added subscriber: @ChristopherAnderssarian

Added subscriber: @ChristopherAnderssarian

Removed subscriber: @RayMairlot

Removed subscriber: @RayMairlot
lichtwerk removed the
legacy module/User Interface
label 5 hours ago
lichtwerk removed the
Interest/User Interface
label 5 hours ago
Sign in to join this conversation.
No Label
Interest/Alembic
Interest/Animation & Rigging
Interest/Asset Browser
Interest/Asset Browser Project Overview
Interest/Audio
Interest/Automated Testing
Interest/Blender Asset Bundle
Interest/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
Interest/Eevee & Viewport
Interest/Freestyle
Interest/Geometry Nodes
Interest/Grease Pencil
Interest/ID Management
Interest/Images & Movies
Interest/Import/Export
Interest/Line Art
Interest/Masking
Interest/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
Interest/Python API
Interest/Render & Cycles
Interest/Render Pipeline
Interest/Sculpt, Paint & Texture
Interest/Text Editor
Interest/Translations
Interest/Triaging
Interest/Undo
Interest/USD
Interest/User Interface
Interest/UV Editing
Interest/VFX & Video
Interest/Video Sequencer
Interest/Virtual Reality
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Tracker Curfew
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
Module › Animation & Rigging
Module › Core
Module › Development Management
Module › Eevee & Viewport
Module › Grease Pencil
Module › Modeling
Module › Nodes & Physics
Module › Pipeline, Assets & IO
Module › Platforms, Builds, Tests & Devices
Module › Python API
Module › Render & Cycles
Module › Sculpt, Paint & Texture
Module › Triaging
Module › User Interface
Module › VFX & Video
Platform/FreeBSD
Platform/Linux
Platform/macOS
Platform/Windows
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
No Milestone
No project
No Assignees
9 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#48117
Loading…
There is no content yet.