25 lines
589 B
Swift
25 lines
589 B
Swift
//
|
|
// Memory.swift
|
|
// Metaballs
|
|
//
|
|
// Created by Eryn Wells on 8/6/17.
|
|
// Copyright © 2017 Eryn Wells. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension UnsafeMutableRawPointer {
|
|
func writeAndAdvance<T>(value: inout T) -> UnsafeMutableRawPointer {
|
|
let stride = MemoryLayout.stride(ofValue: value)
|
|
copyBytes(from: &value, count: stride)
|
|
return advanced(by: stride)
|
|
}
|
|
}
|
|
|
|
/// Metal's float4 type. 4 bytes per float, 16 bytes total, 16 byte aligned.
|
|
struct Float4 {
|
|
var x: Float = 0
|
|
var y: Float = 0
|
|
var z: Float = 0
|
|
var w: Float = 0
|
|
}
|