2013-08-07 22 views
14

Windows'ta Qt kitaplığı ile deneme yapmayı deniyorum. Onların downloads page, VS2012 kullanarak inşa edilen ikili dosyaların OpenGL ile ve OpenGL olmaksızın iki formda mevcut olduğunu fark ettim. İkisi arasındaki fark tam olarak nedir? OpenGL sürümünde, OpenGL kullanılarak uygulanan bazı özel API'ları var mı, yoksa Qt oluşturma işleminin tamamı OpenGL'ye mi bağlı? Ayrıca, DirectX kullanan bir Qt sürümü var mı?Qt C++ Windows ve OpenGL kitaplığı

cevap

9

@Raman: Opengl türevi, Qt4 ile olduğu gibi masaüstü opengl sürümünü kullanıyor.

Opengl olmayan varyant açısı kullanıyor ve çalışabilmesi için DirectX SDK'nın yanında kurulu olması gerekiyor. Açı, directx ve opengles API'si arasında bir adaptördür. Sadece ikincisi doğrudan Qt tarafından desteklenmektedir, ancak ne yazık ki, directx sürücüleri Windows'da opengl (ler) olanlardan daha iyi çalışma eğilimindedir. Qt içinde bir directx arka ucunu destekleyecek bir plan yoktur, bu yüzden Google'ın Angle çalışmasıyla bu açıdan ayrılıyoruz.

Biraz fazladan bilgi sağlama konusunda, son zamanlarda e-posta listesinde bir tartışma vardı, bu kararın zaman yaratması değil, daha çok çalışma zamanı olması gerekiyordu. Ancak, henüz bu işi yapmak için henüz kimse kalkmadı. Umarım, bu yakında değişecek. Son kullanıcılar için olduğu gibi kafa karışıklığına neden oluyor, bu yüzden yalnız hissetmeyin. ;-)

Bu açıklamanın yardımcı olacağını umarız.

+1

Bu nedenle Qt OpenGL sürümü, Windows için çok iyi olmayan OpenGL sürücülerini kullanır. Qt'nin OpenGL sürümü dolaylı olarak DirectX'e dayanır, ancak sadece OpenGL -> DirectX öykünücüsü kitaplığı kullandığından. Bu doğru mu? –

+0

Evet Raman, bu doğru. – lpapp

2

DirectX, ANGLE tabanlı kitaplık aracılığıyla desteklenir.

+0

anlıyorum fakat mu sorusu bu bağlantıyı şudur: VS 2012 (http://qt-project.org/downloads, Windows 64 bit için Qt 5.1.0 arasındaki fark nedir, 525 MB) ve Windows 64-bit için Qt 5.1.0 (VS 2012, OpenGL, 522 MB) –

1

Bunun değiştiğini ve Qt 5.5'ten itibaren Qt web sitesinden indirebileceğiniz önceden oluşturulmuş ikili dosyalar -opengl dinamik seçeneği ile yapılandırılır. Yukarıdaki @lpapp'ın bahsettiği şey buydu. Qt, şu anda çalışma zamanında yerel OpenGL sürücülerini veya ANGLE'ı seçmeyi varsayılan olarak kabul eder.

Qt, aksi takdirde şimdi belirtmediğiniz sürece dahili olarak OpenGL'yi kullanır. Qt QOpenGLxxx işlevlerini ve sınıflarını kullanarak özel OpenGL içeriği de oluşturabilirsiniz.

For a simple introduction to Qt and OpenGL that covers this and more click here.