Newer
Older
("WORLD", "World", ""),
("OBJECT", "Object", ""),
("TANGENT", "Tangent", "")),
default="CAMERA",
)
name="Object",
description="Object to use for mapping with Object texture coordinates",
default ="",
)
name="",
description="Amount texture affects ray mirror",
default = 0.0,
)
reflection_color_factor: FloatProperty(
name="",
description="Amount texture affects color of out-scattered light",
default = 0.0,
)
name="",
description="Amount texture affects brightness of out-scattered light",
default = 0.0,
)
name="",
description="Amount texture affects scattering",
default = 0.0,
)
specular_color_factor: FloatProperty(
name="",
description="Amount texture affects specular color",
default = 0.0,
)
name="",
description="Amount texture affects specular reflectivity",
default = 0.0,
)
items=(
("GLOBAL", "Global", ""),
("OBJECT", "Object", ""),
("UV", "UV", ""),
("ORCO", "Original Coordinates", ""),
("STRAND", "Strand", ""),
("STICKY", "Sticky", ""),
("WINDOW", "Window", ""),
("NORMAL", "Normal", ""),
("REFLECTION", "Reflection", ""),
("STRESS", "Stress", ""),
("TANGENT", "Tangent", "")
),
name="",
description="Amount texture affects translucency",
default = 0.0,
)
transmission_color_factor: FloatProperty(
name="",
description="Amount texture affects result color after light has been scattered/absorbed",
default = 0.0,
)
name="",
description="Enable this material texture slot",
default = True,
)
name="",
description="Dupli’s instanced from verts, faces or particles, inherit texture coordinate from their parent",
default = False,
)
name="",
description="Dupli’s derive their object coordinates from the original objects transformation",
default = False,
)
name="",
description="Causes the texture to affect the alpha value",
default = False,
)
name="",
description="Causes the texture to affect the value of ambient",
default = False,
)
name="",
description="Causes the texture to affect basic color of the material",
default = False,
)
use_map_color_emission: BoolProperty(
name="",
description="Causes the texture to affect the color of emission",
default = False,
)
use_map_color_reflection: BoolProperty(
name="",
description="Causes the texture to affect the color of scattered light",
default = False,
)
name="",
description="Causes the texture to affect the specularity color",
default = False,
)
use_map_color_transmission: BoolProperty(
name="",
description="Causes the texture to affect the result color after other light has been scattered/absorbed",
default = False,
)
name="",
description="Causes the texture to affect the volume’s density",
default = False,
)
name="",
description="Causes the texture to affect the value of the materials diffuse reflectivity",
default = False,
)
name="",
description="Let the texture displace the surface",
default = False,
)
name="",
description="Causes the texture to affect the volume’s emission",
default = False,
)
name="",
description="Causes the texture to affect the emit value",
default = False,
)
name="",
description="Causes the texture to affect the hardness value",
default = False,
)
name="",
description="Causes the texture to affect the mirror color",
default = False,
)
name="",
description="Causes the texture to affect the rendered normal",
default = False,
)
name="",
description="Causes the texture to affect the ray-mirror value",
default = False,
)
name="",
description="Causes the texture to affect the reflected light’s brightness",
default = False,
)
name="",
description="Causes the texture to affect the volume’s scattering",
default = False,
)
name="",
description="Causes the texture to affect the value of specular reflectivity",
default = False,
)
name="",
description="Causes the texture to affect the translucency value",
default = False,
)
name="",
description="Let the texture warp texture coordinates of next channels",
default = False,
)
name="",
description="UV layer to use for mapping with UV texture coordinates",
default = "",
)
name="",
description="Amount texture affects texture coordinates of next channels",
default = 0.0,
)
#######################################"
name="Blend",
description="Amount texture affects color progression of the "
"background",
soft_min=0.0, soft_max=1.0, default=1.0,
)
name="Horizon",
description="Amount texture affects color of the horizon"
"",
soft_min=0.0, soft_max=1.0, default=1.0
)
name="Object",
description="Object to use for mapping with Object texture coordinates",
default="",
)
name="Coordinates",
description="Texture coordinates used to map the texture onto the background",
items=(
("VIEW", "View", "Use view vector for the texture coordinates"),
("GLOBAL", "Global", "Use global coordinates for the texture coordinates (interior mist)"),
("ANGMAP", "AngMap", "Use 360 degree angular coordinates, e.g. for spherical light probes"),
("SPHERE", "Sphere", "For 360 degree panorama sky, spherical mapped, only top half"),
("EQUIRECT", "Equirectangular", "For 360 degree panorama sky, equirectangular mapping"),
("TUBE", "Tube", "For 360 degree panorama sky, cylindrical mapped, only top half"),
("OBJECT", "Object", "Use linked object’s coordinates for texture coordinates")
),
name="Blend Map",
description="Affect the color progression of the background",
default=True,
)
name="Horizon Map",
description="Affect the color of the horizon",
default=False,
)
name="", description="Affect the color of the zenith below",
default=False,
)
name="Zenith Up Map", description="Affect the color of the zenith above",
default=False,
)
name="Zenith Down",
description="Amount texture affects color of the zenith below",
soft_min=0.0, soft_max=1.0, default=1.0
)
name="Zenith Up",
description="Amount texture affects color of the zenith above",
soft_min=0.0, soft_max=1.0, default=1.0
)
# former Space properties from removed Blender Internal added below at superclass level
# so as to be available in World, Material, Light for texture slots use
bpy.types.ID.use_limited_texture_context = BoolProperty(
name="",
description="Use the limited version of texture user (for ‘old shading’ mode)",
default=True,
)
bpy.types.ID.texture_context = EnumProperty(
name="Texture context",
description="Type of texture data to display and edit",
items=(
('MATERIAL', "", "Show material textures", "MATERIAL",0), # "Show material textures"
('WORLD', "", "Show world textures", "WORLD",1), # "Show world textures"
('LIGHT', "", "Show lamp textures", "LIGHT",2), # "Show lamp textures"
('PARTICLES', "", "Show particles textures", "PARTICLES",3), # "Show particles textures"
('LINESTYLE', "", "Show linestyle textures", "LINE_DATA",4), # "Show linestyle textures"
('OTHER', "", "Show other data textures", "TEXTURE_DATA",5) # "Show other data textures"
),
bpy.types.ID.active_texture_index = IntProperty(
name = "Index for texture_slots",
default = 0,
)
class RenderPovSettingsMaterial(PropertyGroup):
"""Declare material level properties controllable in UI and translated to POV."""
######################Begin Old Blender Internal Props#########################
# former Space properties from removed Blender Internal
use_limited_texture_context: BoolProperty(
name="",
description="Use the limited version of texture user (for ‘old shading’ mode)",
default=True,
)
texture_context: EnumProperty(
name="Texture context",
description="Type of texture data to display and edit",
items=(
('MATERIAL', "", "Show material textures", "MATERIAL",0), # "Show material textures"
('WORLD', "", "Show world textures", "WORLD",1), # "Show world textures"
('LAMP', "", "Show lamp textures", "LIGHT",2), # "Show lamp textures"
('PARTICLES', "", "Show particles textures", "PARTICLES",3), # "Show particles textures"
('LINESTYLE', "", "Show linestyle textures", "LINE_DATA",4), # "Show linestyle textures"
('OTHER', "", "Show other data textures", "TEXTURE_DATA",5) # "Show other data textures"
),
active_texture_index: IntProperty(
name = "Index for texture_slots",
default = 0,
)
transparency_method: EnumProperty(
name="Specular Shader Model",
description="Method to use for rendering transparency",
items=(
("MASK", "Mask", "Mask the background"),
("Z_TRANSPARENCY", "Z Transparency", "Use alpha buffer for transparent faces"),
("RAYTRACE", "Raytrace", "Use raytracing for transparent refraction rendering")
),
use_transparency: BoolProperty(
name="Transparency",
description="Render material as transparent",
default=False,
)
alpha: FloatProperty(
name="Alpha",
description="Alpha transparency of the material",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=1.0, precision=3,
)
specular_alpha: FloatProperty(
name="Specular alpha",
description="Alpha transparency for specular areas",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=1.0, precision=3,
)
ambient: FloatProperty(
name="Ambient",
description="Amount of global ambient color the material receives",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=1.0, precision=3,
)
diffuse_color: FloatVectorProperty(
name="Diffuse color",
description=("Diffuse color of the material"),
precision=4, step=0.01, min=0, # max=inf, soft_max=1,
default=(0.6,0.6,0.6), options={'ANIMATABLE'}, subtype='COLOR',
)
darkness: FloatProperty(
name="Darkness",
description="Minnaert darkness",
min=0.0, max=2.0, soft_min=0.0, soft_max=2.0, default=1.0, precision=3,
)
diffuse_fresnel: FloatProperty(
name="Diffuse fresnel",
description="Power of Fresnel",
min=0.0, max=5.0, soft_min=0.0, soft_max=5.0, default=1.0, precision=3,
)
diffuse_fresnel_factor: FloatProperty(
name="Diffuse fresnel factor",
description="Blending factor of Fresnel",
min=0.0, max=5.0, soft_min=0.0, soft_max=5.0, default=0.5, precision=3,
)
diffuse_intensity: FloatProperty(
name="Diffuse intensity",
description="Amount of diffuse reflection multiplying color",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=0.8, precision=3,
)
diffuse_ramp_blend: EnumProperty(
name="Diffuse ramp blend",
description="Blending method of the ramp and the diffuse color",
items=(
("MIX", "Mix", ""),
("ADD", "Add", ""),
("MULTIPLY", "Multiply", ""),
("SUBTRACT", "Subtract", ""),
("SCREEN", "Screen", ""),
("DIVIDE", "Divide", ""),
("DIFFERENCE", "Difference", ""),
("DARKEN", "Darken", ""),
("LIGHTEN", "Lighten", ""),
("OVERLAY", "Overlay", ""),
("DODGE", "Dodge", ""),
("BURN", "Burn", ""),
("HUE", "Hue", ""),
("SATURATION", "Saturation", ""),
("VALUE", "Value", ""),
("COLOR", "Color", ""),
("SOFT_LIGHT", "Soft light", ""),
("LINEAR_LIGHT", "Linear light", "")
),
diffuse_ramp_factor: FloatProperty(
name="Factor",
description="Blending factor (also uses alpha in Colorband)",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=1.0, precision=3,
)
diffuse_ramp_input: EnumProperty(
name="Input",
description="How the ramp maps on the surface",
items=(
("SHADER", "Shader", ""),
("ENERGY", "Energy", ""),
("NORMAL", "Normal", ""),
("RESULT", "Result", "")
),
default="SHADER",
diffuse_shader: EnumProperty(
name="Diffuse Shader Model",
description="How the ramp maps on the surface",
items=(
("LAMBERT", "Lambert", "Use a Lambertian shader"),
("OREN_NAYAR", "Oren-Nayar", "Use an Oren-Nayar shader"),
("MINNAERT", "Minnaert", "Use a Minnaert shader"),
("FRESNEL", "Fresnel", "Use a Fresnel shader")
),
diffuse_toon_size: FloatProperty(
name="Size",
description="Size of diffuse toon area",
min=0.0, max=3.14, soft_min=0.0, soft_max=3.14, default=0.5, precision=3,
)
diffuse_toon_smooth: FloatProperty(
name="Smooth",
description="Smoothness of diffuse toon area",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=0.1, precision=3,
)
emit: FloatProperty(
name="Emit",
description="Amount of light to emit",
min=0.0, soft_min=0.0, # max=inf, soft_max=inf,
default=0.0, precision=3,
)
mirror_color: FloatVectorProperty(
name="Mirror color",
description=("Mirror color of the material"),
precision=4, step=0.01, min=0, # max=inf, soft_max=1,
default=(0.6,0.6,0.6), options={'ANIMATABLE'}, subtype='COLOR'
)
roughness: FloatProperty(
name="Roughness",
description="Oren-Nayar Roughness",
min=0.0, max=3.14, soft_min=0.0, soft_max=3.14,
precision=3,
default=0.5,
)
halo: BoolProperty(
name="Halo",
description=" Halo settings for the material",
default=False,
)
# (was readonly in Blender2.79, never None)
line_color: FloatVectorProperty(
name="Line color",
description=("Line color used for Freestyle line rendering"),
precision=4, step=0.01, min=0, # max=inf, soft_max=1,
default=(0.0,0.0,0.0), options={'ANIMATABLE'}, subtype='COLOR'
)
# diffuse_ramp:
## Color ramp used to affect diffuse shading
## Type: ColorRamp, (readonly)
# cr_node = bpy.data.materials['Material'].node_tree.nodes['ColorRamp']
# layout.template_color_ramp(cr_node, "color_ramp", expand=True)
# ou
# class bpy.types.ColorRamp(bpy_struct)
line_priority: IntProperty(
name="Recursion Limit",
description="The line color of a higher priority is used at material boundaries",
min=0, max=32767, default=0,
)
specular_color: FloatVectorProperty(
name="Specular color",
description=("Specular color of the material "),
precision=4, step=0.01, min=0, # max=inf, soft_max=1,
default=(1.0,1.0,1.0), options={'ANIMATABLE'}, subtype='COLOR'
)
specular_hardness: IntProperty(
name="Hardness",
description="How hard (sharp) the specular reflection is",
min=1, max=511, default=50,
)
specular_intensity: FloatProperty(
name="Intensity",
description="How intense (bright) the specular reflection is",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=0.5, precision=3
)
name="IOR",
description="Specular index of refraction",
min=-10.0, max=10.0, soft_min=0.0, soft_max=10.0, default=1.0, precision=3
)
name="IOR",
description="Index of refraction",
min=-10.0, max=10.0, soft_min=0.0, soft_max=10.0, default=1.0, precision=3
)
specular_shader: EnumProperty(
name="Specular Shader Model",
description="How the ramp maps on the surface",
items=(
("COOKTORR", "CookTorr", "Use a Cook-Torrance shader"),
("PHONG", "Phong", "Use a Phong shader"),
("BLINN", "Blinn", "Use a Blinn shader"),
("TOON", "Toon", "Use a Toon shader"),
("WARDISO", "WardIso", "Use a Ward anisotropic shader")
),
specular_slope: FloatProperty(
name="Slope",
description="The standard deviation of surface slope",
min=0.0, max=0.4, soft_min=0.0, soft_max=0.4, default=0.1, precision=3
)
specular_toon_size: FloatProperty(
name="Size",
description="Size of specular toon area",
min=0.0, max=0.53, soft_min=0.0, soft_max=0.53, default=0.5, precision=3
)
specular_toon_smooth: FloatProperty(
name="Smooth",
description="Smoothness of specular toon area",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=0.1, precision=3
)
translucency: FloatProperty(
name="Translucency",
description="Amount of diffuse shading on the back side",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=0.0, precision=3
)
transparency_method: EnumProperty(
name="Specular Shader Model",
description="Method to use for rendering transparency",
items=(
("MASK", "Mask", "Mask the background"),
("Z_TRANSPARENCY", "Z Transparency", "Use an ior of 1 for transparent faces"),
("RAYTRACE", "Raytrace", "Use raytracing for transparent refraction rendering")
),
type: EnumProperty(
name="Type",
description="Material type defining how the object is rendered",
items=(
("SURFACE", "Surface", "Render object as a surface"),
("WIRE", "Wire", "Render the edges of faces as wires (not supported in raytracing)"),# TO UPDATE > USE MACRO AND CHANGE DESCRIPTION
("VOLUME", "Volume", "Render object as a volume"),
("‘HALO’", "Halo", "Render object as halo particles")
), # TO UPDATE > USE MACRO AND CHANGE DESCRIPTION
use_cast_shadows: BoolProperty(
name="Cast",
description="Allow this material to cast shadows",
default=True,
)
use_cast_shadows_only: BoolProperty(
name="Cast Only",
description="Make objects with this material "
"appear invisible (not rendered), only "
"casting shadows",
default=False,
)
use_cubic: BoolProperty(
name="Cubic Interpolation",
description="Use cubic interpolation for diffuse "
"values, for smoother transitions",
default=False,
)
use_diffuse_ramp: BoolProperty(
name="Ramp",
description="Toggle diffuse ramp operations",
default=False,
)
use_light_group_exclusive: BoolProperty(
name="Exclusive",
description="Material uses the light group exclusively"
"- these lamps are excluded from other "
"scene lighting",
default=False,
)
use_light_group_local: BoolProperty(
name="Local",
description="When linked in, material uses local light"
" group with the same name",
default=False,
)
use_mist: BoolProperty(
name="Use Mist",
description="Use mist with this material "
"(in world settings)",
default=True,
)
use_nodes: BoolProperty(
name="Nodes",
description="Use shader nodes to render the material",# Add Icon in UI or here? icon='NODES'
default=False,
)
use_object_color: BoolProperty(
name="Object Color",
description="Modulate the result with a per-object color",
default=False,
)
use_only_shadow: BoolProperty(
name="Shadows Only",
description="Render shadows as the material’s alpha "
"value, making the material transparent "
"except for shadowed areas",
default=False,
)
use_shadeless: BoolProperty(
name="Shadeless",
description="Make this material insensitive to "
"light or shadow",
default=False,
)
use_shadows: BoolProperty(
name="Receive",
description="Allow this material to receive shadows",
default=True,
)
use_sky: BoolProperty(
name="Sky",
description="Render this material with zero alpha, "
"with sky background in place (scanline only)",
default=False,
)
use_specular_ramp: BoolProperty(
name="Ramp",
description="Toggle specular ramp operations",
default=False,
)
use_tangent_shading: BoolProperty(
name="Tangent Shading",
description="Use the material’s tangent vector instead"
"of the normal for shading - for "
"anisotropic shading effects",
default=False,
)
use_transparent_shadows: BoolProperty(
name="Receive Transparent",
description="Allow this object to receive transparent "
"shadows cast through other object",
default=False,
) # linked to fake caustics
use_vertex_color_light: BoolProperty(
name="Vertex Color Light",
description="Add vertex colors as additional lighting",
default=False,
)
use_vertex_color_paint: BoolProperty(
name="Vertex Color Paint", description="Replace object base color with vertex "
"colors (multiply with ‘texture face’ "
"face assigned textures)",
default=False,
)
specular_ramp_blend: EnumProperty(
name="Specular ramp blend",
description="Blending method of the ramp and the specular color",
items=(
("MIX", "Mix", ""),
("ADD", "Add", ""),
("MULTIPLY", "Multiply", ""),
("SUBTRACT", "Subtract", ""),
("SCREEN", "Screen", ""),
("DIVIDE", "Divide", ""),
("DIFFERENCE", "Difference", ""),
("DARKEN", "Darken", ""),
("LIGHTEN", "Lighten", ""),
("OVERLAY", "Overlay", ""),
("DODGE", "Dodge", ""),
("BURN", "Burn", ""),
("HUE", "Hue", ""),
("SATURATION", "Saturation", ""),
("VALUE", "Value", ""),
("COLOR", "Color", ""),
("SOFT_LIGHT", "Soft light", ""),
("LINEAR_LIGHT", "Linear light", "")
),
specular_ramp_factor: FloatProperty(
name="Factor",
description="Blending factor (also uses alpha in Colorband)",
min=0.0, max=1.0, soft_min=0.0, soft_max=1.0, default=1.0, precision=3,
)
specular_ramp_input: EnumProperty(
name="Input",
description="How the ramp maps on the surface",
items=(
("SHADER", "Shader", ""),
("ENERGY", "Energy", ""),
("NORMAL", "Normal", ""),
("RESULT", "Result", "")
),
name="Iridescence coating",
description="Newton's thin film interference (like an oil slick on a puddle of "
"water or the rainbow hues of a soap bubble.)",
default=False,
)
name="Correct Reflection",
description="Use same IOR as raytrace transparency to calculate mirror reflections. "
"More physically correct",
default=False,
)
name="Metallic Reflection",
description="mirror reflections get colored as diffuse (for metallic materials)",
default=False,
)
name="Conserve Energy",
description="Light transmitted is more correctly reduced by mirror reflections, "
"also the sum of diffuse and translucency gets reduced below one ",
default=True,
)
name="amount",
description="Contribution of the iridescence effect to the overall surface color. "
"As a rule of thumb keep to around 0.25 (25% contribution) or less, "
"but experiment. If the surface is coming out too white, try lowering "
"the diffuse and possibly the ambient values of the surface",
min=0.0, max=1.0, soft_min=0.01, soft_max=1.0, default=0.25,
)
name="thickness",
description="A very thin film will have a high frequency of color changes while a "
"thick film will have large areas of color",
min=0.0, max=1000.0, soft_min=0.1, soft_max=10.0, default=1,
)
name="turbulence",
description="This parameter varies the thickness",
min=0.0, max=10.0, soft_min=0.000, soft_max=1.0, default=0
)
interior_fade_color: FloatVectorProperty(
name="Interior Fade Color",
description="Color of filtered attenuation for transparent "
"materials",
precision=4, step=0.01, min=0.0, soft_max=1.0,
default=(0, 0, 0), options={'ANIMATABLE'}, subtype='COLOR'
)
Bastien Montagne
committed
name="Caustics",
description="use only fake refractive caustics (default) or photon based "
"reflective/refractive caustics",
default=True,
)
name="Fake Caustics",
description="use only (Fast) fake refractive caustics",
default=True,
)
fake_caustics_power: FloatProperty(
name="Fake caustics power",
description="Values typically range from 0.0 to 1.0 or higher. Zero is no caustics. "
"Low, non-zero values give broad hot-spots while higher values give "
"tighter, smaller simulated focal points",
min=0.00, max=10.0, soft_min=0.00, soft_max=5.0, default=0.15
)
refraction_caustics: BoolProperty(
name="Refractive Caustics",
description="hotspots of light focused when going through the material",
default=True,
)
photons_dispersion: FloatProperty(
name="Chromatic Dispersion",
description="Light passing through will be separated according to wavelength. "
"This ratio of refractive indices for violet to red controls how much "
"the colors are spread out 1 = no dispersion, good values are 1.01 to 1.1",
min=1.0000, max=10.000, soft_min=1.0000, soft_max=1.1000, precision=4,
default=1.0000,
)
photons_dispersion_samples: IntProperty(
name="Dispersion Samples",
description="Number of color-steps for dispersion",
min=2, max=128, default=7,
)
Maurice Raybaud
committed
photons_reflection: BoolProperty(
name="Reflective Photon Caustics",
description="Use this to make your Sauron's ring ;-P",
default=False,
)
items=[
("1", "Z Transparency Fake Caustics", "use fake caustics"),
("2", "Raytrace Photons Caustics", "use photons for refractive caustics")],
name="Refraction Type:",
description="use fake caustics (fast) or true photons for refractive Caustics",
default="1",
)
Maurice Raybaud
committed
Bastien Montagne
committed
##################################CustomPOV Code############################
replacement_text: StringProperty(
name="Declared name:",
description="Type the declared name in custom POV code or an external "
".inc it points at. texture {} expected",
default="",
)
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
def use_material_nodes_callback(self, context):
if hasattr(context.space_data, "tree_type"):
context.space_data.tree_type = 'ObjectNodeTree'
mat=context.object.active_material
if mat.pov.material_use_nodes:
mat.use_nodes=True
tree = mat.node_tree
tree.name=mat.name
links = tree.links
default = True
if len(tree.nodes) == 2:
o = 0
m = 0
for node in tree.nodes:
if node.type in {"OUTPUT","MATERIAL"}:
tree.nodes.remove(node)
default = True
for node in tree.nodes:
if node.bl_idname == 'PovrayOutputNode':
o+=1
if node.bl_idname == 'PovrayTextureNode':
m+=1
if o == 1 and m == 1:
default = False
elif len(tree.nodes) == 0:
default = True
else:
default = False
if default:
output = tree.nodes.new('PovrayOutputNode')
output.location = 200,200
tmap = tree.nodes.new('PovrayTextureNode')
tmap.location = 0,200
links.new(tmap.outputs[0],output.inputs[0])
tmap.select = True
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
else:
mat.use_nodes=False
def use_texture_nodes_callback(self, context):
tex=context.object.active_material.active_texture
if tex.pov.texture_use_nodes:
tex.use_nodes=True
if len(tex.node_tree.nodes)==2:
for node in tex.node_tree.nodes:
if node.type in {"OUTPUT","CHECKER"}:
tex.node_tree.nodes.remove(node)
else:
tex.use_nodes=False
def node_active_callback(self, context):
items = []
mat=context.material
mat.node_tree.nodes
for node in mat.node_tree.nodes:
node.select=False
for node in mat.node_tree.nodes:
if node.name==mat.pov.material_active_node:
node.select=True
mat.node_tree.nodes.active=node
return node