【问题标题】:Initializing NSOpenGLPixelFormat in Swift在 Swift 中初始化 NSOpenGLPixelFormat
【发布时间】:2014-12-21 04:53:45
【问题描述】:

显然我是唯一一个尝试这样做的人,因为我的 Google 搜索都没有找到任何有用的信息。假设我正在像这样初始化一个属性数组:

let glPFAttributes = [
    NSOpenGLPFAAccelerated,
    NSOpenGLPFADoubleBuffer,
    NSOpenGLPFAColorSize, 48,
    NSOpenGLPFAAlphaSize, 16,
    NSOpenGLPFAMultisample,
    NSOpenGLPFASampleBuffers, 1,
    NSOpenGLPFASamples, 4,
    NSOpenGLPFAMinimumPolicy,
    0
]

这些东西都是普通的 Ints,我已经检查过了。现在如果我这样做了

let glPixelFormat = NSOpenGLPixelFormat(attributes: glPFAttributes)

编译器给了我这个错误信息:

“Int”与“NSOpenGLPixelFormatAttribute”不同

如果我在某处犯了错误,我不会看到它。

【问题讨论】:

    标签: xcode macos opengl swift nsopenglview


    【解决方案1】:

    NSOpenGLPixelFormatAttributetypeAliasUInt32NSOpenGLPixelFormat 初始化器采用 NSOpenGLPixelFormatAttribute 数组,因此您需要创建数组并将所有 Int 转换为 UInt32。下面的代码将起作用

    let glPFAttributes:[NSOpenGLPixelFormatAttribute] = [
        UInt32(NSOpenGLPFAAccelerated),
        UInt32(NSOpenGLPFADoubleBuffer),
        UInt32(NSOpenGLPFAColorSize), UInt32(48),
        UInt32(NSOpenGLPFAAlphaSize), UInt32(16),
        UInt32(NSOpenGLPFAMultisample),
        UInt32(NSOpenGLPFASampleBuffers), UInt32(1),
        UInt32(NSOpenGLPFASamples), UInt32(4),
        UInt32(NSOpenGLPFAMinimumPolicy),
        UInt32(0)
    ]
    
    
    let glPixelFormat = NSOpenGLPixelFormat(attributes: glPFAttributes)
    

    【讨论】:

      猜你喜欢
      • 2015-01-16
      • 1970-01-01
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 2014-12-17
      • 1970-01-01
      相关资源
      最近更新 更多