Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы GLKit ссылка класса GLKEffectPropertyLight

Опции
Развертывание Target:

На этой странице
Язык:

GLKEffectPropertyLight

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.

Наследование


Соответствует


Оператор импорта


Swift

import GLKit

Objective C

@import GLKit;

Доступность


Доступный в OS X v10.8 и позже.
  • Булево значение, указывающее, должны ли вычисления быть выполнены на этом свету.

    Объявление

    Swift

    var enabled: GLboolean

    Objective C

    @property(nonatomic, assign) GLboolean enabled

    Обсуждение

    Если значение enabled GL_TRUE, тогда освещающие вычисления выполняются для этого света. Если значение GL_FALSE, этот свет пропускается при вычислениях цвета фрагмента.

    Оператор импорта

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • позиция позиция Свойство

    Позиция света в мировых координатах.

    Объявление

    Objective 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;

    Доступность

    Доступный в OS X v10.8 и позже.

  • Преобразование применилось к позиции и направлению света прежде, чем вычислить вклад света.

    Объявление

    Swift

    var transform: GLKEffectPropertyTransform!

    Objective C

    @property(nonatomic, retain) GLKEffectPropertyTransform *transform

    Обсуждение

    Значение по умолчанию является единичной матрицей.

    Оператор импорта

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • ambientColor ambientColor Свойство

    Окружающая часть света.

    Объявление

    Objective C

    @property(nonatomic, assign) GLKVector4 ambientColor

    Оператор импорта

    Objective C

    @import GLKit;

    Доступность

    Доступный в OS X v10.8 и позже.

  • diffuseColor diffuseColor Свойство

    Рассеянная часть света.

    Объявление

    Objective C

    @property(nonatomic, assign) GLKVector4 diffuseColor

    Оператор импорта

    Objective C

    @import GLKit;

    Доступность

    Доступный в OS X v10.8 и позже.

  • specularColor specularColor Свойство

    Зеркальная часть света.

    Объявление

    Objective C

    @property(nonatomic, assign) GLKVector4 specularColor

    Оператор импорта

    Objective C

    @import GLKit;

    Доступность

    Доступный в OS X v10.8 и позже.

  • Постоянный множитель применился к затуханию точечного света или центра внимания.

    Объявление

    Swift

    var constantAttenuation: GLfloat

    Objective 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

    Доступность

    Доступный в OS X v10.8 и позже.

  • Линейный фактор применился к затуханию точечного света или центра внимания.

    Объявление

    Swift

    var linearAttenuation: GLfloat

    Objective 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

    Доступность

    Доступный в OS X v10.8 и позже.

  • Квадратичный фактор применился к затуханию точечного света или центра внимания.

    Объявление

    Swift

    var quadraticAttenuation: GLfloat

    Objective 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

    Доступность

    Доступный в OS X v10.8 и позже.

  • spotCutoff spotCutoff Свойство

    Угол в градусах, где отключен центр внимания.

    Объявление

    Swift

    var spotCutoff: GLfloat

    Objective 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

    Доступность

    Доступный в OS X v10.8 и позже.

  • spotDirection spotDirection Свойство

    Вектор, указывающий направление центр внимания, проектирует.

    Объявление

    Objective C

    @property(nonatomic, assign) GLKVector3 spotDirection

    Обсуждение

    Направление по умолчанию [0.0, 0.0, -1.0].

    Оператор импорта

    Objective C

    @import GLKit;

    Доступность

    Доступный в OS X v10.8 и позже.

  • spotExponent spotExponent Свойство

    Значение, указывающее, насколько фокусируемый центр внимания.

    Объявление

    Swift

    var spotExponent: GLfloat

    Objective C

    @property(nonatomic, assign) GLfloat spotExponent

    Обсуждение

    Выше значение, сохраненное в spotExponent свойство, более трудное фокус центра внимания. Значение по умолчанию 0.0.

    Оператор импорта

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Константа, описывающая, как освещение вычисляется эффектом.

    Объявление

    Swift

    enum GLKLightingType : GLint { case PerVertex case PerPixel }

    Objective C

    typedef enum { GLKLightingTypePerVertex, GLKLightingTypePerPixel } GLKLightingType;

    Константы

    • PerVertex

      GLKLightingTypePerVertex

      Указывает, что вычисления освещения выполнены в каждой вершине в треугольнике и затем интерполированы через треугольник.

      Доступный в OS X v10.8 и позже.

    • PerPixel

      GLKLightingTypePerPixel

      Указывает, что вводы к вычислению освещения интерполированы через треугольник, и вычисления освещения выполняются в каждом фрагменте.

      Доступный в OS X v10.8 и позже.

    Обсуждение

    Как правило, освещение на пиксель должно быть включено, когда оно обеспечивает улучшение качества изображения, значительно не сокращая производительность Вашего приложения. Вычисление уравнения освещения в каждом фрагменте значительно увеличивает число вычислений, требуемых вычислить освещение для сцены. Когда Ваше приложение использует центры внимания или зеркальное выделение, Однако вычисление освещения только в вершинах иногда приводит к необычным или неточным результатам, особенно. Например, когда освещение на пиксель отключено, узкий центр внимания, спроектированный в центре большого треугольника, может исчезнуть полностью, потому что вершины, определяющие треугольник, все лежат вне области, покрытой центром внимания. Тот же самый треугольник, когда представлено с помощью освещения на пиксель, был бы представлен правильно.

    Оператор импорта

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

    Доступный в OS X v10.8 и позже.