Tại sao một số trò chơi sử dụng một số mẫu phối màu thay vì alpha truyền thống để minh bạch?


24

Gần đây, tôi đã thấy một số trò chơi 3D (ví dụ GTA IV:) sử dụng một số loại phối màu theo thứ tự để mô phỏng độ trong suốt / alpha.

Các đa giác không trong suốt như bình thường, nhưng thay vào đó, tạo ra một kết cấu hoà sắc chuyển dần từ trái sang phải để mô phỏng độ trong suốt:

nhập mô tả hình ảnh ở đây

Hiệu quả không khó chịu nhưng khá ngạc nhiên khi thấy lúc đầu (so với pha trộn alpha truyền thống)

Ngoại trừ hiệu ứng thẩm mỹ thị giác mà nó tạo ra, có lý do nào khiến một số trò chơi làm điều này (hiệu suất tốt hơn, tiết kiệm băng thông hoặc bất kỳ điều gì khác mà tôi không nghĩ tới)?

Tôi đã tìm kiếm trên web nhưng không thể tìm thấy bất cứ điều gì về kỹ thuật này.


Có khả năng nó chỉ đi cùng với phong cách nghệ thuật pixel.
MichaelHouse

@ Byte56 Pixel phong cách nghệ thuật? GTA IV? Huh?
Nathan Reed

@NathanReed Heh, không phải trong GTA IV. OP đề cập đến việc nhìn thấy nó gần đây trong các trò chơi.
MichaelHouse

1
Tôi thấy kỹ thuật này dễ chịu hơn pha trộn alpha khi làm mờ các vật thể 3D đang ở quá gần mặt phẳng gần.
Andreas

Câu trả lời:


27

Đây là một cách tiếp cận khá phổ biến để minh bạch trong các trò chơi sử dụng bóng mờ bị trì hoãn. Độ trong suốt phù hợp hoàn toàn không hoạt động tốt với bóng mờ bị trì hoãn, vì chỉ có một dữ liệu của một bề mặt (độ sâu, vectơ bình thường, màu sắc, v.v.) có thể được lưu trữ ở mỗi pixel và độ trong suốt phù hợp bao gồm nhiều bề mặt chồng lên nhau ở một pixel, mỗi bề mặt cần độc lập thắp sáng.

Có một số cách công cụ trò chơi có thể đối phó với điều này:

  • Sử dụng bóng phía trước (có thể với một mô hình chiếu sáng giảm) cho các bề mặt trong suốt và bóng mờ bị trì hoãn cho các bề mặt mờ. Các bề mặt trong suốt phải được vẽ trong một đường chuyền riêng biệt với sắp xếp từ trước ra trước.
  • Sử dụng phối màu, thường được gọi là độ trong suốt của màn hình hoặc cửa màn hình, hoạt động với bóng mờ bị trì hoãn vì nó chỉ cho một bề mặt trên mỗi pixel. Điều này đặc biệt hiệu quả đối với các chuyển tiếp LOD, vì chúng thường kết thúc trong một khoảng thời gian cố định, giới hạn thời gian hiển thị của quy định. Nó không hoạt động tốt cho các cửa sổ kính trên một tòa nhà.
  • Bạn cũng có thể sử dụng quy định nhưng sau đó áp dụng độ mờ sau quá trình kết hợp lại các pixel được quy định, mang lại xấp xỉ độ trong suốt phù hợp. Volition thực hiện điều này trong Saints Row the third (và có lẽ một số game khác của họ nữa), dưới cái tên " ánh sáng suy diễn ". Điều này có thể trông khá đẹp, nhưng mờ hậu xử lý là tốn kém.
  • Và tất nhiên, có tất cả các phương pháp minh bạch độc lập theo thứ tự ngoài kia, mặc dù tôi không biết bất kỳ trò chơi nào sử dụng chúng. Họ chỉ dành cho các trình diễn công nghệ cho đến nay.

Người ta cũng có thể sử dụng kết hợp các phương pháp này, ví dụ như đổ bóng về phía trước cho các cửa sổ kính và quy định cho các chuyển tiếp LOD.

Cũng đáng lưu ý rằng một số trò chơi sử dụng quy định cho bóng mềm. Đây là một sự đánh đổi hiệu suất; bóng đẹp hơn đòi hỏi nhiều mẫu kết cấu hơn trong pixel shader, sẽ mất nhiều thời gian hơn, nhưng bạn có thể nhận được kết quả trông ổn bằng cách sử dụng ít mẫu hơn và bù đắp vị trí của chúng một cách ngẫu nhiên. Sự bù ngẫu nhiên tạo ra hiệu ứng quy định.


tôi không biết về kỹ thuật tạo bóng hoãn lại (giải thích ở đây: en.wikipedia.org/wiki/Deferred_shading ). Họ cũng nói về các vấn đề alpha có thể. Hãy có ý nghĩa ngay bây giờ. Cảm ơn câu trả lời
tigrou

0

Đó là một sự đánh đổi hiệu suất đơn giản. Pha trộn Alpha yêu cầu đọc từ bộ đệm màu hiện tại, trong khi loại phối màu này là chỉ ghi (hoặc chỉ loại bỏ, tất nhiên).

Có thể trộn kỹ thuật này với multisampling, sau đó được gọi là alpha để phủ sóng .


Bạn đang nói về loại "đánh đổi hiệu suất" nào? Early-Z bị tắt nếu bạn sử dụng loại bỏ trong shader của mình. Trộn được thực hiện trên phần cứng và nhanh chóng.
Tara

Trên thực tế, tôi chỉ thử nghiệm nó trong công cụ của mình trên một cảnh thích hợp ở độ phân giải cao: Kích hoạt và vô hiệu hóa pha trộn cho TẤT CẢ hình học dẫn đến không có sự khác biệt về hiệu suất. Câu trả lời của Nathan Reed là chính xác, vì độ hoà sắc thường được sử dụng trong kết xuất hoãn lại.
Tara
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.