CAOpenGLLayer
CAOpenGLLayer
обеспечивает уровень, подходящий для рендеринга содержания OpenGL.
Для обеспечения содержания OpenGL, Вы разделяете на подклассы CAOpenGLLayer
и переопределение drawInCGLContext:pixelFormat:forLayerTime:displayTime:
. Можно указать, что содержание OpenGL статично путем установки asynchronous
свойство к NO
false
.
Наследование
-
NSObject
-
CALayer
-
CAOpenGLLayer
-
NSOpenGLLayer
-
QCCompositionLayer
-
SCNLayer
-
NSObject
-
CALayer
-
CAOpenGLLayer
-
NSOpenGLLayer
-
QCCompositionLayer
-
SCNLayer
Соответствует
-
AnyObject
-
CAMediaTiming
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
CAMediaTiming
-
NSCoding
-
NSObject
Оператор импорта
Swift
import QuartzCore
Objective C
@import QuartzCore;
Доступность
Доступный в OS X v10.5 и позже.
-
асинхронный асинхронный
СвойствоКогда содержание уровня обновляется, определяет.
Объявление
Swift
var asynchronous: Bool
Objective C
@property(getter=isAsynchronous) BOOL asynchronous
Обсуждение
Если
NO
false
, содержание уровня обновляется только в ответ на получение asetNeedsDisplay
сообщение. КогдаYES
true
, получательcanDrawInCGLContext:pixelFormat:forLayerTime:displayTime:
вызывается периодически, чтобы определить, должно ли быть обновлено содержание OpenGL.Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Синтезируемое средство доступа для
asynchronous
свойство.Объявление
Objective C
- (BOOL)isAsynchronous
См. также
-
canDrawInCGLContext (_: pixelFormat:forLayerTime:displayTime:) - canDrawInCGLContext:pixelFormat:forLayerTime:displayTime:
Возвраты, должен ли получатель нарисовать содержание OpenGL в течение требуемого времени.
Объявление
Swift
func canDrawInCGLContext(_
glContext
: CGLContextObj, pixelFormatpixelFormat
: CGLPixelFormatObj, forLayerTimetimeInterval
: CFTimeInterval, displayTimetimeStamp
: UnsafePointer<CVTimeStamp>) -> BoolObjective C
- (BOOL)canDrawInCGLContext:(CGLContextObj)
glContext
pixelFormat:(CGLPixelFormatObj)pixelFormat
forLayerTime:(CFTimeInterval)timeInterval
displayTime:(const CVTimeStamp *)timeStamp
Параметры
glContext
CGLContextObj
в, к которому было бы нарисовано содержание OpenGL.pixelFormat
Формат пикселя, используемый, когда
glContext
создавался.timeInterval
Время текущего слоя.
timeStamp
Метка времени дисплея связалась с
timeInterval
. Может бытьnull
.Возвращаемое значение
YES
true
если получатель должен представить содержание OpenGL,NO
false
иначе.Обсуждение
Этот метод вызывают прежде, чем попытаться представить кадр в течение времени уровня, указанного
timeInterval
. Если возвращается методNO
false
, кадр пропускается. Реализация по умолчанию всегда возвращаетсяYES
true
.Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
drawInCGLContext (_: pixelFormat:forLayerTime:displayTime:) - drawInCGLContext:pixelFormat:forLayerTime:displayTime:
Рисует содержание OpenGL в течение требуемого времени.
Объявление
Swift
func drawInCGLContext(_
glContext
: CGLContextObj, pixelFormatpixelFormat
: CGLPixelFormatObj, forLayerTimetimeInterval
: CFTimeInterval, displayTimetimeStamp
: UnsafePointer<CVTimeStamp>)Objective C
- (void)drawInCGLContext:(CGLContextObj)
glContext
pixelFormat:(CGLPixelFormatObj)pixelFormat
forLayerTime:(CFTimeInterval)timeInterval
displayTime:(const CVTimeStamp *)timeStamp
Параметры
glContext
Контекст рендеринга в, к которому должно быть представлено содержание OpenGL.
pixelFormat
Формат пикселя, используемый, когда
glContext
создавался.timeInterval
Время текущего слоя.
timeStamp
Метка времени дисплея связалась с
timeInterval
. Может бытьnull
.Обсуждение
Когда новый кадр должен быть сгенерирован в течение времени уровня, указанного, этот метод вызывают
timeInterval
. Область просмотраglContext
установлен правильно для размера уровня. Никакое другое состояние не определяется. Если метод активирует опции OpenGL, он должен отключить их перед возвратом.Реализация по умолчанию метода сбрасывает контекст.
Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает формат пикселя OpenGL, подходящий для рендеринга к набору дисплеев, указанных маской дисплея.
Объявление
Swift
func copyCGLPixelFormatForDisplayMask(_
mask
: UInt32) -> CGLPixelFormatObjObjective C
- (CGLPixelFormatObj)copyCGLPixelFormatForDisplayMask:(uint32_t)
mask
Параметры
mask
Маска дисплея содержание OpenGL будет представлена на.
Обсуждение
Когда объект формата пикселя необходим для получателя, этот метод вызывают. Реализация по умолчанию возвращает фиксированную точку на 32 бит/пкс pixelf формат, с
NoRecovery
иAccelerated
флаги установлены.Вы не должны вызывать этот метод непосредственно, он предназначается, чтобы быть переопределенным подклассами.
Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
Выпускает указанный объект формата пикселя OpenGL.
Объявление
Swift
func releaseCGLPixelFormat(_
pixelFormat
: CGLPixelFormatObj)Objective C
- (void)releaseCGLPixelFormat:(CGLPixelFormatObj)
pixelFormat
Параметры
pixelFormat
Объект формата пикселя выпустить.
Обсуждение
Этот метод вызывают, когда формат пикселя OpenGL, ранее возвращенный
copyCGLContextForPixelFormat:
.Вы не должны вызывать этот метод непосредственно, он предназначается, чтобы быть переопределенным подклассами.
Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает контекст рендеринга, которого получатель требует для указанного формата пикселя.
Объявление
Swift
func copyCGLContextForPixelFormat(_
pixelFormat
: CGLPixelFormatObj) -> CGLContextObjObjective C
- (CGLContextObj)copyCGLContextForPixelFormat:(CGLPixelFormatObj)
pixelFormat
Параметры
pixelFormat
Формат пикселя для контекста рендеринга.
Возвращаемое значение
Новое
CGLContext
со средствами рендеринга дляpixelFormat
.Обсуждение
Когда контекст рендеринга необходим получателю, этот метод вызывают. Реализация по умолчанию выделяет новый контекст с нулевым контекстом доли.
Вы не должны вызывать этот метод непосредственно, он предназначается, чтобы быть переопределенным подклассами.
Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
Выпускает указанный контекст рендеринга.
Объявление
Swift
func releaseCGLContext(_
glContext
: CGLContextObj)Objective C
- (void)releaseCGLContext:(CGLContextObj)
glContext
Параметры
glContext
Контекст рендеринга для выпуска.
Обсуждение
Этот метод вызывают, когда контекст OpenGL, ранее возвращенный
copyCGLContextForPixelFormat:
больше не необходим.Вы не должны вызывать этот метод непосредственно, он предназначается, чтобы быть переопределенным подклассами.
Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.