SCNProgramDelegate
SCNProgramDelegate
методы протокола можно реализовать для получения сообщений о пользовательских программах программы построения теней GLSL. Вы создаете и используете пользовательские программы программы построения теней с SCNProgram
класс. Как правило, Вы используете этот протокол для дефектов записи, происходящих при компиляции исходного кода шейдера.
Наследование
Не применимый
Оператор импорта
Swift
import SceneKit
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Говорит делегату, что ошибка произошла при компиляции исходного кода GLSL.
Объявление
Swift
optional func program(_
program
: SCNProgram, handleErrorerror
: NSError)Objective C
- (void)program:(SCNProgram *)
program
handleError:(NSError *)error
Параметры
program
Программа, генерировавшая ошибку компиляции.
error
Повышенная ошибка компиляции.
Обсуждение
Исследуйте
error
параметр для подробных данных ошибки компиляции, предоставленной компилятором GLSL.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
programIsOpaque (_:) - programIsOpaque:
(OS X v10.10)Спрашивает делегат, непрозрачны ли фрагменты, представленные программой.
Оператор осуждения
Используйте
opaque
свойство SCNProgram возражает вместо этого.Объявление
Swift
optional func programIsOpaque(_
Program
: SCNProgram) -> BoolObjective C
- (BOOL)programIsOpaque:(SCNProgram *)
Program
Параметры
Program
Запрошенная программа.
Возвращаемое значение
YES
true
если все фрагменты, представленные программой, непрозрачны;NO
false
если программа представляет фрагменты, альфа-значение которых является меньше, чем1.0
.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.10.
-
программа (_: bindValueForSymbol:atLocation:programID:renderer:) - program:bindValueForSymbol:atLocation:programID:renderer:
(OS X v10.10)Вызванный на делегата, чтобы позволить ему связать значения программы и/или связал графические ресурсы (такие как текстуры) для символов.
Оператор осуждения
Используйте
handleBindingOfSymbol:usingBlock:
метод геометрии или материала программа присоединен.Объявление
Swift
optional func program(_
program
: SCNProgram, bindValueForSymbolsymbol
: String, atLocationlocation
: UInt32, programIDprogramID
: UInt32, rendererrenderer
: SCNRenderer) -> BoolObjective C
- (BOOL)program:(SCNProgram *)
program
bindValueForSymbol:(NSString *)symbol
atLocation:(unsigned int)location
programID:(unsigned int)programID
renderer:(SCNRenderer *)renderer
Параметры
program
SCNProgram
объект связать значения для.symbol
Имя символа для привязки значения для.
location
Расположение символа в программе возражает, чтобы быть измененным.
programID
Базовая программа OpenGL возражает, в котором сделана привязка.
renderer
Средство рендеринга, в настоящее время представляющее сцену.
Обсуждение
Если Вы используете
handleBindingOfSymbol:usingBlock:
метод для соединения блока обработчика с объектом SceneKit для символа SceneKit не вызовет делегатаprogram:bindValueForSymbol:atLocation:programID:renderer:
метод для того символа при рендеринге того объекта.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.10.
-
программа (_: unbindValueForSymbol:atLocation:programID:renderer:) - program:unbindValueForSymbol:atLocation:programID:renderer:
(OS X v10.10)Вызванный на делегата, чтобы позволить ему развязать значения программы и/или также развязывают связанные графические ресурсы (такие как текстуры).
Оператор осуждения
Используйте
handleUnbindingOfSymbol:usingBlock:
метод геометрии или материала программа присоединен.Объявление
Swift
optional func program(_
program
: SCNProgram, unbindValueForSymbolsymbol
: String, atLocationlocation
: UInt32, programIDprogramID
: UInt32, rendererrenderer
: SCNRenderer)Objective C
- (void)program:(SCNProgram *)
program
unbindValueForSymbol:(NSString *)symbol
atLocation:(unsigned int)location
programID:(unsigned int)programID
renderer:(SCNRenderer *)renderer
Параметры
program
SCNProgram
объект развязать значения для.symbol
Имя символа для развязывания значения для.
location
Расположение символа в программе возражает, чтобы быть измененным.
programID
Базовая программа OpenGL возражает, в котором сделано развязывание.
renderer
Средство рендеринга, в настоящее время представляющее сцену.
Обсуждение
Если Вы используете
handleUnbindingOfSymbol:usingBlock:
метод для соединения блока обработчика с объектом SceneKit для символа SceneKit не вызовет делегатаprogram:unbindValueForSymbol:atLocation:programID:renderer:
метод для того символа при рендеринге того объекта.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.10.