Я пишу некоторый код об OpenGL ES. и я рисую треугольник и хочу нанести на него изображение в качестве текстуры. Поэтому я определяю такую структуру.
struct SceneVertor {
var postion : GLKVector3
var texture : GLKVector2
init(_ value:(Float, Float, Float, Float, Float)) {
self.postion = GLKVector3(v: (value.0, value.1, value.2))
self.texture = GLKVector2(v: (value.3, value.4))
}
}
но когда я нашел glVertexAttribPointer
функцию. Последний аргумент - это тип UnSafeRowPointer. В Objective-C этот аргумент может быть
Null + offsetof(SceneVertor, texture)
но я не понимаю, чтобы изменить это с помощью Swift.
В Swift 4.2 мы можем рассчитать смещение следующим образом
MemoryLayout<SceneVertor>.offset(of: \SceneVertor.texture)
Теперь, как я могу использовать его в функции glVertexAttribPointer
.
ТНХ.