Apa itu GLEW dan bagaimana cara kerjanya?


15

Saya mencari penjelasan ramah-pemula . Penjelasan situs web resmi terlalu pendek dan membuat saya lebih banyak pertanyaan daripada jawaban:


  • Apa itu GLEW?

Halaman pengembang GLEW mengatakan:

OpenGL Extension Wrangler Library (GLEW) adalah pustaka pemuatan ekstensi open-source C / C ++ lintas platform . GLEW menyediakan mekanisme run-time yang efisien untuk menentukan ekstensi OpenGL mana yang didukung pada platform target.


  • Tapi apa itu perpustakaan pemuatan ekstensi?

Wiki OpenGL mengatakan

OpenGL Memuat Library adalah perpustakaan yang memuat pointer ke fungsi OpenGL pada saat runtime, inti dan juga ekstensi .


  • Apa artinya memuat pointer ke fungsi OpenGL ?

  • Apa itu ekstensi ?

  • Apa yang dimaksud dengan " inti dan juga ekstensi "?

Jawaban:


20

Sebagian besar kompiler memberi Anda header OpenGL yang menyediakan dukungan untuk OpenGL 1.1, tetapi sebagian besar fungsi yang disediakan dalam versi OpenGL telah lama ditinggalkan, dan tidak memiliki fitur penting seperti shader dan objek buffer vertex. GLEW pada dasarnya hanya sebuah header (ada file sumber yang juga harus dikompilasi, tetapi Anda bisa memasukkannya ke dalam proyek Anda) yang menyediakan fungsionalitas OpenGL yang lebih baru.

Apa yang dimaksud dengan ekstensi?

Berikut ini tautan dari OpenGL.org tentang mereka. Itu hanya fungsi tambahan untuk OpenGL yang bukan bagian dari OpenGL. Mereka menyediakan fungsionalitas yang mungkin berguna, tetapi Anda tidak dapat menjamin bahwa mereka akan bekerja pada setiap komputer karena mereka bukan bagian dari OpenGL inti.

Apa artinya memuat pointer ke fungsi OpenGL?

OpenGL diimplementasikan oleh driver grafis sebagai sekelompok fungsi yang diimplementasikan sesuai dengan spesifikasi, bukan sebagai perpustakaan mandiri, oleh karena itu tidak dapat dengan mudah dihubungkan dengan proyek Anda.

Anda harus memanggil fungsi (seperti GetProcAddress, tetapi tergantung pada platform yang Anda kembangkan) untuk mendapatkan pointer fungsi saat runtime dari driver untuk setiap fungsi OpenGL.

GLEW ada karena melakukan hal itu bisa sangat sulit. Jauh lebih mudah ketika Anda hanya bisa memasukkan header dan memanggil satu fungsi selama inisialisasi, yang persis seperti yang dilakukan GLEW. Plus, GLEW adalah cross-platform.

Apa yang dimaksud dengan "inti dan juga ekstensi"?

Ini berarti memasok fungsi OpenGL serta ekstensi OpenGL.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.