CAOpenGLLayer
CAOpenGLLayer обеспечивает уровень, подходящий для рендеринга содержания OpenGL.
Для обеспечения содержания OpenGL, Вы разделяете на подклассы CAOpenGLLayer и переопределение drawInCGLContext:pixelFormat:forLayerTime:displayTime:. Можно указать, что содержание OpenGL статично путем установки asynchronous свойство к NOfalse.
Наследование
-
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: BoolObjective C
@property(getter=isAsynchronous) BOOL asynchronousОбсуждение
Если
NOfalse, содержание уровня обновляется только в ответ на получение asetNeedsDisplayсообщение. КогдаYEStrue, получатель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)glContextpixelFormat:(CGLPixelFormatObj)pixelFormatforLayerTime:(CFTimeInterval)timeIntervaldisplayTime:(const CVTimeStamp *)timeStampПараметры
glContextCGLContextObjв, к которому было бы нарисовано содержание OpenGL.pixelFormatФормат пикселя, используемый, когда
glContextсоздавался.timeIntervalВремя текущего слоя.
timeStampМетка времени дисплея связалась с
timeInterval. Может бытьnull.Возвращаемое значение
YEStrueесли получатель должен представить содержание OpenGL,NOfalseиначе.Обсуждение
Этот метод вызывают прежде, чем попытаться представить кадр в течение времени уровня, указанного
timeInterval. Если возвращается методNOfalse, кадр пропускается. Реализация по умолчанию всегда возвращаетсяYEStrue.Оператор импорта
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)glContextpixelFormat:(CGLPixelFormatObj)pixelFormatforLayerTime:(CFTimeInterval)timeIntervaldisplayTime:(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 и позже.
