[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22683] branches/blender2.5/blender/ release/ui/buttons_material.py: Material buttons tweaks

William Reynish william at reynish.com
Fri Aug 21 19:53:28 CEST 2009


Revision: 22683
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22683
Author:   billrey
Date:     2009-08-21 19:53:27 +0200 (Fri, 21 Aug 2009)

Log Message:
-----------
Material buttons tweaks

-Made Mirror and Transparency panels more consistent.
-Improved greying out, and better communicated the fact that alpha settings do work even if Ztransp/Ray Transp are not enabled. The results of low alpha and no Ztransp/Ray Transp look weird though - is this supposed to be supported?
-Added Flare panel for halo.
-Improved SSS panel.

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_material.py

Modified: branches/blender2.5/blender/release/ui/buttons_material.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_material.py	2009-08-21 17:35:35 UTC (rev 22682)
+++ branches/blender2.5/blender/release/ui/buttons_material.py	2009-08-21 17:53:27 UTC (rev 22683)
@@ -87,10 +87,12 @@
 				split = layout.split()
 	
 				col = split.column()
-				col.active = not mat.shadeless
-				col.itemR(mat, "ambient")
-				col.itemR(mat, "emit")
-				col.itemR(mat, "translucency")
+				sub = col.column()
+				sub.active = not mat.shadeless
+				sub.itemR(mat, "emit")
+				sub.itemR(mat, "ambient")
+				sub = col.column()
+				sub.itemR(mat, "translucency")
 				
 				col = split.column()
 				col.itemR(mat, "shadeless")	
@@ -119,7 +121,7 @@
 		
 		split = layout.split()
 		
-		col = split.column()
+		col = split.column(align=True)
 		col.itemL(text="Size:")
 		col.itemR(tan, "start_size", text="Root")
 		col.itemR(tan, "end_size", text="Tip")
@@ -128,11 +130,13 @@
 		sub = col.column()
 		sub.active = (not mat.shadeless)
 		sub.itemR(tan, "tangent_shading")
+		col.itemR(tan, "shape")
 		
 		col = split.column()
-		col.itemR(tan, "shape")
+		col.itemL(text="Shading:")
 		col.itemR(tan, "width_fade")
 		col.itemR(tan, "uv_layer")
+		col.itemS()
 		sub = col.column()
 		sub.active = (not mat.shadeless)
 		sub.itemR(tan, "surface_diffuse")
@@ -343,7 +347,9 @@
 	def draw_header(self, context):
 		layout = self.layout
 		sss = context.material.subsurface_scattering
-
+		mat = context.material
+		
+		layout.active = (not mat.shadeless)
 		layout.itemR(sss, "enabled", text="")
 	
 	def draw(self, context):
@@ -357,21 +363,22 @@
 		split = layout.split()
 		split.active = (not mat.shadeless)
 		
-		col = split.column(align=True)
+		col = split.column()
+		col.itemR(sss, "ior")
+		col.itemR(sss, "scale")
 		col.itemR(sss, "color", text="")
-		col.itemL(text="Blend:")
-		col.itemR(sss, "color_factor", text="Color")
-		col.itemR(sss, "texture_factor", text="Texture")
-		col.itemL(text="Scattering Weight:")
-		col.itemR(sss, "front")
-		col.itemR(sss, "back")
+		col.itemR(sss, "radius", text="RGB Radius")
 		
 		col = split.column()
 		sub = col.column(align=True)
-		sub.itemR(sss, "ior")
-		sub.itemR(sss, "scale")
-		col.itemR(sss, "radius", text="RGB Radius")
-		col.itemR(sss, "error_tolerance")
+		sub.itemL(text="Blend:")
+		sub.itemR(sss, "color_factor", text="Color")
+		sub.itemR(sss, "texture_factor", text="Texture")
+		sub.itemL(text="Scattering Weight:")
+		sub.itemR(sss, "front")
+		sub.itemR(sss, "back")
+		col.itemS()
+		col.itemR(sss, "error_tolerance", text="Error")
 
 class MATERIAL_PT_mirror(MaterialButtonsPanel):
 	__label__ = "Mirror"
@@ -402,20 +409,26 @@
 		col = split.column()
 		col.itemR(raym, "reflect", text="Reflectivity")
 		col.itemR(mat, "mirror_color", text="")
-		col.itemL(text="Fresnel:")
-		col.itemR(raym, "fresnel", text="Amount")
+		
+		
+		col = split.column()
+		col.itemR(raym, "fresnel")
 		sub = col.column()
 		sub.active = raym.fresnel > 0
 		sub.itemR(raym, "fresnel_factor", text="Blend")
