У меня возникли проблемы с работой с базой памяти MPSImage. Я использовал методы getBytes
и replace
в переменной члена MPSImage texture
для чтения и записи базовых данных. Проблема в том, что я не могу найти документацию о том, как память интерпретируется как изображение (т. Е. Как строятся строки, столбцы и каналы). Часть того, что усложняет проблему, заключается в том, что независимо от количества каналов функций данные хранятся как стек фрагментов текстуры RGBA, причем некоторые каналы, возможно, остаются неиспользованными. Например, с 3 каналами функций будет один срез текстуры RGBA, и пространство в одном канале останется неиспользованным.План памяти Apple Metal MPSImage
Проблема в том, как данные MPSImage фактически расположены внутри текстуры? Это кажется более сложным, чем я предполагал раньше.
После долгих экспериментов кажется, что данные расположены по-разному в зависимости от того, является ли количество каналов функций < 4 или> 4. Но мне все еще трудно понять это.
Может ли кто-нибудь объяснить мне макет данных MPSImage?