2010-12-30 28 views
31

Tôi vừa mua phiên bản thứ năm của OpenGL SuperBible. Tôi rất vui vì họ đã tránh sử dụng chức năng không dùng nữa nhưng các ví dụ của họ sử dụng số GLTools. GLTools cung cấp một loạt các chức năng hữu ích để hiển thị các đối tượng 3D đơn giản và quản lý ma trận chế độ xem, máy ảnh và chuyển đổi.Tôi có thể tìm thấy hướng dẫn OpenGL 3.0 trực tuyến tốt ở đâu mà không sử dụng bất kỳ chức năng không được chấp nhận nào?

Tất cả đều tuyệt vời nhưng tóm tắt cung cấp ẩn chi tiết cấp thấp và tôi gặp khó khăn khi chuyển sang mã nơi tôi không thể sử dụng GLTools - ví dụ: pyopengl. Phần lớn các hướng dẫn tôi đã thấy trực tuyến sử dụng chế độ tức thời, mà tôi đang cố gắng tránh. Những người sử dụng glDrawArrays hãy sử dụng số glEnableClientState mà tôi cũng đang cố tránh.

Điều tôi đang tìm là hướng dẫn giới thiệu hoàn toàn tuân thủ OpenGL 3.x. Nếu đó là quá cao của một đơn đặt hàng, có lẽ một danh sách giặt tốt "bắt đầu từ điểm" chức năng sẽ được theo thứ tự.

+0

Có gì sai với trích ra chuỗi mã 'GLTools' đang sử dụng? – genpfault

Trả lời

41

Tránh xa NeHe, các hướng dẫn vô vọng đã lỗi thời và chứa rất nhiều nội dung "có vấn đề".

Đối với bắt đầu với 3.x, hãy thử những, chúng đều up-to-date:

Aurian (Joe Groff)

Arcsynthesis (Jason L. McKesson)

Cập nhật :
Đọc lại bài đăng của riêng tôi gần 2 năm sau, tôi đoán rằng người ta có thể thấy rằng nó có vẻ hơi khắc nghiệt.

Đây tất nhiên không phải là mục đích. Thông điệp cốt lõi (vẫn còn hiệu lực) mà tôi muốn đưa ra là NeHe vẫn giao dịch với OpenGL 1.x/2.x và sử dụng một số thư viện "cổ" không được hỗ trợ.
Nói chung, điều này không có nghĩa là các hướng dẫn nhất thiết là xấu, nhưng bắt đầu từ đó sẽ có nghĩa là bắt đầu hai thế hệ sau nhà nước hiện đại và một thế hệ đằng sau mức tối thiểu nên tìm hiểu. Học tập OpenGL cũ sẽ, sau đó, yêu cầu bạn quên hầu hết mọi thứ bạn biết và học lại từ đầu.

Điều đó nói rằng, trang chủ NeHe hiện liên kết với một tutorial focussed on OpenGL 3.3 bởi Damien Mabin, trông khá đẹp mắt ngay từ cái nhìn đầu tiên (mặc dù tôi sẽ không có thời gian đọc kỹ trước khi năm mới).

+3

Tôi đồng ý và các thư viện cũ như glaux.h thậm chí không được hỗ trợ nữa. Vấn đề với việc giới thiệu NeHe càng trầm trọng hơn vì vẫn là kết quả số một của Google cho "hướng dẫn OpenGL". Không có thắc mắc rất nhiều vẫn còn bầy đàn với nó. –

+3

Mẹo nhanh: Theo văn bản này, liên kết đầu tiên (Aurian) có vẻ là một giới thiệu nhanh chóng và dơ bẩn đối với OpenGL, trong khi liên kết thứ hai có vẻ hoàn chỉnh hơn, sâu hơn và (theo ý kiến ​​của tôi) tổng quan chuyên nghiệp hơn toàn bộ spec/C API. Cá nhân tôi tìm thấy Archsynthesis là vô giá. +1 từ tôi. – Qix

+0

Ngoài ra: Cả hai hướng dẫn này đều sử dụng chức năng cũ hơn, trước 3.0. – Qix

3

https://bitbucket.org/rndblnch/opengl-programmable

một bước ngắn bước hướng dẫn để OpenGL đường ống có thể lập trình (OpenGL/OpenGL | ES 2.x) cho những người đã quen thuộc với các đường ống dẫn cố định. phụ thuộc: python 2.5+, PyOpenGL 3.0.1+

Phiên bản kế tiếp của một chương trình nhỏ/khá hoàn chỉnh, bắt đầu từ chế độ trực tiếp và được chuyển đổi từng bước để chạy độc quyền trên đường ống có thể lập trình. Xem xét sự khác biệt giữa phiên bản kế tiếp để có điểm nổi bật về những thay đổi cần thiết (ví dụ: https://bitbucket.org/rndblnch/opengl-programmable/changeset/b21131e37ed7).

Các vấn đề liên quan