어떻게 SceneKit의 SCN 프로그램에 비디오 입력을 연결할 수 있습니까? SCN 프로그램 - 비디오 입력
사용자 지정 프로그램을 사용하지 않고, 내가 할 수있는 :SKScene
에 비디오를 렌더링하고
SCNMaterial
에 대한 입력으로 사용
func set(video player: AVPlayer, on node: SCNNode) {
let size = player.currentItem!.asset.tracks(
withMediaType: AVMediaTypeVideo).first!.naturalSize
let videoNode = SKVideoNode(avPlayer: player)
videoNode.position = CGPoint(x: size.width/2, y: size.height/2)
videoNode.size = size
let canvasScene = SKScene()
canvasScene.size = size
canvasScene.addChild(videoNode)
let material = SCNMaterial()
material.diffuse.contents = canvasScene
node.geometry?.materials = [material]
}
.
노드에 SCNProgram
을 사용하고 싶지만 플레이어 입력을 첨부 할 수 없습니다. 솔루션에서 SKScene
중간 렌더링을 사용하지 않더라도 괜찮습니다. 그것이 없으면 할 수 있다면 실제로 더 좋은 것으로 들립니다.
OpenGL 태그에 태그가 추가 된 이유는 무엇입니까? 질문과 관련된 OpenGL이 있습니까? – thokra
일반적으로 버퍼 바인딩, 특히 비디오와 관련된 많은 그래픽 작업이 있습니다. 현재이 코드 스 니펫을보고 있습니다 : https://github.com/asymptotik/asymptotik-rnd-scenekit-kaleidoscope/blob/01b58ed87a33c6353a398ab0bf77686e2ec96644/Atk_Rnd_VisualToys/VideoCaptureBuffer.swift#L121-L218 많은 OpenGL 용어를 사용합니다. 하지만 더 적절한 태그가 있다고 생각한다면, lmk – Guig