DDDKit 1.4.0

DDDKit 1.4.0

测试测试过
语言语言 SwiftSwift
授权 MIT
发布上次发布2018年4月
SPM支持 SPM

Guillaume Sabran 维护。



DDDKit 1.4.0

  • 作者:
  • Guillaume Sabran

DDDKit

Swift Version Version License Platform

一个开源库,支持 360 度视频和图片。它是一个通用的 3D 库,您可以用它做更多的事情!

使用实例

  • 360 度视频播放器
  • 360 度图像显示
  • 通用 3D 场景
  • 3D 场景中的照片/视频过滤器

安装

查看 wiki!或

pod 'DDDKit'

快速入门

import DDDKit
import AVFoundation

class ViewController: DDD360VideoViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
    show(from: myVideoURL)
  }
}

示例

图像过滤器(易于创新!)

// B&W filter:
@IBAction func didPressBW(_ sender: Any) {
  let program = try! DDDShaderProgram(fragment: defaultShader, shaderModifiers: [
    .fragment: "gl_FragColor = vec4(vec3(gl_FragColor.x + gl_FragColor.y + gl_FragColor.z) / 3.0, 1.0);",
  ])
  videoNode.material.shaderProgram = program
}

360 立方投影

node.geometry = DDDGeometry.Cube()
let videoTexture = DDDVideoTexture(player: player) // AVPlayer with 360 cubic video
node.material.set(
  property: videoTexture,
  for: "SamplerY",
  and: "SamplerUV"
)

演示应用程序截图

output output

文档

查看维基

功能

  • 易用的语法和逻辑
  • 支持图像和视频纹理
  • 直接且易于访问着色器代码、着色器修饰符 -> 易于制作图像过滤器
  • 关注视频支持的可靠性。
  • 支持等角和立方360度
  • 可以具有任何形状/位置的元素

为什么不使用SceneKit?

  • SceneKit存在一些问题,如内存泄漏,视频支持失败(参见SO
  • 不支持AVPlayerLayer / AVPlayer作为视频输入
  • 间接的视频支持(通过SpriteKit)
  • iOS 10下OpenGL支持的渲染失败
  • 文档质量较差
  • 对苹果问题不响应,并且没有修复时间表/透明度。
  • 无法访问代码自行修复,因为这不是开源的。

作者

Guillaume Sabran,[email protected],Pie公司首席技术官

许可证

DDDKit 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。