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:
authorMaurice Raybaud <mauriceraybaud@hotmail.fr>2014-02-28 01:53:01 +0400
committerMaurice Raybaud <mauriceraybaud@hotmail.fr>2014-02-28 01:53:01 +0400
commit07d031412aa45b04998741f2810bb335ada228f9 (patch)
tree9ba844847753cadb7c0aeeb58fd2bf23cc3638c6 /render_povray/__init__.py
parentd030a694ef323390861bfff6d2bacdadd41dd484 (diff)
*added: first implementation of procedural textures
*fixed:packed textures *fixed:library objects
Diffstat (limited to 'render_povray/__init__.py')
-rw-r--r--render_povray/__init__.py469
1 files changed, 460 insertions, 9 deletions
diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index 1aa72f17..15184b67 100644
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -20,19 +20,17 @@
bl_info = {
"name": "POV-Ray 3.7",
- "author": "Campbell Barton, Silvio Falcinelli, Maurice Raybaud, "
- "Constantin Rahn, Bastien Montagne",
+ "author": "Campbell Barton, Silvio Falcinelli, Maurice Raybaud, Constantin Rahn, Bastien Montagne",
"version": (0, 0, 9),
"blender": (2, 57, 0),
"location": "Render > Engine > POV-Ray 3.7",
"description": "Basic POV-Ray 3.7 integration for blender",
- "warning": "both POV-Ray 3.7 and this script are beta",
+ "warning": "this script is RC",
"wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
- "Scripts/Render/POV-Ray",
+ "Scripts/Render/POV-Ray",
"tracker_url": "https://developer.blender.org/T23145",
"category": "Render"}
-
if "bpy" in locals():
import imp
imp.reload(ui)
@@ -43,6 +41,7 @@ else:
import bpy
from bpy.types import (AddonPreferences,
PropertyGroup,
+ Operator,
)
from bpy.props import (StringProperty,
BoolProperty,
@@ -56,7 +55,8 @@ else:
from . import render
from . import update_files
-
+def string_strip_hyphen(name):
+ return name.replace("-", "")
###############################################################################
# Scene POV properties.
@@ -67,6 +67,10 @@ class RenderPovSettingsScene(PropertyGroup):
name="Enable Tempfiles",
description="Enable the OS-Tempfiles. Otherwise set the path where to save the files",
default=True)
+ pov_editor = BoolProperty(
+ name="POV-Ray editor",
+ description="Don't Close POV-Ray editor after rendering (Overriden by /EXIT command)",
+ default=False)
deletefiles_enable = BoolProperty(
name="Delete files",
description="Delete files after rendering. Doesn't work with the image",
@@ -419,7 +423,452 @@ class RenderPovSettingsTexture(PropertyGroup):
# "it points at. pigment {} expected",
# default="")
-
+
+
+ tex_pattern_type = EnumProperty(
+ name="Texture_Type",
+ description="Choose between Blender or POV-Ray parameters to specify texture",
+ items= (('agate', 'Agate', '','PLUGIN', 0), ('aoi', 'Aoi', '', 'PLUGIN', 1),
+ ('average', 'Average', '', 'PLUGIN', 2), ('boxed', 'Boxed', '', 'PLUGIN', 3),
+ ('bozo', 'Bozo', '', 'PLUGIN', 4), ('bumps', 'Bumps', '', 'PLUGIN', 5),
+ ('cells', 'Cells', '', 'PLUGIN', 6), ('crackle', 'Crackle', '', 'PLUGIN', 7),
+ ('cubic', 'Cubic', '', 'PLUGIN', 8), ('cylindrical', 'Cylindrical', '', 'PLUGIN', 9),
+ ('density_file', 'Density', '(.df3)', 'PLUGIN', 10),
+ ('dents', 'Dents', '', 'PLUGIN', 11),
+ ('fractal', 'Fractal', '', 'PLUGIN', 12),
+ ('function', 'Function', '', 'PLUGIN', 13),
+ ('gradient', 'Gradient', '', 'PLUGIN', 14), ('granite', 'Granite', '', 'PLUGIN', 15),
+ ('image_pattern', 'Image pattern', '', 'PLUGIN', 16),
+ ('leopard', 'Leopard', '', 'PLUGIN', 17),
+ ('marble', 'Marble', '', 'PLUGIN', 18), ('onion', 'Onion', '', 'PLUGIN', 19),
+ ('pigment_pattern', 'pigment pattern', '', 'PLUGIN', 20),
+ ('planar', 'Planar', '', 'PLUGIN', 21), ('quilted', 'Quilted', '', 'PLUGIN', 22),
+ ('radial', 'Radial', '', 'PLUGIN', 23), ('ripples', 'Ripples', '', 'PLUGIN', 24),
+ ('slope', 'Slope', '', 'PLUGIN', 25),
+ ('spherical', 'Spherical', '', 'PLUGIN', 26), ('spiral1', 'Spiral1', '', 'PLUGIN', 27),
+ ('spiral2', 'Spiral2', '', 'PLUGIN', 28), ('spotted', 'Spotted', '', 'PLUGIN', 29),
+ ('waves', 'Waves', '', 'PLUGIN', 30), ('wood', 'Wood', '', 'PLUGIN', 31),
+ ('wrinkles', 'Wrinkles', '', 'PLUGIN', 32), ('brick', "Brick", "", 'PLUGIN', 33),
+ ('checker', "Checker", "", 'PLUGIN', 34), ('hexagon', "Hexagon", "", 'PLUGIN', 35),
+ ('object', "Mesh", "", 'PLUGIN', 36), ('emulator', "Internal Emulator", "", 'PLUG', 37)),
+ default='emulator',
+ )
+
+ magnet_style = EnumProperty(
+ name="Magnet style",
+ description="magnet or julia",
+ items=(('mandel', "Mandelbrot", ""),('julia', "Julia", "")),
+ default='julia')
+
+ magnet_type = IntProperty(
+ name="Magnet_type",
+ description="1 or 2",
+ min=1, max=2, default=2)
+
+ warp_types = EnumProperty(
+ name="Warp Types",
+ description="Select the type of warp",
+ items=(('PLANAR', "Planar", ""), ('CUBIC', "Cubic", ""), ('SPHERICAL', "Spherical", ""),
+ ('TOROIDAL', "Toroidal", ""), ('CYLINDRICAL', "Cylindrical", ""),('NONE', "None", "No indentation")),
+ default='NONE')
+
+ warp_orientation = EnumProperty(
+ name="Warp Orientation",
+ description="Select the orientation of warp",
+ items=(('x', "X", ""), ('y', "Y", ""), ('z', "Z", "")),
+ default='y')
+
+ wave_type = EnumProperty(
+ name="Waves type",
+ description="Select the type of waves",
+ items=(('ramp', "Ramp", ""), ('sine', "Sine", ""), ('scallop', "Scallop", ""), ('cubic', "Cubic", ""),
+ ('poly', "Poly", ""), ('triangle', 'Triangle', "")),
+ default='ramp')
+
+ gen_noise = IntProperty(
+ name="Noise Generators",
+ description="Noise Generators",
+ min=1, max=3, default=1)
+
+ warp_dist_exp = FloatProperty(
+ name="Distance exponent",
+ description="Distance exponent",
+ min=0.0, max=100.0, default=1.0)
+
+ warp_tor_major_radius = FloatProperty(
+ name="Major radius",
+ description="Torus is distance from major radius",
+ min=0.0, max=5.0, default=1.0)
+
+
+ warp_turbulence_x = FloatProperty(
+ name="Turbulence X",
+ description="Turbulence X",
+ min=0.0, max=5.0, default=0.0)
+
+ warp_turbulence_y = FloatProperty(
+ name="Turbulence Y",
+ description="Turbulence Y",
+ min=0.0, max=5.0, default=0.0)
+
+ warp_turbulence_z = FloatProperty(
+ name="Turbulence Z",
+ description="Turbulence Z",
+ min=0.0, max=5.0, default=0.0)
+
+ modifier_octaves = IntProperty(
+ name="Turbulence octaves",
+ description="Turbulence octaves",
+ min=1, max=10, default=1)
+
+ modifier_lambda = FloatProperty(
+ name="Turbulence lambda",
+ description="Turbulence lambda",
+ min=0.0, max=5.0, default=1.00)
+
+ modifier_omega = FloatProperty(
+ name="Turbulence omega",
+ description="Turbulence omega",
+ min=0.0, max=10.0, default=1.00)
+
+ modifier_phase = FloatProperty(
+ name="Phase",
+ description="The phase value causes the map entries to be shifted so that the map starts and ends at a different place.",
+ min=0.0, max=2.0, default=0.0)
+
+ modifier_frequency = FloatProperty(
+ name="Frequency",
+ description="The frequency keyword adjusts the number of times that a color map repeats over one cycle of a pattern.",
+ min=0.0, max=25.0, default=2.0)
+
+ modifier_turbulence = FloatProperty(
+ name="Turbulence",
+ description="Turbulence",
+ min=0.0, max=5.0, default=2.0)
+
+ modifier_numbers = IntProperty(
+ name="Numbers",
+ description="Numbers",
+ min=1, max=27, default=2)
+
+ modifier_control0 = IntProperty(
+ name="Control0",
+ description="Control0",
+ min=0, max=100, default=1)
+
+ modifier_control1 = IntProperty(
+ name="Control1",
+ description="Control1",
+ min=0, max=100, default=1)
+
+ brick_size_x = FloatProperty(
+ name="Brick size x",
+ description="",
+ min=0.0000, max=1.0000, default=0.2500)
+
+ brick_size_y = FloatProperty(
+ name="Brick size y",
+ description="",
+ min=0.0000, max=1.0000, default=0.0525)
+
+ brick_size_z = FloatProperty(
+ name="Brick size z",
+ description="",
+ min=0.0000, max=1.0000, default=0.1250)
+
+ brick_mortar = FloatProperty(
+ name="Mortar",
+ description="Mortar",
+ min=0.000, max=1.500, default=0.01)
+
+ julia_complex_1 = FloatProperty(
+ name="Julia Complex 1",
+ description="",
+ min=0.000, max=1.500, default=0.360)
+
+ julia_complex_2 = FloatProperty(
+ name="Julia Complex 2",
+ description="",
+ min=0.000, max=1.500, default=0.250)
+
+ f_iter = IntProperty(
+ name="Fractal Iteration",
+ description="",
+ min=0, max=100, default=20)
+
+ f_exponent = IntProperty(
+ name="Fractal Exponent",
+ description="",
+ min=2, max=33, default=2)
+
+ f_ior = IntProperty(
+ name="Fractal Interior",
+ description="",
+ min=1, max=6, default=1)
+
+ f_ior_fac = FloatProperty(
+ name="Fractal Interior Factor",
+ description="",
+ min=0.0, max=10.0, default=1.0)
+
+ f_eor = IntProperty(
+ name="Fractal Exterior",
+ description="",
+ min=1, max=8, default=1)
+
+ f_eor_fac = FloatProperty(
+ name="Fractal Exterior Factor",
+ description="",
+ min=0.0, max=10.0, default=1.0)
+
+ grad_orient_x= IntProperty(
+ name="Gradient orientation X",
+ description="",
+ min=0, max=1, default=0)
+
+ grad_orient_y= IntProperty(
+ name="Gradient orientation Y",
+ description="",
+ min=0, max=1, default=1)
+
+ grad_orient_z= IntProperty(
+ name="Gradient orientation Z",
+ description="",
+ min=0, max=1, default=0)
+
+ pave_sides = EnumProperty(
+ name="Pavement sides",
+ description="",
+ items=(('3', "3", ""), ('4', "4", ""), ('6', "6", "")),
+ default='3')
+
+ pave_pat_2= IntProperty(
+ name="Pavement pattern 2",
+ description="maximum: 2",
+ min=1, max=2, default=2)
+
+ pave_pat_3= IntProperty(
+ name="Pavement pattern 3",
+ description="maximum: 3",
+ min=1, max=3, default=3)
+
+ pave_pat_4= IntProperty(
+ name="Pavement pattern 4",
+ description="maximum: 4",
+ min=1, max=4, default=4)
+
+ pave_pat_5= IntProperty(
+ name="Pavement pattern 5",
+ description="maximum: 5",
+ min=1, max=5, default=5)
+
+ pave_pat_7= IntProperty(
+ name="Pavement pattern 7",
+ description="maximum: 7",
+ min=1, max=7, default=7)
+
+ pave_pat_12= IntProperty(
+ name="Pavement pattern 12",
+ description="maximum: 12",
+ min=1, max=12, default=12)
+
+ pave_pat_22= IntProperty(
+ name="Pavement pattern 22",
+ description="maximum: 22",
+ min=1, max=22, default=22)
+
+ pave_pat_35= IntProperty(
+ name="Pavement pattern 35",
+ description="maximum: 35",
+ min=1, max=35, default=35)
+
+ pave_tiles= IntProperty(
+ name="Pavement tiles",
+ description="If sides = 6, maximum tiles 5!!!",
+ min=1, max=6, default=1)
+
+ pave_form= IntProperty(
+ name="Pavement form",
+ description="",
+ min=0, max=4, default=0)
+
+ #########FUNCTIONS#########################################################################################################################
+ #########FUNCTIONS#########################################################################################################################
+
+ func_list = EnumProperty(
+ name="Functions",
+ description="Select the function for create pattern",
+ items=(('NONE', "None", "No indentation"),
+ ("f_algbr_cyl1","Algbr cyl1",""), ("f_algbr_cyl2","Algbr cyl2",""),
+ ("f_algbr_cyl3","Algbr cyl3",""), ("f_algbr_cyl4","Algbr cyl4",""),
+ ("f_bicorn","Bicorn",""), ("f_bifolia","Bifolia",""),
+ ("f_blob","Blob",""), ("f_blob2","Blob2",""),
+ ("f_boy_surface","Boy surface",""), ("f_comma","Comma",""),
+ ("f_cross_ellipsoids","Cross ellipsoids",""), ("f_crossed_trough","Crossed trough",""),
+ ("f_cubic_saddle","Cubic saddle",""), ("f_cushion","Cushion",""),
+ ("f_devils_curve","Devils curve",""), ("f_devils_curve_2d","Devils curve 2d",""),
+ ("f_dupin_cyclid","Dupin cyclid",""), ("f_ellipsoid","Ellipsoid",""),
+ ("f_enneper","Enneper",""), ("f_flange_cover","Flange cover",""),
+ ("f_folium_surface","Folium surface",""), ("f_folium_surface_2d","Folium surface 2d",""),
+ ("f_glob","Glob",""), ("f_heart","Heart",""),
+ ("f_helical_torus","Helical torus",""), ("f_helix1","Helix1",""),
+ ("f_helix2","Helix2",""), ("f_hex_x","Hex x",""),
+ ("f_hex_y","Hex y",""), ("f_hetero_mf","Hetero mf",""),
+ ("f_hunt_surface","Hunt surface",""), ("f_hyperbolic_torus","Hyperbolic torus",""),
+ ("f_isect_ellipsoids","Isect ellipsoids",""), ("f_kampyle_of_eudoxus","Kampyle of eudoxus",""),
+ ("f_kampyle_of_eudoxus_2d","Kampyle of eudoxus 2d",""), ("f_klein_bottle","Klein bottle",""),
+ ("f_kummer_surface_v1","Kummer surface v1",""), ("f_kummer_surface_v2","Kummer surface v2",""),
+ ("f_lemniscate_of_gerono","Lemniscate of gerono",""), ("f_lemniscate_of_gerono_2d","Lemniscate of gerono 2d",""),
+ ("f_mesh1","Mesh1",""), ("f_mitre","Mitre",""),
+ ("f_nodal_cubic","Nodal cubic",""), ("f_noise3d","Noise3d",""),
+ ("f_noise_generator","Noise generator",""), ("f_odd","Odd",""),
+ ("f_ovals_of_cassini","Ovals of cassini",""), ("f_paraboloid","Paraboloid",""),
+ ("f_parabolic_torus","Parabolic torus",""), ("f_ph","Ph",""),
+ ("f_pillow","Pillow",""), ("f_piriform","Piriform",""),
+ ("f_piriform_2d","Piriform 2d",""), ("f_poly4","Poly4",""),
+ ("f_polytubes","Polytubes",""), ("f_quantum","Quantum",""),
+ ("f_quartic_paraboloid","Quartic paraboloid",""), ("f_quartic_saddle","Quartic saddle",""),
+ ("f_quartic_cylinder","Quartic cylinder",""), ("f_r","R",""),
+ ("f_ridge","Ridge",""), ("f_ridged_mf","Ridged mf",""),
+ ("f_rounded_box","Rounded box",""), ("f_sphere","Sphere",""),
+ ("f_spikes","Spikes",""), ("f_spikes_2d","Spikes 2d",""),
+ ("f_spiral","Spiral",""), ("f_steiners_roman","Steiners roman",""),
+ ("f_strophoid","Strophoid",""), ("f_strophoid_2d","Strophoid 2d",""),
+ ("f_superellipsoid","Superellipsoid",""), ("f_th","Th",""),
+ ("f_torus","Torus",""), ("f_torus2","Torus2",""),
+ ("f_torus_gumdrop","Torus gumdrop",""), ("f_umbrella","Umbrella",""),
+ ("f_witch_of_agnesi","Witch of agnesi",""), ("f_witch_of_agnesi_2d","Witch of agnesi 2d","")),
+
+ default='NONE')
+
+ func_x = FloatProperty(
+ name="FX",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_plus_x = EnumProperty(
+ name="Func plus x",
+ description="",
+ items=(('NONE', "None", ""), ('increase', "*", ""), ('plus', "+", "")),
+ default='NONE')
+
+ func_y = FloatProperty(
+ name="FY",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_plus_y = EnumProperty(
+ name="Func plus y",
+ description="",
+ items=(('NONE', "None", ""), ('increase', "*", ""), ('plus', "+", "")),
+ default='NONE')
+
+ func_z = FloatProperty(
+ name="FZ",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_plus_z = EnumProperty(
+ name="Func plus z",
+ description="",
+ items=(('NONE', "None", ""), ('increase', "*", ""), ('plus', "+", "")),
+ default='NONE')
+
+ func_P0 = FloatProperty(
+ name="P0",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P1 = FloatProperty(
+ name="P1",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P2 = FloatProperty(
+ name="P2",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P3 = FloatProperty(
+ name="P3",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P4 = FloatProperty(
+ name="P4",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P5 = FloatProperty(
+ name="P5",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P6 = FloatProperty(
+ name="P6",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P7 = FloatProperty(
+ name="P7",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P8 = FloatProperty(
+ name="P8",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ func_P9 = FloatProperty(
+ name="P9",
+ description="",
+ min=0.0, max=25.0, default=1.0)
+
+ #########################################
+ tex_rot_x = FloatProperty(
+ name="Rotate X",
+ description="",
+ min=-180.0, max=180.0, default=0.0)
+
+ tex_rot_y = FloatProperty(
+ name="Rotate Y",
+ description="",
+ min=-180.0, max=180.0, default=0.0)
+
+ tex_rot_z = FloatProperty(
+ name="Rotate Z",
+ description="",
+ min=-180.0, max=180.0, default=0.0)
+
+ tex_mov_x = FloatProperty(
+ name="Move X",
+ description="",
+ min=-100000.0, max=100000.0, default=0.0)
+
+ tex_mov_y = FloatProperty(
+ name="Move Y",
+ description="",
+ min=-100000.0, max=100000.0, default=0.0)
+
+ tex_mov_z = FloatProperty(
+ name="Move Z",
+ description="",
+ min=-100000.0, max=100000.0, default=0.0)
+
+ tex_scale_x = FloatProperty(
+ name="Scale X",
+ description="",
+ min=0.0, max=10000.0, default=1.0)
+
+ tex_scale_y = FloatProperty(
+ name="Scale Y",
+ description="",
+ min=0.0, max=10000.0, default=1.0)
+
+ tex_scale_z = FloatProperty(
+ name="Scale Z",
+ description="",
+ min=0.0, max=10000.0, default=1.0)
###############################################################################
# Object POV properties.
###############################################################################
@@ -530,10 +979,12 @@ class PovrayPreferences(AddonPreferences):
layout = self.layout
layout.prop(self, "filepath_povray")
+
+
def register():
bpy.utils.register_module(__name__)
-
+ #bpy.types.TEXTURE_PT_context_texture.prepend(TEXTURE_PT_povray_type)
bpy.types.Scene.pov = PointerProperty(type=RenderPovSettingsScene)
bpy.types.Material.pov = PointerProperty(type=RenderPovSettingsMaterial)
bpy.types.Texture.pov = PointerProperty(type=RenderPovSettingsTexture)
@@ -544,7 +995,7 @@ def register():
def unregister():
bpy.utils.unregister_module(__name__)
-
+ #bpy.types.TEXTURE_PT_context_texture.remove(TEXTURE_PT_povray_type)
del bpy.types.Scene.pov
del bpy.types.Material.pov
del bpy.types.Texture.pov