2010-11-17 28 views
9

10 năm trước, tôi đã thực hiện một số chương trình trò chơi và sử dụng OpenGL cho phần đồ họa 3D. Nó không phải là công cụ thực sự tuyệt vời, chỉ cần một số kịch bản kiddies cố gắng để làm cho một trò chơi :-)re-learning opengl

Bây giờ tôi cần phải hình dung một cảnh để kiểm tra các thuật toán xử lý hình ảnh. Tôi tự hỏi: Điều gì đã thay đổi trong 10 năm này? (Tôi đoán rất nhiều?) Có phải NeHe vẫn là một nguồn tốt hay nó đã lỗi thời? Có nguồn lực tốt để thu hẹp khoảng cách không?

Cảm ơn!

Trả lời

7

NeHe đang trong quá trình viết new tutorials. Một số điều bạn có thể đã quen với 10 năm trước đã bị bỏ hoang nhiều (hồ sơ tương thích vẫn còn xung quanh, nhưng chúng không được chấp nhận) trong việc chuyển sang một đường ống có thể lập trình đầy đủ và nguyên thủy hiệu quả hơn.

Ví dụ, việc di chuyển các đỉnh giữa glBegin()/glEnd() sẽ bị bỏ lại để ủng hộ các đối tượng đệm đỉnh và mảng đỉnh. Mô hình chuyển đổi và ánh sáng cũ sẽ biến mất để ủng hộ các trình đổ bóng phân đoạn.

Tôi khuyên bạn nên bắt đầu với số intro to modern OpenGL của Joe Groff và nhận một bản sao của The OpenGL SuperBible, 5th edition, bao gồm tất cả các cách làm mới.

5

Thay đổi lớn nhất sẽ xung quanh việc sử dụng trình đổ bóng cho mọi thứ. Mặc dù nếu bạn chỉ muốn tạo ra những cảnh đơn giản, bạn không cần phải sử dụng chúng.

Chỉnh sửa: Vừa có phiên bản OpenGL SuperBible 5th Edition, tôi cũng có thể phản hồi đề xuất của greyfade - đây là phần giới thiệu thực sự tốt về nội dung mới.

+0

Bạn cần * cần * chúng. Nếu bạn không chỉ định trình đổ bóng và khu nghỉ dưỡng cho các chức năng GL cũ thông qua hồ sơ tương thích, thì trình điều khiển sẽ tạo ra một loại trình đổ bóng và sử dụng nó tự động. :) Viết shaders mình là đơn giản hơn. – Kos

+2

Kos, ông nói bạn không cần phải sử dụng shader. Và anh ấy đúng. Bạn vẫn có thể sử dụng các cuộc gọi cũ đến đường ống chức năng cố định mà không biết bất cứ điều gì về shaders và không sử dụng rõ ràng shaders. –

2

Có phiên bản mới của OpenGL trong những ngày này (chúng tôi hiện đang sử dụng OpenGL 4), nhưng tất cả những thứ bạn đã làm lại sẽ vẫn hoạt động. Trừ khi bạn đang làm một cái gì đó đặc biệt phức tạp, bạn có thể sẽ không cần phải làm gì nhiều để thu hẹp khoảng cách - mặc dù bạn vẫn có thể muốn.

1

NeHe đã lỗi thời vào lần cuối tôi kiểm tra. Nó vẫn đi qua thiết lập ma trận thế giới, kết cấu, độ mờ đục, sương mù, vv vào đường ống cố định. Ngày nay tất cả mọi thứ được thực hiện thông qua shaders.

Bài học sau có thể đi qua trình đổ bóng nhưng bạn nên bắt đầu với nó từ đầu. Nếu bạn đã thực hiện 3d trước khi bạn sẽ có thể bắt kịp với shaders một cách nhanh chóng.