- "Pattern" can mean type of texture. - It can also refer to refers to a type of matching wildcard. Issue reported by Hoang Duy Tran.
149 lines
5.2 KiB
Python
149 lines
5.2 KiB
Python
# SPDX-FileCopyrightText: 2022-2023 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
from bpy.types import Menu
|
|
from bpy.app.translations import (
|
|
contexts as i18n_contexts,
|
|
)
|
|
from bl_ui import node_add_menu
|
|
|
|
|
|
class NODE_MT_category_texture_input(Menu):
|
|
bl_idname = "NODE_MT_category_texture_input"
|
|
bl_label = "Input"
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
node_add_menu.add_node_type(layout, "TextureNodeCoordinates")
|
|
node_add_menu.add_node_type(layout, "TextureNodeCurveTime")
|
|
node_add_menu.add_node_type(layout, "TextureNodeImage")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexture")
|
|
|
|
|
|
class NODE_MT_category_texture_output(Menu):
|
|
bl_idname = "NODE_MT_category_texture_output"
|
|
bl_label = "Output"
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
node_add_menu.add_node_type(layout, "TextureNodeOutput")
|
|
node_add_menu.add_node_type(layout, "TextureNodeViewer")
|
|
|
|
|
|
class NODE_MT_category_texture_color(Menu):
|
|
bl_idname = "NODE_MT_category_texture_color"
|
|
bl_label = "Color"
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
node_add_menu.add_node_type(layout, "TextureNodeHueSaturation")
|
|
node_add_menu.add_node_type(layout, "TextureNodeInvert")
|
|
node_add_menu.add_node_type(layout, "TextureNodeMixRGB")
|
|
node_add_menu.add_node_type(layout, "TextureNodeCurveRGB")
|
|
layout.separator()
|
|
node_add_menu.add_node_type(layout, "TextureNodeCombineColor")
|
|
node_add_menu.add_node_type(layout, "TextureNodeSeparateColor")
|
|
|
|
|
|
class NODE_MT_category_texture_converter(Menu):
|
|
bl_idname = "NODE_MT_category_texture_converter"
|
|
bl_label = "Converter"
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
node_add_menu.add_node_type(layout, "TextureNodeValToRGB")
|
|
node_add_menu.add_node_type(layout, "TextureNodeDistance")
|
|
node_add_menu.add_node_type(layout, "TextureNodeMath")
|
|
node_add_menu.add_node_type(layout, "TextureNodeRGBToBW")
|
|
node_add_menu.add_node_type(layout, "TextureNodeValToNor")
|
|
|
|
|
|
class NODE_MT_category_texture_distort(Menu):
|
|
bl_idname = "NODE_MT_category_texture_distort"
|
|
bl_label = "Distort"
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
node_add_menu.add_node_type(layout, "TextureNodeAt")
|
|
node_add_menu.add_node_type(layout, "TextureNodeRotate")
|
|
node_add_menu.add_node_type(layout, "TextureNodeScale")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTranslate")
|
|
|
|
|
|
class NODE_MT_category_texture_pattern(Menu):
|
|
bl_idname = "NODE_MT_category_texture_pattern"
|
|
bl_label = "Pattern"
|
|
bl_translation_context = i18n_contexts.id_texture
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
node_add_menu.add_node_type(layout, "TextureNodeBricks")
|
|
node_add_menu.add_node_type(layout, "TextureNodeChecker")
|
|
|
|
|
|
class NODE_MT_category_texture_texture(Menu):
|
|
bl_idname = "NODE_MT_category_texture_texture"
|
|
bl_label = "Texture"
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexBlend")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexClouds")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexDistNoise")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexMagic")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexMarble")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexMusgrave")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexNoise")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexStucci")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexVoronoi")
|
|
node_add_menu.add_node_type(layout, "TextureNodeTexWood")
|
|
|
|
|
|
class NODE_MT_category_texture_group(Menu):
|
|
bl_idname = "NODE_MT_category_texture_group"
|
|
bl_label = "Group"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
node_add_menu.draw_node_group_add_menu(context, layout)
|
|
|
|
|
|
class NODE_MT_texture_node_add_all(Menu):
|
|
bl_idname = "NODE_MT_texture_node_add_all"
|
|
bl_label = "Add"
|
|
bl_translation_context = i18n_contexts.operator_default
|
|
|
|
def draw(self, _context):
|
|
layout = self.layout
|
|
layout.menu("NODE_MT_category_texture_input")
|
|
layout.menu("NODE_MT_category_texture_output")
|
|
layout.separator()
|
|
layout.menu("NODE_MT_category_texture_color")
|
|
layout.menu("NODE_MT_category_texture_converter")
|
|
layout.menu("NODE_MT_category_texture_distort")
|
|
layout.menu("NODE_MT_category_texture_pattern")
|
|
layout.menu("NODE_MT_category_texture_texture")
|
|
layout.separator()
|
|
layout.menu("NODE_MT_category_texture_group")
|
|
layout.menu("NODE_MT_category_layout")
|
|
|
|
|
|
classes = (
|
|
NODE_MT_texture_node_add_all,
|
|
NODE_MT_category_texture_input,
|
|
NODE_MT_category_texture_output,
|
|
NODE_MT_category_texture_color,
|
|
NODE_MT_category_texture_converter,
|
|
NODE_MT_category_texture_distort,
|
|
NODE_MT_category_texture_pattern,
|
|
NODE_MT_category_texture_texture,
|
|
NODE_MT_category_texture_group,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__": # only for live edit.
|
|
from bpy.utils import register_class
|
|
for cls in classes:
|
|
register_class(cls)
|