Blender Git Commit Log

Git Commits -> Revision d7fbe03

Revision d7fbe03 by Dalai Felinto (master)
May 4, 2012, 16:20 (GMT)
Fisheye Camera for Cycles

For sample images see:
http://www.dalaifelinto.com/?p=399 (equisolid)
http://www.dalaifelinto.com/?p=389 (equidistant)

The 'use_panorama' option is now part of a new Camera type: 'Panorama'.
Created two other panorama cameras:

- Equisolid: most of lens in the market simulate this lens - e.g. Nikon, Canon, ...)
this works as a real lens up to an extent. The final result takes the
sensor dimensions into account also.
.:. to simulate a Nikon DX2S with a 10.5mm lens do:
sensor: 23.7 x 15.7
fisheye lens: 10.5
fisheye fov: 180
render dimensions: 4288 x 2848

- Equidistant: this is not a real lens model. Although the old equidistant lens simulate
this lens. The result is always as a circular fisheye that takes the whole sensor
(in other words, it doesn't take the sensor into consideration).
This is perfect for fulldomes ;)

For the UI we have 10 to 360 as soft values and 10 to 3600 as hard values (because we can).


Reference material:
http://www.hdrlabs.com/tutorials/downloads_files/HDRI%20for%20CGI.pdf
http://www.bobatkins.com/photography/technical/field_of_view.html

Note, this is not a real simulation of the light path through the lens.
The ideal solution would be this:
https://graphics.stanford.edu/wikis/cs348b-11/Assignment3
http://www.graphics.stanford.edu/papers/camera/


Thanks Brecht for the fix, suggestions and code review.
Kudos for the dome community for keeping me stimulated on the topic since 2009 ;)

Patch partly implemented during lab time at VisGraf, IMPA - Rio de Janeiro.

Commit Details:

Full Hash: d7fbe03a8a128408c86687ef34273adddccdb347
SVN Revision: 46287
Parent Commit: b6edcc4
Lines Changed: +262, -43

18 Modified Paths:

/intern/cycles/app/cycles_xml.cpp (+16, -2) (Diff)
/intern/cycles/blender/addon/enums.py (+6, -0) (Diff)
/intern/cycles/blender/addon/properties.py (+19, -0) (Diff)
/intern/cycles/blender/blender_camera.cpp (+45, -5) (Diff)
/intern/cycles/kernel/kernel_camera.h (+30, -12) (Diff)
/intern/cycles/kernel/kernel_montecarlo.h (+51, -0) (Diff)
/intern/cycles/kernel/kernel_path.h (+6, -1) (Diff)
/intern/cycles/kernel/kernel_types.h (+19, -2) (Diff)
/intern/cycles/render/camera.cpp (+21, -1) (Diff)
/intern/cycles/render/camera.h (+9, -0) (Diff)
/release/scripts/startup/bl_ui/properties_data_camera.py (+10, -4) (Diff)
/source/blender/blenkernel/intern/camera.c (+1, -1) (Diff)
/source/blender/blenlib/intern/uvproject.c (+1, -1) (Diff)
/source/blender/blenloader/intern/readfile.c (+12, -0) (Diff)
/source/blender/collada/CameraExporter.cpp (+11, -5) (Diff)
/source/blender/makesdna/DNA_camera_types.h (+3, -2) (Diff)
/source/blender/makesrna/intern/rna_camera.c (+1, -6) (Diff)
/source/blender/modifiers/intern/MOD_uvproject.c (+1, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021