Je rencontre des problèmes pour travailler avec la mémoire sous-jacente d'une image MPS. J'ai utilisé les méthodes getBytes
et replace
sur la variable membre texture
de MPSImage pour lire et écrire les données sous-jacentes. Le problème est que je ne peux pas trouver de documentation sur la façon dont la mémoire est interprétée comme une image (c'est-à-dire, comment les lignes, les colonnes et les canaux sont disposés). Une partie de ce qui complique le problème est que, quel que soit le nombre de canaux de caractéristiques, les données sont stockées sous la forme d'une pile de tranches de texture RGBA, certains canaux restant éventuellement inutilisés. Par exemple, avec 3 canaux de caractéristiques, il y aura une tranche de texture RGBA, et l'espace d'un canal restera inutilisé.Apple Metal MPSImage Disposition de la mémoire
Le problème est, comment les données MPSImage sont-elles réellement disposées dans la texture? Cela semble plus compliqué que je ne le pensais à l'origine. Après beaucoup d'expérimentation, il semble que les données sont organisées différemment selon que le nombre de canaux est < 4 ou> 4. Mais je n'arrive toujours pas à le trouver.
Quelqu'un peut-il m'expliquer la disposition des données de MPSImage?