2011-08-12 10 views
8

OpenTK framework'a modern OS X desteği eklemeye çalışıyorum. Mac OS Lion, OpenGL 3.2 Temel içeriğini destekler. CGL'u kullanarak başarıyla edinebilirim. Ancak, içeriği bir Karbon penceresine bağlamak için doğru bir yol bulamıyorum.OpenGL 3.2 Bir karbon penceresindeki içerik (OS Lion, Mono)

Önceki OpenTK uygulaması aglSetDrawable yöntem kullanıldı. CGL, benzer bir undocumented CGLSetSurface olsa bile, genel olarak bir alternatifi yoktur. Kullanmaya yönelik herhangi bir girişimde, bunun için bir açıklama bulamadığım hata kodu 1001 döndürülür.

Bir karbon pencere üzerinde GL 3.2'yi almanın herhangi bir yardımı?

+0

Henüz aslan ile çalışmadım ve ayrıca opengl 3.2 içeriği ile çalışmadım. Yine de, CGL'deki bağlamı ayarlamanın ortak yolu CGLSetCurrentContext'dir. Belki bu çalışır? – moka

+0

Moka. Bağlamın kendisi iyi. Soru, kakao kullanmadan bir pencereye takmakla ilgilidir. – kvark

cevap

1

Bunu denediğimi söyleyemem, ancak bir NSOpenGLView içeren bir HICocoaView (CGLContext oluşturulabilecek bir NSOpenGLContext alacaktır) kullanarak çalışmaya başlayabilirsiniz. AGL'nin kendisi, Apple'dan daha fazla güncelleme almayı kabul etmediği ve kabul etmediği kabul edilmektedir. CGL, pencereli bağlamlar için tasarlanmamıştır. Uzun vadede, Kakao kullanmak OS X üzerinde en iyi yoldur.

+0

Cevabınız için teşekkür ederiz, @Stefan. Kakaonun şimdi tercih edilen seçim olduğunu anlıyorum. Bununla birlikte, Mono'dan bu fonksiyonlara erişmem gerekiyor, bu yüzden Objective-C sinyalleri gitmenin gerçekten zor bir yolu. Birisinin basit bir C arayüzü ile NSOpenGLView bağlamını yönetmek için bir kütüphanesi varsa yardımcı olur .... – kvark

+0

Nesne-C kodunu C++ sınıflarına sarabilirsiniz, wxWidgets veya Qt ne yapar. Bir HICocoaView zaten bir C arayüzü var zaten NSOpenGLView için bir avuç çağrı sarmak gerekir. – Stefan

+0

AGL bir bütün olarak kullanımdan kaldırıldı mı? Bunun kısımlarının 10.7'de göz ardı edildiğini fark ettim ama bunun dışında bir şey yok ... – robinjam

İlgili konular