Trong một Shader webgl pixel, tất cả các chức năng đều được sắp xếp như tôi hiểu nó, tuy nhiên bạn có thể có các thông số được đánh dấu là năm so với việc inout có nghĩa là giá trị của chúng có thể thay đổi nhưng giá trị sẽ không tồn tại bên ngoài của cuộc gọi chức năng.
Điều này nghĩa là rằng shader phải tạo một bản sao của các giá trị cho các chức năng để làm việc với khi nó là một trong giá trị?
Là trình biên dịch shader / tối ưu đủ thông minh để biết khi nào họ không cần phải tạo một bản sao, hoặc là nó tốt nhất để thực sự chỉ là đánh dấu tất cả các thông số như inout và chắc chắn và không sửa đổi những cái bạn không muốn thay đổi, nếu hiệu suất là mối quan tâm chính?
Cảm ơn!