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

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

Разработчик

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

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

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

GLKBaseEffect

GLKBaseEffect класс обеспечивает программы построения теней, подражающие многим способам поведения, предоставленным освещением OpenGL ES 1.1 и штриховкой модели, включая материалы, освещение и текстурирование. Основной эффект позволяет до трех световых сигналов и двум текстурам быть примененными к сцене.

Во время инициализации Ваше приложение сначала создает совместимый OpenGL или OpenGL контекст ES и делает его текущим. Затем это выделяет и инициализирует новый объект эффекта, конфигурирует свои свойства и вызывает его prepareToDraw метод. Привязка эффекта заставляет программу построения теней быть скомпилированной и связанной с текущим контекстом. Основной эффект также требует, чтобы данные вершины были предоставлены Вашим приложением. Для снабжения данными вершины создайте один или несколько объектов массива вершины. Для каждого атрибута, требуемого программой построения теней, объект массива вершины должен включить атрибут и указать на данные, хранившие в буферном объекте вершины.

При рендеринге времени Ваше приложение вызывает эффект prepareToDraw метод для подготовки эффекта. Затем это связывает объект массива вершины и представляет одну или более команд рисования.

Освещающие вычисления для основного эффекта сделаны в глазных пространственных координатах. light0, light1 и light2 свойства занимают позицию и определяют направление световых сигналов основного эффекта. transform свойство содержит матрицу представления модели, присвоенную сцене. Когда свет присваивается новая позиция или направление спота, те значения сразу изменяются матрицей представления текущей модели. Таким образом важно упорядочить изменения в матрице представления модели и изменения в световых сигналах для достижения желаемого легкого расположения. Легкие позиции, которые должны быть преобразованы в способ, подобный геометрии сцены, должны быть установлены после того, как матрица представления модели обновляется.

Разделение на подклассы примечаний

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

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


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


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


Swift

import GLKit

Objective C

@import GLKit;

Доступность


