Для доводки готового рендера в композитинге бывает нужно обращаться к координатам точек обрабатываемого изображения, например для наложения эффектов распределенных по всей ширине или высоте картинки.
Получить фактор распределения координат по высоте или ширине рендера можно с помощью текстурных нод.
Получить все доступные шейдерные ноды в виде списка можно по их типу.
Для начала, добавим в сцену любой объект, например – куб, создадим для него материал и удалим из него все ноды. Сюда, в этот материал, мы выведем все имеющиеся в Blender ноды шейдеров.
Для добавления оператора в заголовок (header) окна используются функции append и prepend в которых параметром нужно указать функцию отрисовки кнопки вызова оператора.
Например, чтобы добавить в заголовок окна вьюпорта (3D View) кнопку вызова оператора добавления в сцену куба, нужно определить функцию отрисовки оператора:
Кнопка с оператором добавления куба в сцену появится в заголовке окна вьюпорта.
Просмотреть список всех функций, добавляющий операторы в заголовок окна можно с помощью свойства _draw_funcs метода draw.
Python
1
2
bpy.types.VIEW3D_HT_header.draw._draw_funcs
# [<function cube_add_fnc at 0x000000000FC8B8B8>, <function VIEW3D_HT_header.draw at 0x000000000F9C0678>, <function draw_pause at 0x0000000011633A68>]
Обратите внимание, что свойство _draw_funcs определяется в методе draw только если в него добавлены пользовательские операторы. Если пользовательские операторы не в заголовок не добавлялись, будет выдана ошибка
AttributeError: ‘function’ object has no attribute ‘_draw_funcs’