Avatar
omochimetaru 7/2/2018 9:45 AM
let plane = SCNPlane() self.plane = plane let planeNode = SCNNode(geometry: plane) scene.rootNode.addChildNode(planeNode) planeNode.scale = SCNVector3(4, 4, 4) let surfaceShader = """ auto diffuse = _surface.diffuse; diffuse = vec4(diffuse.r, 0, 0, 1); _surface.diffuse = diffuse; """ plane.firstMaterial!.shaderModifiers = [ SCNShaderModifierEntryPoint.surface: surfaceShader]
9:46 AM
SceneKitのマテリアルに対して shader modifier という仕組みで サブシェーダーが書ける。面白い。
👀 1
9:47 AM
でも、このシェーダーがコンパイルエラーになってる時にそれを拾う方法がわからなくて死にそう