У меня есть следующая структура в Swift
public struct PointWithValue2D {
let x: uint!
let y: uint!
let value: Float!
public init(_ x: uint, _ y: uint, _ value: Float) {
self.x = x
self.y = y
self.value = value
}
}
Размер этой структуры составляет 24 байта.Я понимал, что когда у меня была версия этой структуры для Metal, размер был бы таким же.
Однако, чтобы моя структура работала в Metal, мне пришлось добавить следующие свойства:
struct PointWithValue2D {
uint x;
uint xPad;
uint y;
uint yPad;
float value;
float valuePad;
};
Кто-нибудь может объяснить, почему это так?