Solo quiero hacer un juego de pantalla completa. Sé cómo cambiar la resolución en Windows, pero ¿cómo puedo cambiar la resolución en Linux? ¿Hay una solución QT multiplataforma para esto? También tengo bordes alrededor de mi GLWidget. ¿Cómo hago que el widget cubra toda la ventana?¿Cómo cambiar la resolución de la pantalla usando QT, OpenGL, C++ y Linux?
sólo voy a publicar el código:
#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 es probablemente un mejor conjunto de herramientas para juegos que Qt. –
Eche un vistazo a [xrandr] (http://www.thinkwiki.org/wiki/Xorg_RandR_1.2). – Linuxios
Alguien [ya ha preguntado esto] (http://stackoverflow.com/questions/3372252/change-the-screen-resolution-from-qt). – sashoalm