[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21764] branches/blender2.5/blender: 2.5: Texture Buttons
Brecht Van Lommel
brecht at blender.org
Tue Jul 21 14:57:56 CEST 2009
Revision: 21764
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21764
Author: blendix
Date: 2009-07-21 14:57:55 +0200 (Tue, 21 Jul 2009)
Log Message:
-----------
2.5: Texture Buttons
* World and Lamp previews now working here too.
* Experiment with list template, showing only icons. Unfortunately
texture icon render crashes combined with preview render so it
shows all icons the same.
* Influence panels updated, with slider for each option. The values
are still linked though, will fix that later.
* Image texture controls a bit more complete, still WIP.
* Color ramp back.
Modified Paths:
--------------
branches/blender2.5/blender/release/ui/buttons_texture.py
branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
branches/blender2.5/blender/source/blender/editors/interface/interface_templates.c
branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c
branches/blender2.5/blender/source/blender/makesdna/DNA_lamp_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_material_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_texture_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_world_types.h
branches/blender2.5/blender/source/blender/makesrna/intern/rna_lamp.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_material.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_texture.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui_api.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_world.c
Modified: branches/blender2.5/blender/release/ui/buttons_texture.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_texture.py 2009-07-21 12:38:01 UTC (rev 21763)
+++ branches/blender2.5/blender/release/ui/buttons_texture.py 2009-07-21 12:57:55 UTC (rev 21764)
@@ -16,10 +16,16 @@
def draw(self, context):
layout = self.layout
tex = context.texture
- mat = context.material
+ ma = context.material
+ la = context.lamp
+ wo = context.world
- if mat:
- layout.template_preview(tex, parent=mat)
+ if ma:
+ layout.template_preview(tex, parent=ma)
+ elif la:
+ layout.template_preview(tex, parent=la)
+ elif wo:
+ layout.template_preview(tex, parent=wo)
else:
layout.template_preview(tex)
@@ -43,16 +49,11 @@
if ma or la or wo:
row = layout.row()
if ma:
- row.template_list(ma, "textures", ma, "active_texture_index")
+ row.template_list(ma, "textures", ma, "active_texture_index", type="ICONS")
elif la:
- row.template_list(la, "textures", la, "active_texture_index")
+ row.template_list(la, "textures", la, "active_texture_index", type="ICONS")
elif wo:
- row.template_list(wo, "textures", wo, "active_texture_index")
- """if ma or la or wo:
- col = row.column(align=True)
- col.itemO("texture.new", icon="ICON_ZOOMIN", text="")
- #col.itemO("object.material_slot_remove", icon="ICON_ZOOMOUT", text="")
- """
+ row.template_list(wo, "textures", wo, "active_texture_index", type="ICONS")
split = layout.split(percentage=0.65)
@@ -97,21 +98,30 @@
col = split.column()
col.itemR(tex, "texture_coordinates", text="")
- if tex.texture_coordinates == 'UV':
- row = layout.row()
- row.itemR(tex, "uv_layer")
+ if tex.texture_coordinates == 'ORCO':
+ """
+ ob = context.object
+ if ob and ob.type == 'MESH':
+ split = layout.split(percentage=0.3)
+ split.itemL(text="Mesh:")
+ split.itemR(ob.data, "texco_mesh", text="")
+ """
+ elif tex.texture_coordinates == 'UV':
+ split = layout.split(percentage=0.3)
+ split.itemL(text="Layer:")
+ split.itemR(tex, "uv_layer", text="")
elif tex.texture_coordinates == 'OBJECT':
- row = layout.row()
- row.itemR(tex, "object")
+ split = layout.split(percentage=0.3)
+ split.itemL(text="Object:")
+ split.itemR(tex, "object", text="")
- if textype.type in ('IMAGE', 'ENVIRONMENT_MAP'):
+ if ma:
split = layout.split(percentage=0.3)
col = split.column()
col.itemL(text="Projection:")
col = split.column()
col.itemR(tex, "mapping", text="")
- if ma:
split = layout.split()
col = split.column()
@@ -147,89 +157,76 @@
wo = context.world
textype = context.texture
tex = context.texture_slot
+
+ def factor_but(layout, active, toggle, factor, name):
+ row = layout.row(align=True)
+ row.itemR(tex, toggle, text="")
+ sub = row.row()
+ sub.active = active
+ sub.itemR(tex, factor, text=name, slider=True)
if ma:
split = layout.split()
col = split.column()
- col.itemR(tex, "map_color", text="Diffuse Color")
- colsub = col.column()
- colsub.active = tex.map_color
- colsub.itemR(tex, "color_factor", text="Opacity", slider=True)
- colsub.itemR(tex, "blend_type")
- col.itemR(tex, "rgb_to_intensity")
- colsub = col.column()
- colsub.active = tex.rgb_to_intensity
- colsub.itemR(tex, "color")
-
- col.itemR(tex, "map_colorspec")
- col.itemR(tex, "map_normal")
- colsub = col.column()
- colsub.active = tex.map_normal
- colsub.itemR(tex, "normal_factor", text="Amount", slider=True)
- col.itemR(tex, "normal_map_space")
- col.itemR(tex, "map_warp")
- colsub = col.column()
- colsub.active = tex.map_warp
- colsub.itemR(tex, "warp_factor", text="Amount", slider=True)
- col.itemR(tex, "map_displacement")
- colsub = col.column()
- colsub.active = tex.map_displacement
- colsub.itemR(tex, "displacement_factor", text="Amount", slider=True)
+
+ col.itemL(text="Diffuse:")
+ factor_but(col, tex.map_diffuse, "map_diffuse", "diffuse_factor", "Intensity")
+ factor_but(col, tex.map_colordiff, "map_colordiff", "colordiff_factor", "Color")
+ factor_but(col, tex.map_alpha, "map_alpha", "alpha_factor", "Alpha")
+ factor_but(col, tex.map_translucency, "map_translucency", "translucency_factor", "Translucency")
+
+ col.itemL(text="Specular:")
+ factor_but(col, tex.map_specular, "map_specular", "specular_factor", "Intensity")
+ factor_but(col, tex.map_colorspec, "map_colorspec", "colorspec_factor", "Color")
+ factor_but(col, tex.map_hardness, "map_hardness", "hardness_factor", "Hardness")
+
col = split.column()
- col.itemR(tex, "map_mirror")
- col.itemR(tex, "map_reflection")
- col.itemR(tex, "map_specularity")
- col.itemR(tex, "map_ambient")
- col.itemR(tex, "map_hardness")
- col.itemR(tex, "map_raymir")
- col.itemR(tex, "map_alpha")
- col.itemR(tex, "map_emit")
- col.itemR(tex, "map_translucency")
+ col.itemL(text="Shading:")
+ factor_but(col, tex.map_ambient, "map_ambient", "ambient_factor", "Ambient")
+ factor_but(col, tex.map_emit, "map_emit", "emit_factor", "Emit")
+ factor_but(col, tex.map_mirror, "map_mirror", "mirror_factor", "Mirror")
+ factor_but(col, tex.map_raymir, "map_raymir", "raymir_factor", "Ray Mirror")
- colsub = col.column()
- colsub.active = tex.map_translucency or tex.map_emit or tex.map_alpha or tex.map_raymir or tex.map_hardness or tex.map_ambient or tex.map_specularity or tex.map_reflection or tex.map_mirror
- colsub.itemR(tex, "default_value", text="Amount", slider=True)
-
+ col.itemL(text="Geometry:")
+ factor_but(col, tex.map_normal, "map_normal", "normal_factor", "Normal")
+ factor_but(col, tex.map_warp, "map_warp", "warp_factor", "Warp")
+ factor_but(col, tex.map_displacement, "map_displacement", "displacement_factor", "Displace")
+
+ #colsub = col.column()
+ #colsub.active = tex.map_translucency or tex.map_emit or tex.map_alpha or tex.map_raymir or tex.map_hardness or tex.map_ambient or tex.map_specularity or tex.map_reflection or tex.map_mirror
+ #colsub.itemR(tex, "default_value", text="Amount", slider=True)
elif la:
row = layout.row()
- row.itemR(tex, "map_color")
- row.itemR(tex, "map_shadow")
-
+ factor_but(row, tex.map_color, "map_color", "color_factor", "Color")
+ factor_but(row, tex.map_shadow, "map_shadow", "shadow_factor", "Shadow")
+ elif wo:
split = layout.split()
-
col = split.column()
- col.itemR(tex, "color_factor", text="Opacity", slider=True)
- col.itemR(tex, "blend_type")
- col.itemR(tex, "rgb_to_intensity")
- col.itemR(tex, "color")
+ factor_but(col, tex.map_blend, "map_blend", "blend_factor", "Blend")
+ factor_but(col, tex.map_horizon, "map_horizon", "horizon_factor", "Horizon")
col = split.column()
- col.itemR(tex, "default_value", text="DVar", slider=True)
- elif wo:
- row = layout.row()
- row.itemR(tex, "map_blend")
- row.itemR(tex, "map_horizon")
- row.itemR(tex, "map_zenith_up")
- row.itemR(tex, "map_zenith_down")
+ factor_but(col, tex.map_zenith_up, "map_zenith_up", "zenith_up_factor", "Zenith Up")
+ factor_but(col, tex.map_zenith_down, "map_zenith_down", "zenith_down_factor", "Zenith Down")
- split = layout.split()
+ layout.itemS()
+ split = layout.split()
- col = split.column()
- col.itemR(tex, "color_factor", text="Opacity", slider=True)
- col.itemR(tex, "blend_type")
- col.itemR(tex, "rgb_to_intensity")
- col.itemR(tex, "color")
+ col = split.column()
- col = split.column()
- col.itemR(tex, "normal_factor", text="Nor", slider=True)
- col.itemR(tex, "variable_factor", text="Var", slider=True)
+ col.itemR(tex, "blend_type", text="Blend")
+ col.itemR(tex, "rgb_to_intensity")
+ colsub = col.column()
+ colsub.active = tex.rgb_to_intensity
+ colsub.itemR(tex, "color", text="")
+
+ col = split.column()
+ col.itemR(tex, "negate", text="Negative")
+ col.itemR(tex, "stencil")
+ if ma or wo:
col.itemR(tex, "default_value", text="DVar", slider=True)
- row = layout.row()
- row.itemR(tex, "stencil")
- row.itemR(tex, "negate", text="Negative")
-
class TEXTURE_PT_colors(TextureButtonsPanel):
__idname__= "TEXTURE_PT_colors"
__label__ = "Colors"
@@ -239,14 +236,15 @@
layout = self.layout
tex = context.texture
- if tex.color_ramp:
+ layout.itemR(tex, "use_color_ramp", text="Ramp")
+ if tex.use_color_ramp:
layout.template_color_ramp(tex.color_ramp, expand=True)
- else:
- split = layout.split()
- col = split.column()
- col.itemR(tex, "rgb_factor", text="Multiply RGB")
+ split = layout.split()
col = split.column()
+ col.itemR(tex, "rgb_factor", text="Multiply RGB")
+
+ col = split.column()
col.itemL(text="Adjust:")
col.itemR(tex, "brightness")
col.itemR(tex, "contrast")
@@ -378,7 +376,7 @@
class TEXTURE_PT_image(TextureButtonsPanel):
__idname__= "TEXTURE_PT_image"
- __label__ = "Image/Movie"
+ __label__ = "Image"
def poll(self, context):
tex = context.texture
@@ -387,25 +385,65 @@
def draw(self, context):
layout = self.layout
tex = context.texture
+
+ layout.template_texture_image(tex)
+
+class TEXTURE_PT_image_sampling(TextureButtonsPanel):
+ __idname__= "TEXTURE_PT_image_sampling"
+ __label__ = "Image Sampling"
+ __default_closed__ = True
+
+ def poll(self, context):
+ tex = context.texture
+ return (tex and tex.type == 'IMAGE')
+
+ def draw(self, context):
+ layout = self.layout
+ tex = context.texture
+ slot = context.texture_slot
split = layout.split()
+ """
sub = split.column()
sub.itemR(tex, "flip_axis")
sub.itemR(tex, "normal_map")
+ if slot:
+ row = sub.row()
+ row.active = tex.normal_map
+ row.itemR(slot, "normal_map_space", text="")
+ """
+
+ sub = split.column()
+
+ sub.itemL(text="Alpha:")
+ sub.itemR(tex, "use_alpha", text="Use")
+ sub.itemR(tex, "calculate_alpha", text="Calculate")
+ sub.itemR(tex, "invert_alpha", text="Invert")
+
+ sub.itemL(text="Flip:")
+ sub.itemR(tex, "flip_axis", text="X/Y Axis")
+
+ sub = split.column()
sub.itemL(text="Filter:")
+ #sub.itemR(tex, "filter", text="")
sub.itemR(tex, "mipmap")
- sub.itemR(tex, "mipmap_gauss")
+ row = sub.row()
+ row.itemR(tex, "mipmap_gauss", text="Gauss")
+ row.active = tex.mipmap
sub.itemR(tex, "interpolation")
- sub = split.column()
- sub.itemL(text="Alpha:")
- sub.itemR(tex, "use_alpha")
- sub.itemR(tex, "calculate_alpha")
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list