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>2010-10-28 00:09:50 +0400
committerMaurice Raybaud <mauriceraybaud@hotmail.fr>2010-10-28 00:09:50 +0400
commitc3828e7d063efe62d0d7f0ca6528c53cfab9d660 (patch)
tree45ac3575f355340bfa05ae32b5435d213e70fb2a /render_povray/ui.py
parent52551aa23aceaff22612ea9fd4ba1af518aea908 (diff)
first commit ever!
Diffstat (limited to 'render_povray/ui.py')
-rw-r--r--render_povray/ui.py179
1 files changed, 166 insertions, 13 deletions
diff --git a/render_povray/ui.py b/render_povray/ui.py
index 2d2a6d62..e48c038e 100644
--- a/render_povray/ui.py
+++ b/render_povray/ui.py
@@ -20,18 +20,18 @@ import bpy
# Use some of the existing buttons.
import properties_render
-properties_render.RENDER_PT_render.COMPAT_ENGINES.add('POVRAY_RENDER')
-properties_render.RENDER_PT_dimensions.COMPAT_ENGINES.add('POVRAY_RENDER')
-properties_render.RENDER_PT_antialiasing.COMPAT_ENGINES.add('POVRAY_RENDER')
-properties_render.RENDER_PT_output.COMPAT_ENGINES.add('POVRAY_RENDER')
+properties_render.RENDER_PT_render.COMPAT_ENGINES.add('POVRAY_37_RENDER')
+properties_render.RENDER_PT_dimensions.COMPAT_ENGINES.add('POVRAY_37_RENDER')
+properties_render.RENDER_PT_antialiasing.COMPAT_ENGINES.add('POVRAY_37_RENDER')
+properties_render.RENDER_PT_output.COMPAT_ENGINES.add('POVRAY_37_RENDER')
del properties_render
# Use only a subset of the world panels
import properties_world
-properties_world.WORLD_PT_preview.COMPAT_ENGINES.add('POVRAY_RENDER')
-properties_world.WORLD_PT_context_world.COMPAT_ENGINES.add('POVRAY_RENDER')
-properties_world.WORLD_PT_world.COMPAT_ENGINES.add('POVRAY_RENDER')
-properties_world.WORLD_PT_mist.COMPAT_ENGINES.add('POVRAY_RENDER')
+properties_world.WORLD_PT_preview.COMPAT_ENGINES.add('POVRAY_37_RENDER')
+properties_world.WORLD_PT_context_world.COMPAT_ENGINES.add('POVRAY_37_RENDER')
+properties_world.WORLD_PT_world.COMPAT_ENGINES.add('POVRAY_37_RENDER')
+properties_world.WORLD_PT_mist.COMPAT_ENGINES.add('POVRAY_37_RENDER')
del properties_world
# Example of wrapping every class 'as is'
@@ -39,7 +39,7 @@ import properties_material
for member in dir(properties_material):
subclass = getattr(properties_material, member)
try:
- subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ subclass.COMPAT_ENGINES.add('POVRAY_37_RENDER')
except:
pass
del properties_material
@@ -48,7 +48,7 @@ import properties_data_mesh
for member in dir(properties_data_mesh):
subclass = getattr(properties_data_mesh, member)
try:
- subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ subclass.COMPAT_ENGINES.add('POVRAY_37_RENDER')
except:
pass
del properties_data_mesh
@@ -57,7 +57,7 @@ import properties_texture
for member in dir(properties_texture):
subclass = getattr(properties_texture, member)
try:
- subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ subclass.COMPAT_ENGINES.add('POVRAY_37_RENDER')
except:
pass
del properties_texture
@@ -66,11 +66,20 @@ import properties_data_camera
for member in dir(properties_data_camera):
subclass = getattr(properties_data_camera, member)
try:
- subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ subclass.COMPAT_ENGINES.add('POVRAY_37_RENDER')
except:
pass
del properties_data_camera
+import properties_data_lamp
+for member in dir(properties_data_lamp):
+ subclass = getattr(properties_data_lamp, member)
+ try:
+ subclass.COMPAT_ENGINES.add('POVRAY_37_RENDER')
+ except:
+ pass
+del properties_data_lamp
+
class RenderButtonsPanel():
@@ -84,10 +93,154 @@ class RenderButtonsPanel():
rd = context.scene.render
return (rd.use_game_engine == False) and (rd.engine in cls.COMPAT_ENGINES)
+class MaterialButtonsPanel():
+ bl_space_type = 'PROPERTIES'
+ bl_region_type = 'WINDOW'
+ bl_context = "material"
+ # COMPAT_ENGINES must be defined in each subclass, external engines can add themselves here
+
+ @classmethod
+ def poll(cls, context):
+ mat = context.material
+ rd = context.scene.render
+ return (rd.use_game_engine == False) and (rd.engine in cls.COMPAT_ENGINES)
+
+########################################MR######################################
+class MATERIAL_PT_povray_mirrorIOR(MaterialButtonsPanel, bpy.types.Panel):
+ bl_label = "IOR Mirror"
+ COMPAT_ENGINES = {'POVRAY_37_RENDER'}
+
+ def draw_header(self, context):
+ scene = context.material
+
+ self.layout.prop(scene, "pov_mirror_use_IOR", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ mat = context.material
+ layout.active = mat.pov_mirror_use_IOR
+
+ if mat.pov_mirror_use_IOR:
+ split = layout.split()
+ col = split.column()
+ row = col.row()
+ row.alignment = 'CENTER'
+ row.label(text="The current Raytrace ")
+ row = col.row()
+ row.alignment = 'CENTER'
+ row.label(text="Transparency IOR is: "+str(mat.raytrace_transparency.ior))
+
+
+class MATERIAL_PT_povray_metallic(MaterialButtonsPanel, bpy.types.Panel):
+ bl_label = "metallic Mirror"
+ COMPAT_ENGINES = {'POVRAY_37_RENDER'}
+
+ def draw_header(self, context):
+ scene = context.material
+
+ self.layout.prop(scene, "pov_mirror_metallic", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ mat = context.material
+ layout.active = mat.pov_mirror_metallic
+
+class MATERIAL_PT_povray_conserve_energy(MaterialButtonsPanel, bpy.types.Panel):
+ bl_label = "conserve energy"
+ COMPAT_ENGINES = {'POVRAY_37_RENDER'}
+
+ def draw_header(self, context):
+ mat = context.material
+
+ self.layout.prop(mat, "pov_conserve_energy", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ mat = context.material
+ layout.active = mat.pov_conserve_energy
+
+class MATERIAL_PT_povray_iridescence(MaterialButtonsPanel, bpy.types.Panel):
+ bl_label = "iridescence"
+ COMPAT_ENGINES = {'POVRAY_37_RENDER'}
+
+ def draw_header(self, context):
+ mat = context.material
+
+ self.layout.prop(mat, "pov_irid_enable", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ mat = context.material
+ layout.active = mat.pov_irid_enable
+
+ if mat.pov_irid_enable:
+ split = layout.split()
+
+ col = split.column()
+ col.prop(mat, "pov_irid_amount", slider=True)
+ col.prop(mat, "pov_irid_thickness", slider=True)
+ col.prop(mat, "pov_irid_turbulence", slider=True)
+
+
+class MATERIAL_PT_povray_caustics(MaterialButtonsPanel, bpy.types.Panel):
+ bl_label = "Caustics"
+ COMPAT_ENGINES = {'POVRAY_37_RENDER'}
+
+
+ def draw_header(self, context):
+ mat = context.material
+
+ self.layout.prop(mat, "pov_caustics_enable", text="")
+
+ def draw(self, context):
+
+ layout = self.layout
+
+ mat = context.material
+ layout.active = mat.pov_caustics_enable
+ Radio = 1
+ if mat.pov_caustics_enable:
+ split = layout.split()
+
+ col = split.column()
+ col.prop(mat, "pov_refraction_type")
+ if mat.pov_refraction_type=="0":
+ mat.pov_fake_caustics = False
+ mat.pov_photons_refraction = False
+ mat.pov_photons_reflection = True
+ elif mat.pov_refraction_type=="1":
+ mat.pov_fake_caustics = True
+ mat.pov_photons_refraction = False
+ col.prop(mat, "pov_fake_caustics_power", slider=True)
+ elif mat.pov_refraction_type=="2":
+ mat.pov_fake_caustics = False
+ mat.pov_photons_refraction = True
+ col.prop(mat, "pov_photons_dispersion", slider=True)
+ col.prop(mat, "pov_photons_reflection")
+
+
+
+## col.prop(mat, "pov_fake_caustics")
+## if mat.pov_fake_caustics:
+## col.prop(mat, "pov_fake_caustics_power", slider=True)
+## mat.pov_photons_refraction=0
+## else:
+## col.prop(mat, "pov_photons_refraction")
+## if mat.pov_photons_refraction:
+## col.prop(mat, "pov_photons_dispersion", slider=True)
+## Radio = 0
+## mat.pov_fake_caustics=Radio
+## col.prop(mat, "pov_photons_reflection")
+####TODO : MAKE THIS A real RADIO BUTTON (using EnumProperty?)
+######################################EndMR#####################################
class RENDER_PT_povray_radiosity(RenderButtonsPanel, bpy.types.Panel):
bl_label = "Radiosity"
- COMPAT_ENGINES = {'POVRAY_RENDER'}
+ COMPAT_ENGINES = {'POVRAY_37_RENDER'}
def draw_header(self, context):
scene = context.scene