Skip to content

Instantly share code, notes, and snippets.

@delasign
delasign / ViewController.swift
Created August 13, 2018 16:27
A horizontal plane ARkit iOS 11.4 Swift 4 detector
// Created by Oscar De la Hera Gomez on 8/13/18.
// Copyright © 2018 Delasign. All rights reserved.
//
import UIKit
import SceneKit
import ARKit
class ViewController: UIViewController, ARSCNViewDelegate {
@delasign
delasign / ViewController.swift
Created August 13, 2018 19:37
An ARKit Placement Square
//
// ViewController.swift
//
// Created by Oscar De la Hera Gomez on 8/13/18.
// Copyright © 2018 Delasign. All rights reserved.
import UIKit
import SceneKit
import ARKit
@delasign
delasign / fadeIn.metal
Created August 18, 2018 18:04
FadeIn Metal Shader ARKit 1.5 & 2.0
//
// fadeIn.swift
// Delasign
//
// Created by Oscar De la Hera Gomez on 8/12/18.
// Copyright © 2018 Delasign. All rights reserved.
//
#include <metal_stdlib>
using namespace metal;
@delasign
delasign / fadeIn.swift
Last active August 18, 2018 18:09
FadeIn Scene Program and Material
func addFadeInMaterialToChild(child:SCNNode) {
let program = SCNProgram()
program.fragmentFunctionName = "fadeInSurfaceFragment"
program.vertexFunctionName = "fadeInVertexShader"
program.isOpaque = false;
// CREATE A MATERIAL, ADD THE PROGRAM, AND ADD IT TO THE CHILD.
let shaderMaterial = SCNMaterial()
shaderMaterial.program = program;
@delasign
delasign / stroke.metal
Created August 19, 2018 15:30
Stroke iOS 11.4 & 12 Metal Shader
//
// Stroke.swift
// Delasign
//
// Created by Oscar De la Hera Gomez on 8/12/18.
// Copyright © 2018 Delasign. All rights reserved.
//
#include <metal_stdlib>
using namespace metal;
@delasign
delasign / backwardStroke.metal
Created August 19, 2018 15:31
Backward Stroke iOS 11.4 & 12 shader
//
// BackwardStroke.swift
// Delasign
//
// Created by Oscar De la Hera Gomez on 8/12/18.
// Copyright © 2018 Delasign. All rights reserved.
//
#include <metal_stdlib>
using namespace metal;
@delasign
delasign / Texture.metal
Created August 26, 2018 23:21
A Starter Texture Shader for Metal
//
// Texture.metal
// Delasign
//
// Created by Oscar De la Hera Gomez on 8/12/18.
// Copyright © 2018 Delasign. All rights reserved.
//
#include <metal_stdlib>
using namespace metal;
func addTextureShaderToChild(child:SCNNode) {
let program = SCNProgram()
program.fragmentFunctionName = "TextureSurfaceFragment"
program.vertexFunctionName = "TextureVertexShader"
program.isOpaque = false;
// CREATE A MATERIAL, ADD THE PROGRAM, AND ADD IT TO THE CHILD.
let shaderMaterial = SCNMaterial()
shaderMaterial.program = program;
shaderMaterial.transparencyMode = .rgbZero;
@delasign
delasign / TimedStroke.metal
Last active September 3, 2018 23:37
A timed stroke shader for ARKit iOS 11.4 & 12
//
// TimedStroke.metal
// Delasign
//
// Created by Oscar De la Hera Gomez on 8/12/18.
// Copyright © 2018 Delasign. All rights reserved.
//
#include <metal_stdlib>
using namespace metal;
@delasign
delasign / addShaderWithTransparencyToChild.swift
Created September 3, 2018 23:37
Add a metal shader with transparency to child.
func addShaderWithTransparencyToChild(child:SCNNode) {
let program = SCNProgram()
let shaderName = "YOUR_SHADER_NAME";
program.fragmentFunctionName = shaderName + "SurfaceFragment"
program.vertexFunctionName = shaderName + "VertexShader"
program.isOpaque = false;
// CREATE A MATERIAL, ADD THE PROGRAM, AND ADD IT TO THE CHILD.
let shaderMaterial = SCNMaterial()