updated to Swift 3

This commit is contained in:
Marius Horga 2016-11-25 21:32:52 +02:00
parent 54d44001bf
commit 9a34a3ced1
14 changed files with 66 additions and 26 deletions

View File

@ -51,11 +51,19 @@
isa = PBXGroup;
children = (
29400C7E1C3AEE1300345568 /* ViewController.swift */,
297F43031DE8C78100638FC8 /* Supporting files */,
);
path = chapter01;
sourceTree = "<group>";
};
297F43031DE8C78100638FC8 /* Supporting files */ = {
isa = PBXGroup;
children = (
29400C821C3AEE1300345568 /* Main.storyboard */,
29400C851C3AEE1300345568 /* Info.plist */,
29400C7C1C3AEE1300345568 /* AppDelegate.swift */,
);
path = chapter01;
name = "Supporting files";
sourceTree = "<group>";
};
/* End PBXGroup section */
@ -85,7 +93,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0720;
LastUpgradeCheck = 0800;
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Marius Horga";
TargetAttributes = {
29400C781C3AEE1300345568 = {
@ -160,8 +168,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
@ -204,8 +214,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0800"
LastUpgradeVersion = "0810"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -31,6 +31,16 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
297F43041DE8C7B500638FC8 /* Supporting files */ = {
isa = PBXGroup;
children = (
29E74AD61C4159D60023A39A /* Main.storyboard */,
29E74AD91C4159D60023A39A /* Info.plist */,
29E74AD01C4159D60023A39A /* AppDelegate.swift */,
);
name = "Supporting files";
sourceTree = "<group>";
};
29E74AC41C4159D60023A39A = {
isa = PBXGroup;
children = (
@ -51,9 +61,7 @@
isa = PBXGroup;
children = (
29E74ADF1C415A020023A39A /* MetalView.swift */,
29E74AD61C4159D60023A39A /* Main.storyboard */,
29E74AD91C4159D60023A39A /* Info.plist */,
29E74AD01C4159D60023A39A /* AppDelegate.swift */,
297F43041DE8C7B500638FC8 /* Supporting files */,
);
path = chapter02;
sourceTree = "<group>";
@ -85,7 +93,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0720;
LastUpgradeCheck = 0800;
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Marius Horga";
TargetAttributes = {
29E74ACC1C4159D60023A39A = {
@ -160,8 +168,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
@ -204,8 +214,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0800"
LastUpgradeVersion = "0810"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -20,8 +20,8 @@ class MetalView: MTKView {
rpd.colorAttachments[0].texture = currentDrawable!.texture
rpd.colorAttachments[0].clearColor = MTLClearColor(red: 0, green: 0.5, blue: 0.5, alpha: 1)
rpd.colorAttachments[0].loadAction = .clear
let commandBuffer = device!.newCommandQueue().commandBuffer()
let commandEncoder = commandBuffer.renderCommandEncoder(with: rpd)
let commandBuffer = device!.makeCommandQueue().makeCommandBuffer()
let commandEncoder = commandBuffer.makeRenderCommandEncoder(descriptor: rpd)
commandEncoder.endEncoding()
commandBuffer.present(drawable)
commandBuffer.commit()

View File

@ -33,6 +33,16 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
297F43051DE8C7CF00638FC8 /* Supporting files */ = {
isa = PBXGroup;
children = (
29CB59951C4461EA0004DB55 /* Main.storyboard */,
29CB59981C4461EA0004DB55 /* Info.plist */,
29CB598F1C4461EA0004DB55 /* AppDelegate.swift */,
);
name = "Supporting files";
sourceTree = "<group>";
};
29CB59831C4461E90004DB55 = {
isa = PBXGroup;
children = (
@ -54,9 +64,7 @@
children = (
294BD6201C4D1FD7009CF449 /* MetalView.swift */,
29CB599E1C44665B0004DB55 /* Shaders.metal */,
29CB59951C4461EA0004DB55 /* Main.storyboard */,
29CB59981C4461EA0004DB55 /* Info.plist */,
29CB598F1C4461EA0004DB55 /* AppDelegate.swift */,
297F43051DE8C7CF00638FC8 /* Supporting files */,
);
path = chapter03;
sourceTree = "<group>";
@ -88,7 +96,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0720;
LastUpgradeCheck = 0800;
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Marius Horga";
TargetAttributes = {
29CB598B1C4461E90004DB55 = {
@ -164,8 +172,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
@ -208,8 +218,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0800"
LastUpgradeVersion = "0810"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -22,21 +22,21 @@ class MetalView: MTKView {
func render() {
device = MTLCreateSystemDefaultDevice()!
commandQueue = device!.newCommandQueue()
commandQueue = device!.makeCommandQueue()
vertexData = [-1.0, -1.0, 0.0, 1.0,
1.0, -1.0, 0.0, 1.0,
0.0, 1.0, 0.0, 1.0]
let dataSize = vertexData!.count * sizeof(Float.self)
vertexBuffer = device!.newBuffer(withBytes: vertexData!, length: dataSize, options: [])
let dataSize = vertexData!.count * MemoryLayout<Float>.size
vertexBuffer = device!.makeBuffer(bytes: vertexData!, length: dataSize, options: [])
let library = device!.newDefaultLibrary()!
let vertex_func = library.newFunction(withName: "vertex_func")
let frag_func = library.newFunction(withName: "fragment_func")
let vertex_func = library.makeFunction(name: "vertex_func")
let frag_func = library.makeFunction(name: "fragment_func")
let rpld = MTLRenderPipelineDescriptor()
rpld.vertexFunction = vertex_func
rpld.fragmentFunction = frag_func
rpld.colorAttachments[0].pixelFormat = .bgra8Unorm
do {
try rps = device!.newRenderPipelineState(with: rpld)
try rps = device!.makeRenderPipelineState(descriptor: rpld)
} catch let error {
self.print("\(error)")
}
@ -45,11 +45,11 @@ class MetalView: MTKView {
override func draw(_ dirtyRect: NSRect) {
if let drawable = currentDrawable, let rpd = currentRenderPassDescriptor {
rpd.colorAttachments[0].clearColor = MTLClearColorMake(0, 0.5, 0.5, 1.0)
let commandBuffer = commandQueue!.commandBuffer()
let commandEncoder = commandBuffer.renderCommandEncoder(with: rpd)
let commandBuffer = commandQueue!.makeCommandBuffer()
let commandEncoder = commandBuffer.makeRenderCommandEncoder(descriptor: rpd)
commandEncoder.setRenderPipelineState(rps!)
commandEncoder.setVertexBuffer(vertexBuffer, offset: 0, at: 0)
commandEncoder.drawPrimitives(.triangle, vertexStart: 0, vertexCount: 3, instanceCount: 1)
commandEncoder.drawPrimitives(type: .triangle, vertexStart: 0, vertexCount: 3, instanceCount: 1)
commandEncoder.endEncoding()
commandBuffer.present(drawable)
commandBuffer.commit()

View File

@ -96,7 +96,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0720;
LastUpgradeCheck = 0800;
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Marius Horga";
TargetAttributes = {
29C87D3C1C56E93A005F4615 = {
@ -172,8 +172,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
@ -216,8 +218,10 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0800"
LastUpgradeVersion = "0810"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"