SCNNodeRendererDelegate
SCNNodeRendererDelegate
протокол определяет интерфейс для использования Вашего собственного кода для прорисовки OpenGL для рендеринга содержания для узла. Можно предоставить делегату средства рендеринга к SCNNode
объект с помощью rendererDelegate
свойство.
Как правило, Вы используете делегата средства рендеринга узла для выполнения пользовательского рендеринга, привязывающегося в расположении в сцене. Например, можно присоединить узел с делегатом средства рендеринга в части сцены, чтобы добавить, что специальный эффект представил использование собственного кода для прорисовки OpenGL, такого как жидкое моделирование.
Набор сцены не выполняет собственного рендеринга для узла с делегатом рендеринга, таким образом, этот протокол не является подходящим для настройки рендеринга Набора Сцены геометрии и материалов. Вместо этого используйте методы в SCNShadable
протокол для расширения рендеринга Набора Сцены с помощью программ программы построения теней, записанных на Языке Штриховки OpenGL (GLSL).
Наследование
Не применимый
Оператор импорта
Swift
import SceneKit
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Говорит делегату выполнять рендеринг для узла.
Объявление
Swift
optional func renderNode(_
node
: SCNNode, rendererrenderer
: SCNRenderer, argumentsarguments
: [NSObject : AnyObject])Objective C
- (void)renderNode:(SCNNode *)
node
renderer:(SCNRenderer *)renderer
arguments:(NSDictionary *)arguments
Параметры
node
Узел для рендеринга.
renderer
Объект Набора Сцены, ответственный за рендеринг сцены. Исследуйте этот объект
context
свойство, если необходимо сослаться на контекст OpenGL пользовательский код рендеринга, вовлекает.arguments
Словарь, содержащий, преобразовывает информацию, необходимую для рендеринга узла. Посмотрите
Rendering Transform Keys
для возможных ключей. Значение для каждого ключаNSValue
объект, содержащий aCATransform3D
структура, описывающая преобразование как 4 x 4 матрицы.Обсуждение
Используйте этот метод для выполнения пользовательского рендеринга OpenGL для узла. Необходимо только выполнить команды рисования OpenGL (и любая установка, требуемая выполнять их) в этом методе — результаты изменения объектов Набора Сцены во время этого метода не определены.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.