Điều này thường xảy ra trên GPU, nhưng có sự đánh đổi cho cả hai và tùy bạn quyết định cái nào sẽ hoạt động tốt nhất cho bạn.
Thực hiện thao tác trên GPU có nghĩa là bạn chỉ cần gửi dữ liệu lưới một lần, sau đó bạn có thể gửi biến đổi ma trận để làm biến dạng nó. Điều này thật tuyệt vời vì nó làm giảm đáng kể băng thông cần thiết giữa CPU-> GPU. Điều đó cũng có nghĩa là bạn có thể tải lên chỉ một bản sao của lưới lên GPU và áp dụng các biến đổi cho nhiều trường hợp khác nhau của lưới. Tuy nhiên, khó có va chạm "lưới chính xác" hơn. Vì các biến đổi được thực hiện trên GPU, bạn không có sẵn chúng để kiểm tra trên CPU.
Thực hiện thao tác trên CPU có nghĩa là bạn có quyền truy cập vào lưới được chuyển đổi. Bạn có thể truy cập mọi thứ bạn cần biết về nó. Tuy nhiên, điều đó có nghĩa là bạn cần tải toàn bộ lưới đó lên GPU từng khung. Điều đó cũng có nghĩa là bạn phải tải lên một lưới được chuyển đổi cho mỗi phiên bản của lưới đó. Tóm lại đây không phải là danh sách đầy đủ các ưu và nhược điểm.
Ưu điểm cho GPU
- Tải lên dữ liệu lưới một lần
- Chuyển đổi nó cho nhiều trường hợp
- Chỉ cần gửi các biến đổi ma trận
- GPU rất tốt trong việc song song hóa các loại điều này
Nhược điểm cho GPU
- Các lưới biến đổi không có sẵn để thử nghiệm trên CPU
Ưu điểm cho CPU
- Các lưới biến đổi có sẵn để thử nghiệm va chạm và bất cứ điều gì khác cần thiết.
Nhược điểm cho CPU
- Cần tải lên toàn bộ lưới biến đổi từng khung
- Cần tải lên toàn bộ lưới cho mỗi phiên bản của lưới
Tuy nhiên, có nhiều cách để khắc phục nhược điểm của GPU.
- Không có va chạm chính xác lưới . Sử dụng một cái gì đó "đủ gần" như một hộp giới hạn cho toàn bộ lưới hoặc có các hộp giới hạn cho mỗi xương của lưới. Dưới đây là sử dụng trên các biến đổi GPU cho lưới và trên CPU biến đổi cho các hộp giới hạn căn chỉnh trục đại diện cho lưới. Bạn thậm chí có thể nhận được giới hạn chính xác hơn bằng cách sử dụng các AABB không.

- Chuyển đổi một bản sao của lưới trên CPU khi và chỉ khi cần va chạm chính xác với lưới . Sau khi va chạm hộp giới hạn đã trở lại đúng, hãy chuyển đổi một lưới để khớp với các biến đổi trên GPU, sau đó kiểm tra các va chạm với điều đó để có được dữ liệu va chạm chính xác hơn.
Tất cả trong tất cả tôi cho rằng bạn có thể thấy lý do tại sao việc biến đổi trên GPU lại phổ biến hơn