SwiftGL / Math

SwiftGL Math Library
MIT License
63 stars 22 forks source link

Add unsafe pointer access to MatrixType #6

Open Zollerboy1 opened 4 years ago

Zollerboy1 commented 4 years ago

This makes working with e.g. OpenGL much easier.

As an example, this allows me to write

matrix.withUnsafePointer {
    glUniformMatrix4fv(location, 1, GL_FALSE, $0)
}

This code is much cleaner compared to


withUnsafeBytes(of: matrix) { rawBuffer in
    let buffer = UnsafeBufferPointer(start: rawBuffer.baseAddress!.assumingMemoryBound(to: Float.self), count: 4 * 4)
    glUniformMatrix4fv(location, 1, GL_FALSE, buffer.baseAddress)
}