Как добавить прозрачность с помощью шейдера в SceneKit?

Я хотел бы получить эффект прозрачности изображения, сейчас я просто тестирую с помощью тора, но шейдер не работает с альфа-версией. Из того что я понял из этой ветки (Использование функций смешивания в Scenekit) и эта вики ссылка о прозрачности :(http://en.wikibooks.org/wiki/GLSL_Programming/GLUT/Transparency),GLBlendFunc заменяетсяpragma transparency в SceneKit.

Знаете ли вы, что не так с этим кодом?

Я создал новый проект со SceneKit, и я изменил сетку корабля для тора.

РЕДАКТИРОВАТЬ :
Я пытаюсь с плоскостью, но изображение ниже не появляется внутри плоскости, вместо этого я получаю изображение с красными и коричневатыми прямоугольниками ниже.

Мое изображение с альфа:

Результат (изображение с альфой должно заменить коричневатый цвет):

let plane = SCNPlane(width: 2, height: 2)
var texture = SKTexture(imageNamed:"small")
texture.filteringMode = SKTextureFilteringMode.Nearest
plane.firstMaterial?.diffuse.contents = texture
let ship = SCNNode(geometry: plane) //SCNTorus(ringRadius: 1, pipeRadius: 0.5)
ship.position = SCNVector3(x: 0, y: 0, z: 15)
scene.rootNode.addChildNode(ship)

let myscale : CGFloat = 10
let box = SCNBox(width: myscale, height: myscale, length: myscale, chamferRadius: 0)
box.firstMaterial?.diffuse.contents = UIColor.redColor()
let theBox = SCNNode(geometry: box)
theBox.position = SCNVector3(x: 0, y: 0, z: 5)
scene.rootNode.addChildNode(theBox)


let scnView = self.view as SCNView
scnView.scene = scene
scnView.backgroundColor = UIColor.blackColor()


var shaders = NSMutableDictionary()
shaders[SCNShaderModifierEntryPointFragment] = String(contentsOfFile: NSBundle.mainBundle().pathForResource("test", ofType: "shader")!, encoding: NSUTF8StringEncoding, error: nil)
var material = SCNMaterial()
material.shaderModifiers = shaders
ship.geometry?.materials = [material]

Шейдер:

#pragma transparent
#pragma body
_output.color.rgba = vec4(0.0, 0.2, 0.0, 0.2);

Ответы на вопрос(3)

Ваш ответ на вопрос