Do Octrees, Kd-Plants, BSP chỉ có ý nghĩa đối với hình học tĩnh?


7

Tôi vẫn đang thực hiện biểu đồ cảnh của mình (xem câu hỏi này ). Bây giờ, tôi tự hỏi nếu một đại diện không gian như Kd-Tree hoặc Octree để thực hiện View Frustum Culling (VFC) chỉ có ý nghĩa với hình học tĩnh. Lý do cho sự nghi ngờ của tôi là thường hình học động là một phần nhỏ của cảnh, trong khi hình học tĩnh có thể rất lớn và lực hình học động để xử lý các cập nhật trong biểu diễn không gian ở mỗi khung.

Ý kiến ​​của bạn?

Tunnuz

Câu trả lời:


9

Nói chung, tôi đã sử dụng một cây phân vùng riêng cho các đối tượng tĩnh và động hoặc chỉ bỏ qua nó hoàn toàn cho các đối tượng động. Điều này cung cấp những lợi ích của cả hai thế giới:

  • Các đối tượng tĩnh không yêu cầu tính toán lại từng cây
  • Các đối tượng động chỉ yêu cầu tính toán lại một cây tối thiểu

Nếu việc vẽ các đối tượng động của bạn mọi lúc không cung cấp quá nhiều hiệu năng, đôi khi có thể tốt hơn là chỉ phân phối với tính toán lại một cây cho chúng mỗi khung hình.

Một tối ưu hóa khác là chỉ tính toán lại cây khi các đối tượng đã di chuyển một khoảng cách nhất định hoặc đang di chuyển ở tốc độ đủ cao, nếu không bạn có thể sẽ kết thúc với cùng một cây trong mọi khung hình.


Câu trả lời tuyệt vời, tôi mong đợi một cái gì đó như thế này. Bạn có thường sử dụng các cấu trúc dữ liệu khác nhau cho hình học động và tĩnh không? Có quy trình đặc biệt nào để làm cho hai cấu trúc "gặp nhau" khi thực hiện phát hiện va chạm giữa các đối tượng tĩnh và động không?
tunnuz

2
Sử dụng cùng một cấu trúc dữ liệu thường là dễ nhất vì việc triển khai đã được viết và do đó cũng ít có cơ hội cho các lỗi phát triển. Tuy nhiên, đôi khi kiểm tra hình cầu giới hạn là đủ cho các đối tượng động so với chi phí xây dựng toàn bộ cây, đặc biệt là nếu các đối tượng đang di chuyển nhiều. Dọc theo những dòng đó, có thể có ích khi viết một hệ thống phân vùng ít tích cực hơn cho các đối tượng động để giảm thời gian tính toán và sử dụng thuật toán chuyên sâu nhưng tích cực hơn cho các đối tượng tĩnh.
Sean James

2
Tôi thấy lưới hoạt động đặc biệt tốt cho các đối tượng năng động. Họ đơn giản và nhanh chóng.
có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.