2014-04-05 12 views
6

Aşağıdaki kod var içinde penceresini açın başarısız: Ubuntu ve Windows üzerinde masaüstümde çalışıyorGLFW OSX

glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing 
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); 
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 

// Open window and create OpenGL context 
GLFWwindow * window; 
window = glfwCreateWindow(1024, 768, "OpenGL Testing", NULL, NULL); 
if(window == NULL) 
{ 
    fprintf(stderr, "Failed to open GLFW Window.\n"); 
    glfwTerminate(); 
    return -1; 
} 

ama OSX çalıştıran benim laptop başarısız olur. Dizüstü bilgisayarın OpenGL'nin bu sürümünü desteklememesi ile ilgili bir sorun olduğunu düşündüm, ancak video kartıyla 4.1'e kadar destekliyor.

nVidia'nın yerine tümleşik intel GPU kullanıyor olabileceğini düşündüm, ancak gördüğüm kadarıyla GLFW, görüntüyü yapmak için doğru GPU'yu zorlayacaktır.

Bağlamı 2.1 olarak değiştirirsem, her şey işe yarıyor gibi görünüyor, ancak gölgelendiriciler uyumlu değil.

Herhangi bir fikrin var mı?

UPDATE: Tüm glfwWindowHint() çağrıları kaldırılırsa, pencere oluşturulur, ancak gölgelendiriciler uyumsuzdur. Bunlar kaldırılırsa, GLFW otomatik olarak version 330 core numaralı gölgelendiricilerle uyumsuz olan bir bağlamı seçer.

+0

Herhangi bir hata mesajı alıyor musunuz? – Gurgadurgen

+0

Aldığım tek hata iletisi, pencerenin ne zaman boş olacağını denetlemesi ve bir ileti yazdırması ve geri gönderilmesidir. Bağlamı 2.1 olarak değiştirirseniz veya bağlamı ayarlamayı kaldırırsam, gölgelendiricileri yüklemeye çalışırken bir uyumsuzluk hatası iletisi alırım. – danielunderwood

+0

Bu cevap yardımcı olabilir: http://stackoverflow.com/questions/22213874/creating-opengl-3-3-context-with-glfw-in-mac-os-x-10-9 – Gurgadurgen

cevap

11

Sorun, GLFW'de ileriye dönük bir uyumluluk bayrağı ayarlamaya geldi. This answer şu çağrıyı yapma cevap yol açtı:

glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

Bu aynı zamanda GLFW FAQ gösterilmektedir.