私は Brad Larson のすばらしいGPUImage
フレームワークを使用しようとしていGPUImageHarrisCornerDetectionFilter
ます。
コーナーは - の配列として返され、GLFloat
それUnsafeMutablePointer
をの配列に変換したいと思いますCGPoint
メモリにスペースを割り当ててみました
var cornerPointer = UnsafeMutablePointer<GLfloat>.alloc(Int(cornersDetected) * 2)
しかし、データは意味をなさないようです-ゼロまたは1E-32
Swiftで<UnsafeMutablePointer>の配列の要素をループする方法の完璧な答えのように見えるものを見つけて試しました
filter.cornersDetectedBlock = {(cornerArray:UnsafeMutablePointer<GLfloat>, cornersDetected:UInt, frameTime:CMTime) in
crosshairGenerator.renderCrosshairsFromArray(cornerArray, count:cornersDetected, frameTime:frameTime)
for floatData in UnsafeBufferPointer(start: cornerArray, count: cornersDetected)
{
println("\(floatData)")
}
しかし、コンパイラはUnsafeBufferPointer
- が気に入らなかったので、 に変更しましたUnsafeMutablePointer
が、引数リストが気に入らなかったのです。
これは素晴らしくシンプルであり、他の人がしなければならなかったに違いないことのように思えます-では、解決策は何ですか?