Blender Git Commit Log
Git Commits -> Revision f68b0dd
Revision f68b0dd by Ton Roosendaal (master) February 27, 2006, 12:39 (GMT) |
Recoded Panorama rendering. The old implementation was added quite hackish (talking about 10 yr ago). You also had to make a small image slice, which was extended Xparts in size. That also required to adjust the camera angle. Very clumsy. Now; when enabling the Panorama option, it will automatically apply the panorama effect on the vertically aligned tiles. You can just enable or disable the "Pano" button, to get a subtle lens effect like this: (without pano) http://www.blender.org/bf/rt.jpg (with pano) http://www.blender.org/bf/rt1.jpg For Panorama render, the minimum slice size has been hardcoded to be 8 pixels. The XParts button goes up to 512 to allow that. In practice, rendering 64 slices will already give very good images for a wide angle lens of 90 degrees, the curvature of straight lines then is equal to a circle of 256 points. Rendering a full 360 degree panorama you do by creating an extreme wide angle camera. The theory says camera-lens 5 should do 360 degrees, but for some reason my tests reveil it's 5.1... there's a rounding error somewhere, maybe related to the clipping plane start? Will look at that later. :) Also note that for each Xpart slice, the entire database needs to be rotated around camera to correct for panorama, on huge scenes that might give some overhead. Threaded render goes fine for Panorama too, but it can only render the vertically aligned parts in parallel. For the next panorama slice it has to wait for all threads of the current slice to be ready. On reading old files, I convert the settings to match as closely as possible the new situation. Since I cannot bump up the version #, the code detects for old panorama by checking for the image size. If image width is smaller than height, it assumes it's an old file (only if Panoroma option was set). |
Commit Details:
Full Hash: f68b0ddb2a22034aab35adf4fd862a1da66938e8
SVN Revision: 6934
Parent Commit: 534ee9e
Lines Changed: +169, -97
13 Modified Paths:
/source/blender/blenloader/intern/readfile.c (+13, -0) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+1, -1) (Diff)
/source/blender/python/api2_2x/sceneRender.c (+3, -1) (Diff)
/source/blender/render/intern/include/renderdatabase.h (+1, -1) (Diff)
/source/blender/render/intern/include/renderpipeline.h (+1, -0) (Diff)
/source/blender/render/intern/include/render_types.h (+10, -4) (Diff)
/source/blender/render/intern/source/initrender.c (+28, -9) (Diff)
/source/blender/render/intern/source/pipeline.c (+93, -30) (Diff)
/source/blender/render/intern/source/pixelshading.c (+0, -7) (Diff)
/source/blender/render/intern/source/rendercore.c (+13, -9) (Diff)
/source/blender/render/intern/source/renderdatabase.c (+3, -17) (Diff)
/source/blender/src/buttons_scene.c (+2, -2) (Diff)
/source/blender/src/writemovie.c (+1, -16) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+1, -1) (Diff)
/source/blender/python/api2_2x/sceneRender.c (+3, -1) (Diff)
/source/blender/render/intern/include/renderdatabase.h (+1, -1) (Diff)
/source/blender/render/intern/include/renderpipeline.h (+1, -0) (Diff)
/source/blender/render/intern/include/render_types.h (+10, -4) (Diff)
/source/blender/render/intern/source/initrender.c (+28, -9) (Diff)
/source/blender/render/intern/source/pipeline.c (+93, -30) (Diff)
/source/blender/render/intern/source/pixelshading.c (+0, -7) (Diff)
/source/blender/render/intern/source/rendercore.c (+13, -9) (Diff)
/source/blender/render/intern/source/renderdatabase.c (+3, -17) (Diff)
/source/blender/src/buttons_scene.c (+2, -2) (Diff)
/source/blender/src/writemovie.c (+1, -16) (Diff)