Cách lưu trữ và xử lý bản đồ trò chơi 3D


9

Tôi là một lập trình viên nhưng chưa phát triển trò chơi nào.

Tôi đã chơi nhiều trò chơi 3D khác nhau và luôn tự hỏi làm thế nào Bản đồ của trường được lưu trữ và hiển thị.

Tôi biết một số thẻ tăng tốc là một phần cứng cần thiết, nhưng chính xác cách thay đổi chế độ xem mà không có một lần nhấp nháy trên màn hình.

Bạn có bất kỳ tài liệu trực tuyến để giúp tôi hiểu điều này.

Cảm ơn

Câu trả lời:


9

Nói chung, thế giới được lập bản đồ của rất nhiều hình tam giác, và bản đồ là một danh sách các hình tam giác này và vị trí trong thế giới của mỗi đỉnh. Quá trình để vẽ chúng là:

  • Thiết lập vị trí của 'máy ảnh' - nếu bạn đang đứng trên thế giới, đây là nơi bạn sẽ ở vị trí thế giới
  • Chuyển đổi các đỉnh tam giác thành 'không gian máy ảnh'
  • Chuyển đổi các hình tam giác từ 'không gian máy ảnh' thành 'không gian màn hình' - đây là nơi xảy ra hiệu ứng nhìn (những thứ ở xa nhỏ hơn). Các hình tam giác trở thành 2D tại thời điểm này.
  • Vẽ hình tam giác 2D lên một màn hình ẩn.
  • Khi tất cả các hình tam giác đã được vẽ, hiển thị màn hình cho người chơi.

Bước cuối cùng thường được gắn với tốc độ khung hình của màn hình, do đó quá trình hiển thị màn hình ẩn được thực hiện trong khoảng thời gian trống v - một khái niệm xuất phát từ các màn hình ống tia âm cực cho phép chùm tia âm cực di chuyển từ dưới phải lên trên trái, điều này đòi hỏi nhanh chóng, nhưng không phải ngay lập tức, thay đổi điện áp trên cuộn dây lệch ở phía sau của ống tia.

Đây là một phương pháp thực sự đơn giản. Để có được hiệu suất cao, bạn cần thêm những thứ như loại bỏ bề mặt ẩn, độ chụm, xác định bộ có thể nhìn thấy, v.v. Có rất nhiều thuật toán liên quan đến việc quyết định vẽ gì.

Ngoài ra, tôi đã nói rằng thế giới được tạo thành từ các hình tam giác, nhưng nó có thể không được lưu trữ trên đĩa theo cách này. Thông thường, các hình tam giác được vẽ trên màn hình được xác định tại thời điểm chạy từ các nguyên thủy bậc cao hơn, chẳng hạn như bản đồ chiều cao, spline, tessalation, nguyên thủy hình học (ví dụ hình cầu, hình hộp, v.v.).

Phần cứng chuyên dụng là không cần thiết - nhiều trò chơi 3D đời đầu đã làm tất cả bằng phần mềm (ngay cả trên CPU 8 bit không có FPU). Nó chỉ làm cho nó nhanh hơn và dễ dàng hơn để làm.

Một câu hỏi đơn giản như vậy. Không có câu trả lời dễ dàng.


0

Chế độ xem được thay đổi mà không có bất kỳ nhấp nháy nào trên màn hình vì bộ đệm đôi, Xử lý tất cả dữ liệu trên bộ đệm phía sau, sau đó khi nó được xử lý xong, bạn trao đổi nó trên bộ đệm trước.

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.