Tôi đang nghĩ đến việc nhòe chuyển động mờ vào chương trình 2D của mình, nhưng tôi nghi ngờ kết quả của thuật toán hiện tại của mình.Giải pháp làm mờ chuyển động 2D
Tiếp cận của tôi trông như thế này vào lúc này:
- Draw để backbuffer.
- Khi thời gian để cập nhật bộ đệm trước, hãy trộn bộ đệm trước vào bộ đệm trước.
- Lặp lại
Điều gì sẽ gây ra "motion blur" hiệu ứng rõ ràng là sự pha trộn, như các đối tượng chuyển động sẽ để lại một dấu vết mờ dần.
Điều này rõ ràng là không đòi hỏi nhiều về phần cứng, việc đệm đôi sẽ được thực hiện và bước bổ sung duy nhất là pha trộn alpha, đây là một phép tính đơn giản. Tuy nhiên, những con đường mòn sẽ rất sắc nét, và không bị mờ chút nào có thể trông hơi lạ. Tôi có thể làm một hộp mờ trên bộ đệm phía sau trước khi bước pha trộn, nhưng nó cảm thấy như nó có thể rất thuế trên các hệ thống cấp thấp như Nintendo DS.
Có giải pháp nào cho phép tôi làm điều đó hiệu quả hơn hoặc mang lại kết quả tốt hơn không?
Đây là một gợi ý tốt, tuy nhiên có vẻ như nó có thể mất rất nhiều sức mạnh xử lý. – Skurmedel
Thật vậy. Tùy thuộc vào loại nguyên thủy bạn đang hiển thị, có thể một số tối ưu hóa bạn có thể áp dụng. Hoặc bạn có thể thử một lai của đề nghị của tôi và của bạn. Thuật toán bạn đề xuất là một mẹo viết mã demo tiêu chuẩn vào thập niên 90. Nó có thể tạo ra kết quả tốt đẹp. Tuy nhiên, nếu bạn đang tìm kiếm một mục đích chung, đơn giản, nhanh chóng thực hiện chuyển động mờ, bạn đã hết may mắn. Đó là lý do tại sao bạn hầu như không bao giờ nhìn thấy nó thực hiện. –