Voglio solo fare un gioco a schermo intero. So come cambiare la risoluzione su Windows, ma come faccio a cambiare la risoluzione sotto Linux? C'è una soluzione QT multipiattaforma per questo? Inoltre ho bordi intorno al mio GLWidget. Come faccio a far sì che il widget copra l'intera finestra?Come cambiare la risoluzione dello schermo usando QT, OpenGL, C++ e Linux?
Sto solo andando a pubblicare il codice:
#include <QtOpenGL>
class GLWidget : public QGLWidget
{
public:
void initializeGL()
{
glClearColor(0.0f, 0.0f, 1.0f, 0.0f);
glClearDepth(1.0f);
}
void paintGL()
{
glClear(GL_COLOR_BUFFER_BIT);
}
void resizeGL(int width, int height)
{
int side = qMin(width, height);
glViewport((width - side)/2, (height - side)/2, side, side);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-0.5f, +0.5f, -0.5f, +0.5f, 4.0f, 15.0f);
glMatrixMode(GL_MODELVIEW);
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDesktopWidget *desktop = app.desktop();
QWidget window;
GLWidget *glWidget = new GLWidget;
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(glWidget);
window.setLayout(mainLayout);
window.setWindowTitle("Hello GL");
window.resize(QSize(640, 480));
window.show();
window.showFullScreen();
return app.exec();
}
SDL è probabilmente un toolkit migliore per i giochi che Qt. –
Dai un'occhiata a [xrandr] (http://www.thinkwiki.org/wiki/Xorg_RandR_1.2). – Linuxios
Qualcuno [ha già chiesto questo] (http://stackoverflow.com/questions/3372252/changing-the-screen-resolution-from-qt). – sashoalm