+		
+		split = layout.split()
+		
+		col = split.column()
 		col.itemS()
+		col.itemR(raym, "distance", text="Max Dist")
+		col.itemR(raym, "depth")
 		col.itemS()
 		sub = col.split(percentage=0.4)
 		sub.itemL(text="Fade To:")
 		sub.itemR(raym, "fade_to", text="")
 		
 		col = split.column()
-		col.itemR(raym, "depth")
-		col.itemR(raym, "distance", text="Max Dist")
 		col.itemL(text="Gloss:")
 		col.itemR(raym, "gloss", text="Amount")
 		sub = col.column()
@@ -453,25 +466,24 @@
 		split = layout.split()
 		
 		col = split.column()
-		col.itemL(text="Transparency:")
 		row = col.row()
 		row.itemR(mat, "alpha")
-		row.active = mat.transparency
 		row = col.row()
+		row.active = mat.transparency and (not mat.shadeless)
 		row.itemR(mat, "specular_alpha", text="Specular")
-		row.active = mat.transparency and (not mat.shadeless)
 		
+		
 		col = split.column()
-		col.active = mat.transparency and (not mat.shadeless)
-		col.itemL(text="Fresnel:")
-		col.itemR(rayt, "fresnel", text="Amount")
+		col.active = (not mat.shadeless)
+		col.itemR(rayt, "fresnel")
 		sub = col.column()
 		sub.active = rayt.fresnel > 0
 		sub.itemR(rayt, "fresnel_factor", text="Blend")
 
 		if mat.transparency_method == 'RAYTRACE':
+			layout.itemS()
 			split = layout.split()
-			split.active = mat.transparency and (not mat.shadeless)
+			split.active = mat.transparency
 
 			col = split.column()
 			col.itemR(rayt, "ior")
@@ -522,24 +534,51 @@
 		sub.active = halo.ring
 		sub.itemR(halo, "rings")
 		sub.itemR(mat, "mirror_color", text="")
+		col.itemS()
 		col.itemR(halo, "lines")
 		sub = col.column()
 		sub.active = halo.lines
 		sub.itemR(halo, "line_number", text="Lines")
 		sub.itemR(mat, "specular_color", text="")
+		col.itemS()
 		col.itemR(halo, "star")
 		sub = col.column()
 		sub.active = halo.star
 		sub.itemR(halo, "star_tips")
-		col.itemR(halo, "flare_mode")
-		sub = col.column()
-		sub.active = halo.flare_mode
-		sub.itemR(halo, "flare_size", text="Size")
-		sub.itemR(halo, "flare_subsize", text="Subsize")
-		sub.itemR(halo, "flare_boost", text="Boost")
-		sub.itemR(halo, "flare_seed", text="Seed")
-		sub.itemR(halo, "flares_sub", text="Sub")
+		
+class MATERIAL_PT_flare(MaterialButtonsPanel):
+	__label__= "Flare"
+	COMPAT_ENGINES = set(['BLENDER_RENDER'])
+	
+	def poll(self, context):
+		mat = context.material
+		return mat and (mat.type == 'HALO') and (context.scene.render_data.engine in self.COMPAT_ENGINES)
+	
+	def draw_header(self, context):
+		layout = self.layout
+		
+		mat = context.material
+		halo = mat.halo
+		layout.itemR(halo, "flare_mode", text="")
+	
+	def draw(self, context):
+		layout = self.layout
+		
+		mat = context.material
+		halo = mat.halo
 
+		layout.active = halo.flare_mode
+		
+		split = layout.split()
+		
+		col = split.column()
+		col.itemR(halo, "flare_size", text="Size")
+		col.itemR(halo, "flare_boost", text="Boost")
+		col.itemR(halo, "flare_seed", text="Seed")
+		col = split.column()
+		col.itemR(halo, "flares_sub", text="Subflares")
+		col.itemR(halo, "flare_subsize", text="Subsize")
+
 bpy.types.register(MATERIAL_PT_context_material)
 bpy.types.register(MATERIAL_PT_preview)
 bpy.types.register(MATERIAL_PT_diffuse)
@@ -549,6 +588,7 @@
 bpy.types.register(MATERIAL_PT_mirror)
 bpy.types.register(MATERIAL_PT_sss)
 bpy.types.register(MATERIAL_PT_halo)
+bpy.types.register(MATERIAL_PT_flare)
 bpy.types.register(MATERIAL_PT_physics)
 bpy.types.register(MATERIAL_PT_strand)
 bpy.types.register(MATERIAL_PT_options)





More information about the Bf-blender-cvs mailing list