GLKEffectPropertyLight
Наследование
-
NSObject -
GLKEffectProperty -
GLKEffectPropertyLight
-
NSObject -
GLKEffectProperty -
GLKEffectPropertyLight
Оператор импорта
Swift
import GLKit
Objective C
@import GLKit;
Доступность
Доступный в iOS 5.0 и позже.
GLKEffectPropertyLight класс определяет свойства для единственного света, применился к эффекту. Модель распространения света, реализованная GLKEffectPropertyLight идентично модели распространения света, реализованной в OpenGL ES 1.1; каждый свет взаимодействует с любыми свойствами материала на эффекте определить интенсивность и цвет, который определенный свет вносит в сцену во фрагменте.
Существует три основных вида световых сигналов: направленный, точка и центры внимания.
Направленный свет считается бесконечно далеко, и всегда направляет свет в том же направлении. Для создания направленного света установите
positionсвойство к вектору, чейx,y, иzкомпоненты указывают направление к свету (т.е. отрицание направления, свет перемещается в), и чейwкомпонент установлен в0.0.Точечный свет помещается в позицию в сцене и излучает свет во всех направлениях. Для создания направленного света установите
positionсвойство к вектору, чейx,y,zиwкомпоненты указывают однородные координаты для позиции света в сцене.wкомпонент обычно устанавливается в1.0и не должен быть установлен в0.0.Интенсивность точечного света корректируется с помощью функции затухания расстояния. Этой функцией управляют путем корректировки
constantAttenuation,linearAttenuationилиquadraticAttenuationсвойства. Значения по умолчанию для этих свойств создают свет, интенсивность которого является постоянной по расстоянию.Центр внимания помещается в позицию в сцене и излучает свет в определенном направлении в конусе. Для создания центра внимания установите
positionсвойство к вектору, чейx,y,zиwкомпоненты указывают однородные координаты для позиции света в сцене.wкомпонент не должен быть установлен в0.0. Затем установитеspotDirectionсвойство к вектору, указывающему направление света иspotCutoffк значению меньше, чем180.0.Как точечный свет, интенсивность центра внимания может быть скорректирована с помощью свойств затухания расстояния. Интенсивность центра внимания может также меняться как функция угла центра внимания путем установки
spotExponentсвойство. Значение по умолчанию для центра внимания создает центр внимания, интенсивность которого не затронута углом. Т.е. центр внимания излучает то же количество света в центре и в краю конуса.
Освещающие вычисления выполняются в глазных пространственных координатах. В точный момент вычисляются глазные пространственные координаты для позиции и направления спота, что новые значения позиции указаны и могут быть затронуты другими свойствами эффекта. Для получения дополнительной информации посмотрите Ссылку класса GLKBaseEffect.
-
enabledСвойствоБулево значение, указывающее, должны ли вычисления быть выполнены на этом свету.
Объявление
Swift
var enabled: GLbooleanObjective C
@property(nonatomic, assign) GLboolean enabledОбсуждение
Если значение
enabledGL_TRUE, тогда освещающие вычисления выполняются для этого света. Если значениеGL_FALSE, этот свет пропускается при вычислениях цвета фрагмента.Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
positionСвойствоПозиция света в мировых координатах.
Объявление
Swift
var position: GLKVector4Objective C
@property(nonatomic, assign) GLKVector4 positionОбсуждение
Если
wкомпонент позиции0.0, свет вычисляется с помощью формулы направленного света.x,y, иzкомпоненты вектора указывают направление легкие сияния. Свет, как предполагается, бесконечно далеко; затухание и свойства центра внимания проигнорированы.Если
wкомпонент позиции является ненулевым значением, координаты указывают позицию света в однородных координатах, и свет или вычисляется как точечный свет или центр внимания, в зависимости от значенияspotCutoffсвойство.Значение по умолчанию
[0.0, 0.0, 1.0, 0.0].Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
transformСвойствоПреобразование применилось к позиции и направлению света прежде, чем вычислить вклад света.
Объявление
Swift
var transform: GLKEffectPropertyTransform!Objective C
@property(nonatomic, retain) GLKEffectPropertyTransform *transformОбсуждение
Значение по умолчанию является единичной матрицей.
Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
ambientColorСвойствоОкружающая часть света.
Объявление
Swift
var ambientColor: GLKVector4Objective C
@property(nonatomic, assign) GLKVector4 ambientColorОператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
diffuseColorСвойствоРассеянная часть света.
Объявление
Swift
var diffuseColor: GLKVector4Objective C
@property(nonatomic, assign) GLKVector4 diffuseColorОператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
specularColorСвойствоЗеркальная часть света.
Объявление
Swift
var specularColor: GLKVector4Objective C
@property(nonatomic, assign) GLKVector4 specularColorОператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
constantAttenuationСвойствоПостоянный множитель применился к затуханию точечного света или центра внимания.
Объявление
Swift
var constantAttenuation: GLfloatObjective C
@property(nonatomic, assign) GLfloat constantAttenuationОбсуждение
Коэффициент затухания расстояния вычисляется как
1.0 / (k0 + k1 * d + k2 * d * d), гдеdпредставляет расстояние от света до освещенной точки.constantAttenuationсвойство представлено в этом вычислении какk0. Значение по умолчанию1.0.Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
linearAttenuationСвойствоЛинейный фактор применился к затуханию точечного света или центра внимания.
Объявление
Swift
var linearAttenuation: GLfloatObjective C
@property(nonatomic, assign) GLfloat linearAttenuationОбсуждение
Коэффициент затухания расстояния вычисляется как
1.0 / (k0 + k1 * d + k2 * d * d), гдеdпредставляет расстояние от света до освещенной точки.linearAttenuationсвойство представлено в этом вычислении какk1. Значение по умолчанию0.0.Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
quadraticAttenuationСвойствоКвадратичный фактор применился к затуханию точечного света или центра внимания.
Объявление
Swift
var quadraticAttenuation: GLfloatObjective C
@property(nonatomic, assign) GLfloat quadraticAttenuationОбсуждение
Коэффициент затухания расстояния вычисляется как
1.0 / (k0 + k1 * d + k2 * d * d), гдеdпредставляет расстояние от света до освещенной точки.quadraticAttenuationсвойство представлено в этом вычислении какk2. Значение по умолчанию0.0.Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
spotCutoffСвойствоУгол в градусах, где отключен центр внимания.
Объявление
Swift
var spotCutoff: GLfloatObjective C
@property(nonatomic, assign) GLfloat spotCutoffОбсуждение
Если
wкомпонент позиции не равен0.0, значениеspotCutoffсвойство определяет, является ли свет точечным светом или центром внимания. Значение сокращения180.0указывает, что свет является точечным светом; для точечного света,spotDirectionиspotExponentсвойства проигнорированы. Иначе,spotCutoffсвойство представляет максимальный угол, под которым свет вносит освещение в сцену. Угол измеряется между вектором, предоставленнымspotDirectionсвойство и вектор, нарисованный от позиции света до освещенной точки. Если угол превышает эту сумму, то свет не вносит света в сцену.Значение по умолчанию
180.0.Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
spotDirectionСвойствоВектор, указывающий направление центр внимания, проектирует.
Объявление
Swift
var spotDirection: GLKVector3Objective C
@property(nonatomic, assign) GLKVector3 spotDirectionОбсуждение
Направление по умолчанию
[0.0, 0.0, -1.0].Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
spotExponentСвойствоЗначение, указывающее, насколько фокусируемый центр внимания.
Объявление
Swift
var spotExponent: GLfloatObjective C
@property(nonatomic, assign) GLfloat spotExponentОбсуждение
Выше значение, сохраненное в
spotExponentсвойство, более трудное фокус центра внимания. Значение по умолчанию0.0.Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
Константа, описывающая, как освещение вычисляется эффектом.
Объявление
Swift
enum GLKLightingType : GLint { case PerVertex case PerPixel }Objective C
typedef enum { GLKLightingTypePerVertex, GLKLightingTypePerPixel } GLKLightingType;Константы
-
PerVertexGLKLightingTypePerVertexУказывает, что вычисления освещения выполнены в каждой вершине в треугольнике и затем интерполированы через треугольник.
Доступный в iOS 5.0 и позже.
-
PerPixelGLKLightingTypePerPixelУказывает, что вводы к вычислению освещения интерполированы через треугольник, и вычисления освещения выполняются в каждом фрагменте.
Доступный в iOS 5.0 и позже.
Обсуждение
Как правило, освещение на пиксель должно быть включено, когда оно обеспечивает улучшение качества изображения, значительно не сокращая производительность Вашего приложения. Вычисление уравнения освещения в каждом фрагменте значительно увеличивает число вычислений, требуемых вычислить освещение для сцены. Когда Ваше приложение использует центры внимания или зеркальное выделение, Однако вычисление освещения только в вершинах иногда приводит к необычным или неточным результатам, особенно. Например, когда освещение на пиксель отключено, узкий центр внимания, спроектированный в центре большого треугольника, может исчезнуть полностью, потому что вершины, определяющие треугольник, все лежат вне области, покрытой центром внимания. Тот же самый треугольник, когда представлено с помощью освещения на пиксель, был бы представлен правильно.
Оператор импорта
Objective C
@import GLKit;Swift
import GLKitДоступность
Доступный в iOS 5.0 и позже.
-
