GLEW là gì và nó hoạt động như thế nào?


15

Tôi đang tìm kiếm một lời giải thích thân thiện với người mới bắt đầu . Giải thích của trang web chính thức quá ngắn và đưa tôi đến nhiều câu hỏi hơn là câu trả lời:


  • GLEW là gì?

Trang của nhà phát triển GLEW nói:

Thư viện Wrangler mở rộng OpenGL (GLEW) là thư viện tải mở rộng C / C ++ mã nguồn mở đa nền tảng . GLEW cung cấp các cơ chế thời gian chạy hiệu quả để xác định các tiện ích mở rộng OpenGL nào được hỗ trợ trên nền tảng đích.


  • Nhưng một thư viện tải mở rộng là gì?

Wiki của OpenGL nói

Thư viện tải OpenGL là một thư viện tải các con trỏ tới các hàm OpenGL khi chạy, lõi cũng như các phần mở rộng .


  • Việc tải con trỏ vào các hàm OpenGL có nghĩa là gì?

  • Một phần mở rộng là gì?

  • " Lõi cũng như phần mở rộng " nghĩa là gì?

Câu trả lời:


20

Hầu hết các trình biên dịch cung cấp cho bạn một tiêu đề OpenGL cung cấp hỗ trợ cho OpenGL 1.1, nhưng hầu hết các chức năng được cung cấp trong phiên bản OpenGL đó đã bị từ chối và thiếu các tính năng quan trọng như trình tạo bóng và các đối tượng bộ đệm đỉnh. GLEW về cơ bản chỉ là một tiêu đề (có một tệp nguồn cũng phải được biên dịch, nhưng bạn chỉ có thể đưa nó vào dự án của mình) cung cấp chức năng OpenGL mới hơn.

Nó có nghĩa là gì bởi phần mở rộng?

Đây là một liên kết từ OpenGL.org về họ.Chúng chỉ là các chức năng bổ sung cho OpenGL không phải là một phần của OpenGL. Chúng cung cấp chức năng có thể hữu ích, nhưng bạn không thể đảm bảo rằng chúng sẽ hoạt động trên mọi máy tính vì chúng không phải là một phần của OpenGL cốt lõi.

Việc tải con trỏ vào các hàm OpenGL có nghĩa là gì?

OpenGL được trình điều khiển đồ họa triển khai dưới dạng một loạt các chức năng được triển khai theo thông số kỹ thuật, không phải là một thư viện độc lập, do đó không thể liên kết đơn giản với dự án của bạn.

Bạn phải gọi một hàm (chẳng hạn như GetProcAddress, nhưng nó phụ thuộc vào nền tảng bạn đang phát triển) để lấy con trỏ hàm khi chạy từ trình điều khiển cho mỗi hàm OpenGL.

GLEW tồn tại bởi vì làm điều đó có thể rất khó khăn. Sẽ dễ dàng hơn nhiều khi bạn chỉ có thể bao gồm một tiêu đề và gọi một hàm trong quá trình khởi tạo, đó chính xác là những gì GLEW làm. Thêm vào đó, GLEW là đa nền tảng.

"Lõi cũng như phần mở rộng" nghĩa là gì?

Nó có nghĩa là nó cung cấp các chức năng OpenGL cũng như các phần mở rộng OpenGL.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.