Có, hầu hết dữ liệu hình ảnh được lưu trữ ở định dạng gamma, vì vậy các giá trị pixel không biểu thị độ chói tuyến tính. Tôi sẽ không mô tả nó là "không chính xác", vì mã hóa gamma có đặc tính hữu ích là đặt nhiều giá trị hơn trong bóng tối, điều này tốt hơn cho độ chính xác nhận thức (như được đề cập trong video). Mã hóa gamma là hoàn toàn cần thiết để tạo ra hình ảnh đẹp chỉ với 8 bit cho mỗi thành phần RGB; nếu bạn lưu trữ các giá trị tuyến tính, bạn sẽ cần nhiều hơn 12 bit cho mỗi thành phần để có đủ độ chính xác trong bóng tối.
Để chính xác hơn về mặt vật lý, khi làm mờ hình ảnh, người ta nên chuyển đổi nó thành độ chói tuyến tính, sau đó làm mờ (Gaussian hoặc cách khác), sau đó chuyển đổi nó trở lại không gian màu ban đầu.
Màn hình chấp nhận dữ liệu hình ảnh ở định dạng gamma. Vì vậy, các giá trị pixel không biểu thị độ chói tuyến tính và độ sáng đầu ra không tỷ lệ tuyến tính với các giá trị pixel.
Nếu đó là một màn hình hiệu chuẩn, chất lượng tốt, thì nó chấp nhận dữ liệu trong một không gian màu cụ thể như sRGB hoặc Adobe RGB và tái tạo màu sắc chính xác dựa trên định nghĩa của không gian màu đó. Nếu đó là một màn hình uncalibrated tào lao, sau đó ai mà biết được những gì bạn sẽ nhận được, nhưng nó sẽ là một cái gì kinda như sRGB.
GPU có thể được cấu hình để làm nhiều việc khác nhau ở đây. Các GPU hiện đại có hỗ trợ phần cứng để tự động chuyển đổi giá trị giữa gamma và tuyến tính khi lấy mẫu kết cấu hoặc lưu trữ giá trị ra bộ đệm khung, nhưng lập trình viên phải kích hoạt rõ ràng bằng cách sử dụng API như Direct3D hoặc OpenGL.
Mọi người đồ họa máy tính chắc chắn biết về chủ đề này và điều quan trọng là phải làm cho đúng khi xây dựng một trình kết xuất thực tế cho phim, trò chơi AAA, v.v. Tuy nhiên, rất nhiều ứng dụng "hàng ngày" hơn như trình duyệt web và trình chỉnh sửa hình ảnh (thậm chí là Photoshop, như video đề cập) không thực sự xử lý gamma chính xác.
Đó không phải là vấn đề về sức mạnh xử lý; có thể đó là một vấn đề 20 năm trước, nhưng ngày nay, ngay cả điện thoại di động cũng có khả năng xử lý dồi dào để chuyển đổi hình ảnh giữa gamma và tuyến tính. Lý do tại sao trình duyệt web và trình chỉnh sửa hình ảnh vẫn không có quyền này là do sự kết hợp giữa (a) thiếu hiểu biết, (b) không tin rằng gamma đủ quan trọng để có giá trị đúng và (c) đơn giản là bị mắc kẹt với hành vi xấu bởi vì đó là cách đó trong một thời gian dài và người dùng đã mong đợi nó, vì vậy họ sẽ bối rối nếu có gì đó thay đổi.
Như đã đề cập, chúng ta phải suy nghĩ rất nhiều về gamma khi xây dựng trình kết xuất. Hầu hết các tính toán (ví dụ ánh sáng) nên được thực hiện trong không gian tuyến tính, nhưng kết cấu đầu vào và hình ảnh đầu ra phải ở trong không gian gamma. Ngoài ra, có thể một số phần kết xuất như kết hợp UI sẽ xảy ra trong không gian gamma vì nó quen thuộc hơn với các nghệ sĩ (nó hoạt động giống như kết hợp lớp Photoshop và như vậy). Ngoài ra, chúng tôi phải quyết định xem các mục tiêu kết xuất nội bộ sẽ được lưu trữ trong không gian tuyến tính hay gamma, vì nó sẽ ảnh hưởng đến độ chính xác. Và chúng ta phải có được tất cả các chuyển đổi đúng, để dữ liệu được chuyển đổi giữa tuyến tính và gamma tại các điểm phù hợp trong quá trình kết xuất.