GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Anda membuat jendela di Linux dengan C++?

Untuk OpenGL, cara termudah untuk melakukannya adalah dengan menggunakan GLUT atau SDL. Berikut adalah contoh perkiraan menggunakan GLUT:

#include <GL/glut.h>

int main (int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
    glutInitWindowSize(800, 600);
    glutInitWindowPosition(100, 100);
    glutCreateWindow("My new window");
    /* ... */
}

Anda benar-benar ingin menghindari penggunaan Xlib secara langsung karena sangat membosankan untuk digunakan. Selain itu, GLUT dan SDL mempermudah porting aplikasi OpenGL Anda ke berbagai platform.


Sistem X window umumnya menggambar - Anda kemudian menggunakan toolkit seperti Qt atau GTK di atas Xlib mentah untuk menyediakan loop acara, seret dan lepas, memulai aplikasi dengan klik mouse dan semua hal 'desktop' lainnya

Cukup mudah untuk bekerja secara langsung dengan Xlib dan opengl atau jika Anda hanya ingin mempelajari opengl, kekenyangan menyediakan kerangka kerja yang Anda perlukan untuk menampilkan jendela, menangani peristiwa mouse/keyboard, dan sebagainya.


Jawaban yang diperbarui untuk 2019. Sistem seperti Unix biasanya menggunakan sistem X window. Anda dapat bekerja dengannya secara langsung menggunakan Xlib ini adalah API level rendah. Tetapi Anda mungkin membutuhkan solusi yang lebih ramah dan lintas platform. Anda dapat menggunakan:

  • Perangkat Utilitas OpenGL - GLUT
  • Pustaka Multimedia Sederhana dan Cepat - SFML
  • Lapisan DirectMedia Sederhana - SDL
  • Kerangka Pustaka Grafik - GLFW (rekomendasi saya)

GLFW ditulis dalam bahasa C dan memiliki dukungan asli untuk Windows, macOS, dan banyak sistem mirip Unix yang menggunakan Sistem X Window, seperti Linux dan FreeBSD.

Setelah diinstal, buat jendela dengan :

#include <GLFW/glfw3.h>
.
. //Entry and glfwInit()
.
GLFWwindow* window = glfwCreateWindow(1000, 1000, "MyWindow", NULL, NULL);
glfwMakeContextCurrent(window);

Linux
  1. Cara Membuat Script Perintah Linux

  2. Cara Membuat Pengguna Dengan Direktori Home Kustom Di Linux

  3. Cara Membuat Thread di Linux (Dengan Program Contoh C)

  1. Bagaimana Anda memulai Linux?

  2. Bagaimana cara membuat file dengan ukuran tertentu di Linux?

  3. Bagaimana saya bisa membuat pohon direktori di C++/Linux?

  1. Linux – Bagaimana Mengintegrasikan Suara Dengan Acara Desktop?

  2. Cara Membuat Sistem File ZFS dengan Kompresi File di Linux

  3. Bagaimana Anda menggunakan ekspresi reguler dengan perintah cp di Linux?