Glad: Mendukung pembuatan perpustakaan hanya file header

Dibuat pada 1 Jun 2016  ·  15Komentar  ·  Sumber: Dav1dde/glad

Apakah mungkin menambahkan dukungan untuk pembuatan hanya file header untuk GLAD? Maksud saya, mirip dengan perpustakaan stb .

Akan sangat berguna untuk memasukkan glad.h ke dalam proyek dan menghindari modifikasi pipeline.

Ini dia contoh yang sedang saya kerjakan; Saya membuat file header GLAD saja sendiri secara manual.

enhancement glad2

Komentar yang paling membantu

Sebagai peringatan, cabang glad2 mendukung opsi hanya header sekarang!

python -m glad --out-path=build --api="gl:core=" --extensions= c --header-only

Semua 15 komentar

Saya pikir ini adalah ide bagus. Saya tidak pernah benar-benar ingin memasukkan file-file senang dengan sisa kode saya, tetapi alternatif untuk saat ini hanya sedikit terlalu rumit.

Saya pikir kesederhanaan adalah salah satu fitur dari kesenangan yang membuatnya berdiri di atas istirahat (seperti GLEW). Memiliki hanya file header untuk diimpor akan membuatnya lebih sederhana dan lebih baik.

Namun, saya membayangkan mengkompilasi seluruh file yang dibuat @raysan5 membutuhkan waktu, terutama jika disertakan dalam beberapa file. Cukup sering saya hanya ingin seperti GLuint yang dideklarasikan untuk file header saya. Mungkin glad_types.h akan bagus. Secara pribadi saya tidak khawatir tentang banyak file, melainkan file .c .

Hai @Shimmen , saya menggunakan versi senang profil inti OpenGL 3.3, awalnya, glad.h sudah ~14K LoC dan glad.c ~7.6K LoC. Setelah disatukan, glad.h adalah ~22K LoC dan waktu kompilasi dengan GCC 4.7.2 membutuhkan waktu sekitar 2-3 detik di dev workstation saya.

Saya sedang mempertimbangkan untuk membuat permintaan tarik. Apakah Anda ingin ini menjadi opsi untuk hanya memiliki file header dan haruskah itu menjadi default?

Hei, itu luar biasa!

Saya masih berpikir apakah opsi itu masuk akal, seperti yang ditunjukkan sebelumnya, file header akan sangat besar dan memperlambat proses kompilasi sedikit. Saya juga tidak yakin apakah memisahkan header menjadi beberapa file header adalah ide yang bagus.

Kemudian lagi, memiliki opsi mungkin tidak ada salahnya, opsi header-only tidak akan menjadi default.

Saya menggunakan alat web untuk hanya memilih ekstensi yang saya butuhkan (dasar OpenGL 3.3 Core) dan kemudian saya membuat file header saja; itu sekitar 5K LoC dan dikompilasi dalam milidetik (penundaan apa pun tidak terlalu mencolok).

Sebagai peringatan, cabang glad2 mendukung opsi hanya header sekarang!

python -m glad --out-path=build --api="gl:core=" --extensions= c --header-only

Praprosesor modern sangat cepat sehingga ketika GLAD_IMPLEMENTATION tidak ditentukan, hampir tidak ada dampak kinerja.

Tambahan yang bagus @Dav1dde! Terima kasih banyak atas pembaruannya! :)

Adakah berita kapan fungsi ini akan tersedia di situs web atau kapan versi 2 diluncurkan secara resmi? Terima kasih!

Saya tidak memiliki ETA.

Jika Anda ingin bermain-main dengannya, cabang glad2 harus menghasilkan Kode-C yang berfungsi. API sedikit berubah: gladLoadGL adalah satu-satunya cara untuk memuat konteks GL dan selalu harus melewati fungsi loader.

Saya berharap kami bisa mendapatkan pembaruan status kapan ini bisa sampai ke situs web. Saya suka layanan web! Saya pikir itu bagus! Dukungan hanya header akan membuatnya sempurna. Terima kasih!

http://glad2.dav1d.de saat ini meng-host cabang glad2, ini berfungsi tetapi tanpa API tetap. Glad2 hanya mendukung header. Jika Anda menemukan bug, saya senang untuk memperbaikinya.

Saya yakin saya menemukan beberapa masalah dengan ini:

  1. Pelindung header __glad_gl_h_ harus ditutup di akhir file, tidak hanya setelah bagian glad.h
  2. Anda harus mendefinisikan semua fungsi sebagai inline jika tidak, Anda melanggar ODR, yaitu tidak mungkin untuk memasukkannya lebih dari sekali

Terima kasih, ya hanya headernya saja yang masih perlu beberapa perbaikan.

@elmindreda mengarahkan saya ke (agar saya tidak lupa): https://github.com/nothings/stb/blob/master/docs/stb_howto.txt#L9

Bekerja di glad2.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

incendor picture incendor  ·  8Komentar

sasmaster picture sasmaster  ·  9Komentar

Maigo picture Maigo  ·  4Komentar

ButchDean picture ButchDean  ·  4Komentar

MythreyaK picture MythreyaK  ·  9Komentar