You already know it and some have already seen it in action in Basecamp convention. But we couldn't leave this feature without its technology announcement! Besides, this post serves as an introduction to the new functionality.
For the interactive render in Thea (IR for short), we worked on two directions. First, we wanted it to be fully integrated with our OpenGL viewport, so that navigation works just like in the OpenGL mode. This way, IR could be used the same way with the same navigation controls. By default, rendering will be done in full view mode, but IR can also work in windowed mode - this way, large scenes can still be interactively rendered without delay.
Besides the integration with the viewport, IR needed also full integration with the rest of UI. So that almost every function on Thea, works in co-operation with IR. This way, we can tweak settings, apply materials, etc. with IR keep working in the background.
The second direction we had to work on, was the render method itself. We wanted a new mode that would be as fast as possible especially in initial updates. Although this can be parameterized to use unbiased methods as well, for IR we developed two "lighter" techniques. One progressive biased and a Monte Carlo unbiased; of particular importance is the progressive biased method (which is the default one) and has the best response. This method makes a combination of fast-computed bounces with user-guided GI (ambient occlusion+lighting) to give a very nice feedback, even on old machines without any extraordinary hardware.
Some info will be given now for IR setup in Thea Render. The IR toolbar is now available right from the beginning. The first thing you would like to do is to open a scene, and press the Auto-Start button on the toolbar. This way, Thea will keep rendering as you tweak the scene. There is only an important thing to remember; when running for the first time and whenever there is a change in models in the scene (like deleting or duplicating objects), IR will take more time to start due to a full initialization needed in this case. Let it refresh once, and you are ready to navigate and tweak materials interactively.
Attachment:
File comment: Interactive render toolbar in OpenGL viewport during a rendering.
IRToolbar.jpg [ 183.88 KiB | Viewed 5265 times ]
Quick explanation of buttons as shown in the image above.
Synchronous DisplayThat's the button you will most probably enable in order to move around and keep the IR display. If enabled, navigation/feedback may be slower (depending on scene), but it usually gives better perception of the scene because it does not switch to wireframe (waiting for IR buffer to be available). On the other hand, for less powerful machines with low frame rate, you will probably leave this disabled in order to be still able to navigate fluently in the scene.
Auto StartWhen enabled, IR will automatically restart with every tweak or move you are making. Handy, if you want continuous feedback.
Start RenderIf you want IR to start just once, use this button instead.
Stop RenderIf you are satisfied with the image, use this button to stop rendering.
Resolution SetupThis button pops up a new menu, where user can select from 3 different windowed modes, camera frame rendering and overlay. The overlay is when the full OpenGL viewport is drawn and it's the default rendering mode. The camera frame mode is also a special one; as you can guess, rendering takes place only inside the camera frame and it is the only one where you can render an exact resolution as given in the Current View camera resolution parameter. This is the way to render high resolutions with IR that do not fit in your screen.
Save ImageSave rendered image. Note, this function is disabled when Thea runs in demo mode.
Display ModeThis button has effect only in camera frame and overlay rendering modes. In these cases, pressing this button switches between showing rendered image, showing OpenGL wireframe and blending between rendered image and OpenGL wireframe. If IR is in progress, rendering does not stop though (only what the user sees) - it may be a good idea, if using IR for production render, to switch to showing OpenGL wireframe to avoid spending CPU power on image refresh.
Refresh ImageThis button can be used to manually force a refresh of IR image. Its major usage is when IR is stopped and user tweaks post processing controls.
Attachment:
File comment: Interactive render settings.
IRSettings.jpg [ 48.02 KiB | Viewed 5265 times ]
Here is the new content panel. Notice now that the properties panel has four different buttons which are related to: selection, current view, IR settings and display settings. The reason that we added the three latter is because user needs to often tweak these settings and so, from here, he/she can do it easily (without, for example, searching to click the current view camera in the scene list).
You can also see in the above image, the settings used by IR. The Engine Core here can be toggled between Progressive (BSD) and Unbiased* (MC) methods (the * in the unbiased is because user can affect the unbiasedness with Tracing Depth and Caustics computation). Of particular importance for the Progressive (BSD) method is the ambient occlusion/lighting which adds user-guided GI to the scene. User can also increase the diffuse and glossy depth to get a more accurate result approaching unbiased rendering.
In the next days, a tutorial will also be available showing Thea IR in action and explaining in depth these settings and related functionality.
best regards