initial commit

This commit is contained in:
Marius Horga 2016-11-26 22:54:25 +02:00
parent 8a4ab80d43
commit 04968efaed
4 changed files with 27 additions and 19 deletions

View File

@ -31,6 +31,16 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
297F43071DEA287400638FC8 /* Supporting files */ = {
isa = PBXGroup;
children = (
298451331D47EF08008D81B9 /* Main.storyboard */,
2984513B1D47EF08008D81B9 /* Info.plist */,
2984512F1D47EF08008D81B9 /* AppDelegate.swift */,
);
name = "Supporting files";
sourceTree = "<group>";
};
298451231D47EF07008D81B9 = {
isa = PBXGroup;
children = (
@ -51,9 +61,7 @@
isa = PBXGroup;
children = (
298451411D47F0BF008D81B9 /* MetalView.swift */,
298451331D47EF08008D81B9 /* Main.storyboard */,
2984513B1D47EF08008D81B9 /* Info.plist */,
2984512F1D47EF08008D81B9 /* AppDelegate.swift */,
297F43071DEA287400638FC8 /* Supporting files */,
);
path = chapter06;
sourceTree = "<group>";
@ -85,7 +93,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0800;
LastUpgradeCheck = 0800;
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = Marius;
TargetAttributes = {
2984512B1D47EF08008D81B9 = {
@ -164,8 +172,10 @@
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
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[sdk=iphoneos*]" = "iPhone Developer";
@ -212,8 +222,10 @@
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
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[sdk=iphoneos*]" = "iPhone Developer";

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

@ -11,29 +11,25 @@ import UIKit
class MetalView: UIView {
var commandQueue: MTLCommandQueue!
var metalLayer: CAMetalLayer {
return self.layer as! CAMetalLayer
}
override class func layerClass() -> AnyClass {
return CAMetalLayer.self
}
var metalLayer: CAMetalLayer!
override func didMoveToWindow() {
super.didMoveToWindow()
let device = MTLCreateSystemDefaultDevice()!
commandQueue = device.newCommandQueue()
metalLayer = CAMetalLayer()
metalLayer.device = MTLCreateSystemDefaultDevice()!
metalLayer.frame = layer.frame
layer.addSublayer(metalLayer)
commandQueue = metalLayer.device?.makeCommandQueue()
redraw()
}
private func redraw() {
let drawable = metalLayer.nextDrawable()!
let descriptor = MTLRenderPassDescriptor()
descriptor.colorAttachments[0].clearColor = MTLClearColorMake(0, 1, 1, 1)
descriptor.colorAttachments[0].clearColor = MTLClearColorMake(0, 0.5, 0.5, 1)
descriptor.colorAttachments[0].texture = drawable.texture
let commandBuffer = commandQueue.commandBuffer()
let commandEncoder = commandBuffer.renderCommandEncoder(with: descriptor)
let commandBuffer = commandQueue.makeCommandBuffer()
let commandEncoder = commandBuffer.makeRenderCommandEncoder(descriptor: descriptor)
commandEncoder.endEncoding()
commandBuffer.present(drawable)
commandBuffer.commit()