Доступный в OS X v10.8 и позже.
  • метка метка Свойство

    Строка раньше называла Ваш эффект.

    Объявление

    Swift

    var label: String!

    Objective C

    @property(nonatomic, copy) NSString *label

    Обсуждение

    Имя эффекта не используется непосредственно GLKit, но распечатано, например, при журналировании объекта к консоли через NSLog функция.

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • Когда эффект связывается, modelview, проекция и трансформации текстуры применились к данным вершины. (только для чтения)

    Объявление

    Swift

    var transform: GLKEffectPropertyTransform! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyTransform *transform

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • lightingType lightingType Свойство

    Стратегия использование эффекта для вычисления света оценивает в каждый фрагмент. Посмотрите Determining How Lighting is Calculated.

    Объявление

    Swift

    var lightingType: GLKLightingType

    Objective C

    @property(nonatomic, assign) GLKLightingType lightingType

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • Булево значение, указывающее, вычисляется ли освещение для обеих сторон примитива.

    Объявление

    Swift

    var lightModelTwoSided: GLboolean

    Objective C

    @property(nonatomic, assign) GLboolean lightModelTwoSided

    Обсуждение

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

    Установка значения этого свойства к GL_TRUE может повлиять на производительность. Только используйте двухстороннее освещение, когда любая сторона примитива могла теоретически быть видима к камере.

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • Свойства материала, используемые при вычислении света, оценивают за представленный примитив. (только для чтения)

    Объявление

    Swift

    var material: GLKEffectPropertyMaterial! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyMaterial *material

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • Цвет освещения применился ко всем примитивам, представленным эффектом.

    Объявление

    Objective C

    @property(nonatomic, assign) GLKVector4 lightModelAmbientColor

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

    Objective C

    @import GLKit;

    Доступность

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

  • light0 light0 Свойство

    Свойства освещения для первого света в сцене. (только для чтения)

    Объявление

    Swift

    var light0: GLKEffectPropertyLight! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyLight *light0

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • light1 light1 Свойство

    Свойства освещения для второго света в сцене. (только для чтения)

    Объявление

    Swift

    var light1: GLKEffectPropertyLight! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyLight *light1

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • light2 light2 Свойство

    Свойства освещения для третьего света в сцене. (только для чтения)

    Объявление

    Swift

    var light2: GLKEffectPropertyLight! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyLight *light2

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • texture2d0 texture2d0 Свойство

    Свойства для первой текстуры. (только для чтения)

    Объявление

    Swift

    var texture2d0: GLKEffectPropertyTexture! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyTexture *texture2d0

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • texture2d1 texture2d1 Свойство

    Свойства для второй текстуры. (только для чтения)

    Объявление

    Swift

    var texture2d1: GLKEffectPropertyTexture! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyTexture *texture2d1

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • textureOrder textureOrder Свойство

    Порядок, в котором текстуры применяются к представленным примитивам.

    Объявление

    Swift

    var textureOrder: [AnyObject]!

    Objective C

    @property(nonatomic, copy) NSArray *textureOrder

    Обсуждение

    Значение этого свойства должно быть массивом, содержание которого - все GLKEffectPropertyTexture объекты, предоставленные эффектом. Порядок этих объектов в массиве определяет порядок, в котором текстуры применяются в программе построения теней. Например, для инвертирования порядка, что текстуры применяются к сцене приложение использовало бы следующий код:

    • baseEffect.textureOrder = [NSArray arrayWithObjects: baseEffect.texture2d1, baseEffect.texture2d0, nil];

    Значение по умолчанию является массивом, выполняющим наложения текстур в увеличивающемся порядке, пропуская любые невключенные наложения текстур.

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • вуаль вуаль Свойство

    Свойства вуали для применения к сцене. (только для чтения)

    Объявление

    Swift

    var fog: GLKEffectPropertyFog! { get }

    Objective C

    @property(nonatomic, readonly) GLKEffectPropertyFog *fog

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • Булево значение, указывающее, использовать ли цветной атрибут вершины при вычислении взаимодействия света с материалом.

    Объявление

    Swift

    var colorMaterialEnabled: GLboolean

    Objective C

    @property(nonatomic, assign) GLboolean colorMaterialEnabled

    Обсуждение

    Если значение установлено в GL_TRUE, тогда атрибут цвета, предоставленный в данных вершины, используется в качестве цвета материала при выполнении любых вычислений освещения. Если значение установлено в GL_FALSE тогда цвета, сохраненные в material свойство используется для освещения примитива. Значение по умолчанию GL_FALSE.

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • Булево значение, указывающее, использовать ли постоянный цвет.

    Объявление

    Swift

    var useConstantColor: GLboolean

    Objective C

    @property(nonatomic, assign) GLboolean useConstantColor

    Обсуждение

    Если значение установлено в GL_TRUE, тогда значение, сохраненное в constantColor свойство используется в качестве значения цвета для каждой вершины. Если значение установлено в GL_FALSE, тогда Ваше приложение, как ожидают, включит GLKVertexAttribColor припишите и предоставьте цветные данные на вершину. Значение по умолчанию GL_FALSE.

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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

  • constantColor constantColor Свойство

    Постоянный цвет, используемый, когда на вершину окрашивают данные, не предоставлен.

    Объявление

    Objective C

    @property(nonatomic, assign) GLKVector4 constantColor

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

    Objective C

    @import GLKit;

    Доступность

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

  • Подготавливает эффект к рендерингу.

    Объявление

    Swift

    func prepareToDraw()

    Objective C

    - (void)prepareToDraw

    Обсуждение

    Эффект должен быть подготовлен после того, как он сконфигурирован и снова когда Ваше приложение хочет использовать эффект представить любые примитивы. Когда Ваше приложение подготавливает эффект, некоторое состояние OpenGL изменено, чтобы позволить эффекту работать:

    • GL_CURRENT_PROGRAM состояние всегда изменяется для указания на программу построения теней, предоставленную объектом эффекта.

    • Когда текстурирование включено, GL_TEXTURE_BINDING_2D состояние может также измениться.

    Если Ваше приложение требует, чтобы предыдущее состояние было сохранено, прежде чем эффект изменит их, это должно явно сохранить и восстановить значения.

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

    Objective C

    @import GLKit;

    Swift

    import GLKit

    Доступность

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