[Bf-committers] Re: Displaying render result in Image Editor

Matt Ebb matt at mke3.net
Tue Jun 13 06:21:47 CEST 2006


This is great, thanks! I've been wondering if you were going to do it  
or not.

I'd love to be using it, but in my brief testing (yeah, not much time  
for user testing a week or so before freeze, cough cough :) I found a  
few nasty workflow problems with the behaviour of over-writing Image  
Editor content though, especially using it in conjunction with UV  
mapping. The main problem is that it's really bad for the render  
result to overwrite something that I'm working on in the image  
editor, and it makes this feature unusable for me in these situations:

* If you're not in UV face select mode at the time, but still have an  
image editor open, as you're working on a texture, just doing a test  
render will take over the texture that you're looking at (and  
possibly compare with the render).
* If you're using the compositor and have a 'Compositor' open in the  
Image Editor to view the output of your viewer nodes, doing a re- 
render (for example to update the layers after a change in the 3D  
geometry or lighting) will over-write your compositor viewer with the  
raw render result, which is most likely something that you don't care  
about looking at, at that stage.
* If the Image Editor is zoomed out very far (eg. working on a large  
texture) the render result will also be zoomed out very far, which is  
not very useful, and annoying if you have to constantly zoom in and  
out all the time.
* This is something probably more like a bug, but if you're in UV  
face select mode adjusting a UV layout, and render, the render will  
appear over the UV layout+image that you are working on, as it  
renders, then it disappears when the render has finished

In all of these cases, to get back to what you were trying to do  
beforehand requires you to go and hunt in the image datablock menu,  
which is very time consuming, disruptive and *annoying*. At the very  
least, one should be able to press ESC to return to whatever was  
shown in the Image Editor before the render result took over.

A situation that I would like would be that I have a Screen setup  
that contains an image window showing Render Result. When I press  
F12, the active screen automatically changes to that separate screen,  
then when the render is finished, I can press ESC to return to my  
previous Screen layout. Even better of course is if this was done in  
a non-blocking way, so I can keep working and navigating the Blender  
interface, but I guess that is a bit far off :)

Some other issues with this feature:

* The status line containing render statistics should not be drawn in  
the same colour as the Image Editor's background. It can be very  
misleading and can make the image shown look smaller than it actually  
is. See here:
http://mke3.net/blender/etc/render_stats_bg_prob.png

* This has the potential to be a great replacement for the 'J key'  
buffers, and it comes close, but doesn't succeed. The main drawback  
to the J key system is that it forces you to  decide *before* you do  
the render, if the image is going to be significant to store in a  
separate buffer for reference. This is backwards, since you won't  
know if the image is going to be one you really want to keep until  
after it's been rendered and you can actually see it!

Rendering to the image editor could be a great improvement on this,  
if only there was a way to save the currently displayed render result  
to a Blender image block in memory for future reference, which there  
unfortunately isn't :( It would be great if there was something like  
a [ 0 ] users button next to the Render Result name, that functioned  
like a normal std_libbuttons 'make a single user copy'. Then it would  
be great, you could keep two image editors open simultaneously to  
compare two different versions.

cheers

Matt


On 13/06/2006, at 00:39 AM, Ton Roosendaal wrote:

>  The flow, when invoking a Render, goes as follows:
>   - first it checks if there's an Image Editor visible displaying  
> the "Render
>     Result", if so then it uses that area-window.
>      (Use this option for dual-monitor setups for example, a render  
> will always
>      go to the same location then)
>   - else it checks if there's an Image Editor open in general, it then
>     assigns that window the "Render Result" Image.
>   - else: it searches for the largest Area in the screen, and turns  
> that into
>     a temporal Image Editor showing render output.



More information about the Bf-committers mailing list