2012-12-18 19 views
5

Linux/Windows masaüstü bilgisayarlar için Qt ve OpenGL kullanarak yeni bir GUI uygulama projesine başlıyorum. Şimdiye kadar benim varsayımlarım: OpenGL 4.1 veya üstü (gereksinim) ile Qt GUI (C++ ... değil QML/QtQuick 2) kullanın. Bazı okumalardan sonra, hangi yolu seçeceğimi tamamen kaybettim. Uygulamamın, destek ve kütüphaneler anlamında gelecekteki kanıtlarını koruyacak yolu nedir?Qt 4.x/5.x ve Desktop Gui uygulaması için OpenGL: Hangi modülü seçmeli?

Qt 4.x veya Qt 5.x? Standart OpenGL veya QGL veya QOpenGL veya QtOpenGL sargılar? QWidget/QGLWidget (Qt 4.x) veya QWindow (Qt 5.x)?

Uygulama masaüstü ortamında çalışacak şekilde tasarlanmıştır ve çok sayıda dosya (geometri) açma/kaydetme, 3D boyama ve bazı görüntüleme işlemlerini gerçekleştirecektir. Birisi, mümkünse bazı açıklamalarla seçmek için en iyi kombinasyona işaret edebilir mi? Qt 5 ve OpenGL üzerinde

Sean Harmer presentation sorularıma bazı bölümlerini cevap vermedi ama o QOpenGL QtQuick 2. Doğru kullanılmak üzere bir lightweighted versiyonunu olduğumu hissettim QtQuick 2. QML ve kullanmaya başladıktan sonra biraz kayboldu eğer bende yanılıyorsam lütfen.

cevap

2

Qt 5.0 hala beta sürümündedir, bu nedenle projeniz ciddiyse, qt 4.8 ile devam etmelisiniz, çünkü bu en son kararlı sürümdür. Bununla birlikte, bazı Qt 5.0 özelliklerine sahip olmanız gerekiyorsa, başka bir seçeneğiniz yoktur, ancak 5.0 ile devam edebilirsiniz.

Qt'yi seçtiğinizden, ona bağlı kalmalısınız. Bu QtOpenGL kullanarak anlamına gelir. Bu, standart OpenGL kullanamayacağınız anlamına gelmez. QtOpenGL, bazı OpenGL çağrılarını basitleştirmek ve daha fazla nesne odaklı hale getirmek için API sağlar. Sonuçta, OpenGL, C++ sınıflarının değil C işlevlerinden oluşur.

+0

Teşekkür ederiz BЈовић. QtOpenGL modülü/Qt 4.8 ile bir başlangıç ​​yapacağım ve Qt 5.1 ile ilgili bazı QtOpenGL ile ilgili sorunların düzeltilmesi için kodun Qt 5.0'a (gelecekte) getirilmesini sağlayacağım. – Maiss

+0

Diğer taraftan, OpenGL'de yeniyseniz ve API'yi anlamak istiyorsanız, doğrudan API'yi kullanın. –

+0

@MichaelIV Ancak opengl'in API'sini doğrudan kullanmak için Qt kullanmazdım. Bir pencere oluşturmak için SDL veya glut kullanırdım. –