Есть ли способ захватить содержимое CAOpenGLLayer
как изображение?
Маршрут CALayer
с использованием renderInContext:
не работает (пустое изображение) в 10.14 и согласно комментариям Apple:
Реализация этого метода в OS X v10.5 не поддерживает
вся модель композиции Core Animation. QCCompositionLayer,
Слои CAOpenGLLayer и QTMovieLayer не отображаются.
Очевидно, это никогда не исправлялось.
Маршрут NSView
с использованием
NSBitmapImageRep* rep = [self bitmapImageRepForCachingDisplayInRect:self.bounds];
[self cacheDisplayInRect:self.bounds toBitmapImageRep:rep];
тоже не работает, что приводит к одинаково пустому изображению ..
Когда вызывается в представлении, содержащем CAOpenGLLayer
, это приводит к совершенно пустому изображению, в contentView
окна представления есть содержимое окна -
за исключением области, охватываемой представлением OpenGL, которое аккуратно «вырезано» (пусто) ..
Любые предложения о том, как визуализировать содержимое OpenGL в NSImage
, приветствуются.