Hãy nhớ rằng OpenGL cũ vẫn được hỗ trợ. Bạn không cần phải sử dụng OpenGL hiện đại, bạn hoàn toàn có thể sử dụng đường ống chức năng cố định nếu bạn đang làm một cái gì đó tương đối không phức tạp hoặc không cụ thể. Nếu bạn muốn bắt đầu thực hiện ánh sáng nâng cao hoặc một cái gì đó như thế này, đó là nơi OpenGL hiện đại có ích.
Thành thật mà nói, tôi giống như OpenGL trường cũ, nó dễ dàng hơn nhiều và bạn có thể hiển thị mọi thứ trên màn hình nhanh hơn nhiều.OpenGL hiện đại thật đáng kinh ngạc, nhưng nó có chi phí phức tạp hơn nhiều, bạn cần quá nhiều mã và bạn phải biết rất nhiều trước khi bạn thậm chí bắt đầu sử dụng nó một cách hiệu quả.
Sự khác biệt chính kể từ khi bạn hỏi là khả năng tùy chỉnh cách hoạt động của trình tạo bóng. Trình đổ bóng là chương trình chạy trên GPU. Trước đây, các trình đổ bóng này đã được lập trình sẵn và do đó bạn có ít quyền kiểm soát cách bạn muốn chúng hoạt động và do đó bạn bị giới hạn với những gì bạn có thể làm trong OpenGL (nó đã hoàn thành công việc, nó chung chung hơn và ít hơn quyền lực). Vì vậy, với OpenGL hiện đại, bạn có thể tùy chỉnh theo cách bạn muốn trình đổ bóng hoạt động, ví dụ như có một trình đổ bóng đỉnh, là một trình đổ bóng xử lý các điểm được đẩy tới GPU và tìm ra vị trí của các điểm đó. Trong OpenGL hiện đại, bạn tùy chỉnh cách các trình đổ bóng hoạt động bằng cách sử dụng một cái gì đó gọi là GLSL
GLSL là ngôn ngữ bán lắp ráp kiểu C được đẩy vào GPU và đó là sự khác biệt chính giữa OpenGL cũ và hiện đại.
Theo như một cuốn sách để có được, bạn sẽ phải có được một cuốn sách 2.0 cho 2.x, nó thậm chí không ở trong cùng một ballpark như OpenGL mới. Có những khái niệm chung chuyển sang OpenGL hiện đại nhưng phần lớn nó hoàn toàn khác. Tôi đã ra lệnh cho lập trình game OpenGL của Andre Lamothe vì tôi nghĩ 5 đô la? Nó là một phần giới thiệu thực sự tốt cho 2.1 và mã được viết bằng Win32 và vì Windows API hầu như không thay đổi ở hầu hết tất cả các mã (nếu không phải tất cả) làm việc giống nhau mặc dù cuốn sách là khoảng 12 tuổi (đi đến cho thấy nó được viết tốt như thế nào) và nó thực sự có các dự án thực sự thú vị (robot hoạt hình, hình khối quay cho số đầu tiên). Dù sao, may mắn nhất cho bạn. Đó là một con đường khó khăn và dài, nhưng nó rất bổ ích.
Nguồn
2015-06-15 01:20:32
Cảm ơn câu trả lời của bạn. Tương thích với XP và DX9 là những gì tôi mong muốn vì nó không phải là COD kế tiếp;) Tôi thấy một cuốn sách được đề nghị gọi là "opengl superbible", nhưng phiên bản mới nhất dường như bao gồm OpenGL 3, tôi có nên tìm hiểu cho ấn bản thứ tư? – user859194
Ấn bản thứ tư có vẻ tốt đẹp. nó bao gồm 2.1 và dường như có các ví dụ tuyệt vời và mã nguồn, và thậm chí bao gồm các tập tin cho linux –
Vâng, tôi nghĩ rằng tôi sẽ kiểm tra xem nó ra :) – user859194