Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'light_field_tools/__init__.py')
-rw-r--r--light_field_tools/__init__.py119
1 files changed, 119 insertions, 0 deletions
diff --git a/light_field_tools/__init__.py b/light_field_tools/__init__.py
new file mode 100644
index 00000000..862c399b
--- /dev/null
+++ b/light_field_tools/__init__.py
@@ -0,0 +1,119 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+
+bl_info = {
+ 'name': 'Light Field Tools',
+ 'author': 'Aurel Wildfellner',
+ 'description': 'Tools to create a light field camera and projector',
+ 'version': (0, 2, 1),
+ 'blender': (2, 5, 7),
+ 'api': 36103,
+ 'location': 'View3D > Tool Shelf > Light Field Tools',
+ 'url': 'http://www.jku.at/cg/',
+ "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/Render/Light_Field_Tools",
+ "tracker_url": "http://projects.blender.org/tracker/index.php?func=detail&aid=25719",
+ 'category': 'Render'
+}
+
+
+if "bpy" in locals():
+ import imp
+ imp.reload(light_field_tools)
+else:
+ from . import light_field_tools
+
+
+import bpy
+from bpy.props import *
+
+
+# global properties for the script, mainly for UI
+class LightFieldPropertyGroup(bpy.types.PropertyGroup):
+ angle = FloatProperty(
+ name="Angle",
+ # 40 degrees
+ default=0.69813170079,
+ min=0,
+ # 172 degrees
+ max=3.001966313430247,
+ precision=2,
+ subtype = 'ANGLE',
+ description="Field of view of camera and angle of beam for spotlights")
+ row_length = IntProperty(
+ name="Row Length",
+ default=1,
+ min=1,
+ description="The number of cameras/lights in one row")
+ create_handler = BoolProperty(
+ name="Handler",
+ default=True,
+ description="Creates an empty object, to which the cameras and spotlights are parented to")
+ do_camera = BoolProperty(
+ name="Create Camera",
+ default=True,
+ description="A light field camera is created")
+ animate_camera = BoolProperty(
+ name="Animate Camera",
+ default=True,
+ description="Animates a single camera, so not multiple cameras get created")
+ do_projection = BoolProperty(
+ name="Create Projector",
+ default=False,
+ description="A light field projector is created")
+ texture_path = StringProperty(
+ name="Texture Path",
+ description="From this path textures for the spotlights will be loaded",
+ subtype='DIR_PATH')
+ light_intensity = FloatProperty(
+ name="Light Intensity",
+ default=2,
+ min=0,
+ precision=3,
+ description="Total intensity of all lamps")
+ # blending of the spotlights
+ spot_blend = FloatProperty(
+ name="Blend",
+ default=0,
+ min=0,
+ max=1,
+ precision=3,
+ description="Blending of the spotlights")
+ # spacing in pixels on the focal plane
+ spacing = IntProperty(
+ name="Spacing",
+ default=10,
+ min=0,
+ description="The spacing in pixels between two cameras on the focal plane")
+
+
+
+def register():
+ # register properties
+ bpy.utils.register_class(LightFieldPropertyGroup)
+ bpy.types.Scene.lightfield = bpy.props.PointerProperty(type=LightFieldPropertyGroup)
+ bpy.utils.register_module(__name__)
+
+
+def unregister():
+ bpy.utils.unregister_module(__name__)
+
+
+if __name__ == "__main__":
+ register()
+