GetRectsBeingDrawn возвращает NULL

У меня есть собственный класс NSView, который я переношу с OpenGL на Metal для рендеринга графического процессора. Много мест в коде, раньше мы вызывали setNeedsDisplayInRect с недействительным прямоугольником на NSView, который я запросил во время вызова drawRect для рендеринга окончательного контента на экран.

Для перехода на Metal я добавил CAMetalLayer в свой собственный класс NSView. С добавлением этого CAMetalLayer, getRectsBeingDrawn возвращает NULL.

  1. Мы говорим, что getRectsBeingDrawn работает только с неслойными / неметаллическими поддерживаемыми NSViews?

Более того, я также вижу setNeedsDisplayInRect в CALayer, но не вижу такого геттера, как getRectsBeingDrawn, в CALayer.

  1. Должен ли я перейти на setNeedsDisplayInRect в CALayer для грязных прямоугольников в случае просмотра с поддержкой слоев? Но опять же, как мне восстановить эти грязные выпадения?

привет, у меня та же проблема, портирую мое приложение openGL на металл, а getRectsBeingDrawn возвращает NULL. stackoverflow.com/questions/60057910/…

zeus 05.02.2020 20:21

@loki, честно говоря, я до сих пор не знаю, как это сделать правильно.

user007 07.02.2020 11:30
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
2
91
0

Другие вопросы по теме