We know that around the world, our users have PC's of widely varying power. Rendering is the process in CG that can chew up CPU and disk space like no tomorrow. Especially in corporate environments, it is easy to fill up terabyte servers by uploading ten hour-long DV tapes and doing some editing. So, there are lots of options try to shoehorn a big job into a small PC by providing you with multiple sets of options that chunk up the work as best we can, while still preserving image integrity.
This page discusses the main options found on the Render panel, and subsequent pages give you more.
Enable this button to compute and render shadows. Shadows are cast by shadow-casting lights and are received by shadow-able materials. The results of this calculation are made available in the Shadow render pass. For more information on lights, materials, or render passes, please consult the application sections of the wiki.
Environmental mapping changes the background and color of objects based on the light cast by the world environment maps. Enable for more realistic rendering.
Raytracing is a more precise method of computing the color of a surface, especially reflective surfaces. It is enabled by clicking the Ray button.
Mode: All Modes
Panel: Render Context → Render
When raytracing a really big scene with small objects, render times can grow exponentially. To help keep render times down (but use more memory), you can increase the Octree memory allocation. When Raytracing is enabled (Ray button, next to Render button on the Render panel), the Octree select appears at the bottom of the panel, with selectable settings ranging up to 512.
The OctTree is a ray-tracing acceleration structure. It subdivides the whole scene into a regular 3D grid of cells and places every polys of every objects into their corresponding cell. When rendering, it is quicker to determine which cell a ray is intersecting and then test the polys in those cells instead of testing every polys in the scene.
When you have a large low-poly scene with a small high-poly model in the middle, if the octtree resolution is too small, most of the scene's poly that comes from the small high-poly model, end up in a very small number of cells. And so, even though it is relatively quick to figure which cell to test, when a cell contains a large number of polys, we gained nothing because all those polys must be tested.
On the other hand, if the octtree resolution is too large for a given scene, then the raytracer looses time checking for cells that contains no polys. That is why each scene have its own octtree resolution sweet spot that must be found experimentally.
So, use a high setting for a large open space with small areas that have high-poly structures, and low settings for scenes where the polys (faces) are evenly distributed. For more information, consult the Release Notes for Octree resolution
When light hits an object, some color spectrum of the light is absorbed and other colors are reflected to our eyes. Radiosity is when that light also hits an object close to it, giving color to it, which then in turn is sent to our eyes. Sometimes called color bleeding, because the color of one object bleeds onto the one next to it, radiosity gives much more photorealism.
Calculating a full size image takes time. For interim renders, Click the 75%, 50% or 25% boxes to render a smaller image (which takes less time). When looking at the render window, you can always expand it and roll your mousewheel to zoom in / expand the image.
Mode: All Modes
Panel: Render Context → Render
It is possible to render an image in pieces, one after the other, rather than all at one time. This can be useful for very complex scenes, where rendering small sections one after the other only requires computation of a small part of the scene, which uses less memory.
On a multi-core CPU, each part is assigned to a CPU/core, so setting up multiple parts, coupled with increasing the number of threads, speeds up render time by using all of your PC's processing power.
OptionsXparts and Yparts NumButtons in the Render Panel (Rendering by parts buttons.), you force Blender to divide your image into a grid of Xparts times Yparts sub-images, which are then rendered one after the other and finally assembled together.
Memory is allocated per thread; with each thread doing a full tile render. Almost all geometry (render faces/vertices) is checked for each tile it renders, giving some extra overhead. There's also thread tables for AO and area-shadow lamp sampling, precalculated and allocated in advance. Lastly; there's still quite some locking going on, for each memory allocation call to the operating system (malloc) for example.
A quick rule-of-thumb is to make sure the total number of threads renders less than one quarter of the entire image, to prevent too much memory allocated:
8 threads: use 64 tiles (for example, X and Y Parts = 8) 16 threads: use 128 tiles 128 threads: use 1024 tiles
Whether such giant amount of tiles (1024) gives unacceptable overhead is unknown, but quite likely. If you use heavy raytracing on relatively simple scenes it might work though. Again, if the tiles are square in terms of pixels, then Save Buffers can be used to ease memory.
Limitations & Work-arounds
Blender cannot handle more than 64 parts in the Y direction
The up-down button just below the ftype field lists the scenes in the file and allows you to link in another scene. When you select a scene, you will note that all the objects in that scene are shown in your 3D windows. They have a special outline and you cannot select them, but they are shown and will participate in the render. The linked scene can in turn link to a third scene, and so on infinitum; you can form a chain, linking scenes together for an ordered set of scenes to all be rendered together. This feature almost makes scenes akin to layers.
Use this feature for rendering complicated scenes, yet retaining the ability to quickly work on and test render only one major set of objects at a time by un-linking. The render is relative to the current scene's camera, so as long as all objects are positioned properly relative to 3D Space
This feature is useful for teamwork. For example, one team can be working on props and background, while another team works on characters. The backgrounds team can, at any time, link to the actor's scene, and make sure that the actors are not walking through tables and walls, etc.
Other Buttons and Options
- Clicking the Backbuff (off by default) makes blender use the image file specified above in the backbuf field as a background image.
- Edge button enables cartoon-style outlining of edges of objects. When clicked and enabled, The edge settings dynamic menu allows you to set the Edge Intensity (Eint) of the edge and its color via the RGB sliders (default:black).
- Threads enables multi-threaded rendering; great for multi-core and multi-processor systems. On an multi-processor PC, this allows the rendering work (a Thread) to be divided among each processor. If you have a dual-core PC (Intel or AMD), set this to 2 (and increase Xparts and Yparts)
- Disable Tex
- Using textures, either procedural or image, takes a tremendous amount of processing power. To speed up draft renders, enable this button
- Free Tex Images
- To save memory, enable the Free Tex Images so that texture images are cleaned out of memory.
- Render Location button grid
- The 3x3 Grid specifies where (generally) the render window should pop up.
- Save Buffers
- Save Buffers saves the intermediate layers and render pipeline images to disk as an OpenEXR file, in order to free up physical memory. Use this if you are running out of memory; there will be more hard disk cache used and hence rendering may take little longer because of I/O increases, but you will be able to render HUGE images on your PC.
|Error: Sorry...exr tile saving only allowed with equally sized parts|
|The XParts and YParts must divide the image up into square patches with respect to pixel size. For example, a 1920x1080 HD image is in a 16:9 ratio; 120 times 16:9 gives 1920x1080. So, an XParts of 16 and YParts of 9 would divy up the render into 144 patches that are 120 pixels square.|
- Other combinations for XParts:YParts for any sized image in a 16:9 aspect ratio are 64:36 (2304 patches), 80:45 (3600 patches), and 96:54 for over 5000 patches. Using XParts of 80 and YParts of 45, you can render a 3 million polygon image at 50% of HD using full textures and very complicated lighting (ED Scene 7 Shot 4) on a PC with 2G RAM.
- Render Display
- Render Display is a dynamic menu that lets you select where the image should be displayed
- Render Window (default) - In a pop-up window.
- Full Screen - Full-screen on your monitor.
- Image Editor - Piped directly into Blender's built-in Image Editor.
- When rendering to an Image Editor window or a popup Render Window, the grid of 9 buttons allows you to select the location of the window, either the window frame that will be used to become the Image Editor window, or the general location of the popup Render Window when it pops up.
- Dither: setting
- Dither numeric field (0 is off) specifies the amount of noise to inject into the picture.
- Extensions toggle button
- Extensions tells blender to add a file extension onto the output file based on the format of the picture. For example, frame 35 of a series of JPEG-encoded pictures would be named "tmp0035.jpg". You almost always want Blender to add the filetype extension so that the image is "recognized" by your operating system.
Checking Render Results
When Blender renders an image, it saves it in an internal buffer. To see the latest render, change one of your panes to a UV/Image Editor. In the IM: Image selector, select Render Result, and the window will display the latest render. To the right of the Image selector, you can also select a RenderLayer to view, and, if you have render passes enabled, the results of a specific pass.