

Trong lĩnh vực đồ họa máy tính, kết xuất đồ họa (tiếng Anh: rendering), thường được gọi là kết xuất, là một quy trình tạo ra hình ảnh từ mô hình (hoặc tập hợp mô hình) thành một cảnh hoặc hình ảnh cụ thể thông qua phần mềm. Mô hình là bản mô tả các đối tượng ba chiều bằng một ngôn ngữ được định nghĩa rõ ràng hoặc cấu trúc dữ liệu. Bản mô tả này bao gồm thông tin về hình học, góc nhìn, vật liệu và ánh sáng của đối tượng. Hình ảnh có thể là hình ảnh số (digital image) hoặc hình ảnh đồ họa điểm (raster graphics image). Thuật ngữ này có thể so sánh với 'quá trình vẽ tranh' của một nghệ sĩ về phong cảnh nào đó. Thuật ngữ 'kết xuất' cũng được dùng để chỉ quá trình tính toán hiệu ứng trong một tệp biên tập phim để tạo ra sản phẩm video cuối cùng.
Kết xuất đồ họa là một trong những chủ đề chính của đồ họa máy tính ba chiều (3D computer graphics). Trong thực tế, nó luôn liên quan mật thiết đến các chủ đề khác. Trong 'quy trình xử lý đồ họa' (graphics pipeline), kết xuất là bước cuối cùng quan trọng để hình thành diện mạo cuối cùng của các mô hình và hoạt hình. Với sự gia tăng phức tạp trong đồ họa máy tính từ những năm 1970 đến nay, kết xuất đồ họa đã trở thành một lĩnh vực riêng biệt.
Kết xuất đồ họa được ứng dụng trong: trò chơi điện tử (computer and video games), chương trình mô phỏng (simulators), điện ảnh (movies), hiệu ứng đặc biệt (special effects) trên truyền hình, và hình tượng hóa thiết kế (design visualisation), mỗi lĩnh vực sử dụng các đặc trưng và kỹ thuật riêng. Hiện có nhiều phần mềm đa dạng phục vụ cho việc kết xuất đồ họa, bao gồm những phần mềm tích hợp trong bộ tạo mô hình và làm phim hoạt hình, phần mềm độc lập (stand-alone), và các dự án nguồn mở tự do (free open-source projects). Chương trình kết xuất đồ họa được thiết kế cẩn thận, kết hợp kiến thức từ các lĩnh vực như vật lý quang học, nhận thức thị giác (visual perception), toán học, và phát triển phần mềm.
Trong đồ họa 3D, kết xuất diễn ra chậm rãi, chẳng hạn như trong quá trình kết xuất trước (pre-rendering) hoặc kết xuất thời gian thực (real time rendering). Kết xuất trước thường yêu cầu khối lượng tính toán lớn, chủ yếu được dùng trong sản xuất phim điện ảnh, trong khi kết xuất thời gian thực thường phục vụ cho các trò chơi điện tử 3D (3D video games) và phụ thuộc vào bộ điều hợp đồ họa (graphics cards) cùng bộ tăng tốc phần cứng 3D (3D hardware accelerators).
Ứng dụng
Khi hình ảnh sơ bộ (thường là bản vẽ khung lưới) hoàn thiện, quá trình kết xuất sẽ bắt đầu để thêm các chất liệu bề mặt dạng bitmap (bitmap textures) hoặc các chất liệu bề mặt theo quy luật toán học (procedural textures), thiết lập ánh sáng, tạo hiệu ứng bề mặt sần (bump mapping), và xác định vị trí tương đối với các vật thể khác. Kết quả cuối cùng là bức ảnh mà người xem sẽ nhìn thấy.
Đối với hoạt hình trong phim điện ảnh, nhiều hình ảnh (khung hình) (frames) cần được kết xuất đồng thời, và những hình ảnh này sẽ được ghép lại bởi một chương trình ứng dụng có khả năng tạo hoạt hình. Hầu hết các chương trình biên tập hình ảnh 3D đều hỗ trợ tính năng này.
Đặc điểm
Một hình ảnh đã được kết xuất có thể được hiểu thông qua những đặc điểm nhìn thấy rõ. Động lực thúc đẩy nghiên cứu và phát triển kết xuất đồ họa là tìm kiếm các phương pháp hiệu quả để mô phỏng những đặc điểm này. Một số phương pháp liên quan trực tiếp đến thuật toán và kỹ thuật cụ thể, trong khi những phương pháp khác được phát triển trong quá trình tìm kiếm:
- kỹ thuật tô bóng (shading) — thay đổi màu sắc và cường độ ánh sáng trên bề mặt dưới ánh sáng nhất định
- kỹ thuật tạo chất liệu (texture-mapping) — phương pháp thêm chi tiết vào bề mặt của vật thể
- kỹ thuật tạo bề mặt sần (bump-mapping) — tái tạo hiệu ứng nhấp nhô của bề mặt ở quy mô nhỏ
- kỹ thuật tạo hiệu ứng xa mờ/ảnh hưởng của môi trường (fogging/participating medium) — ánh sáng tối đi khi xuyên qua khí quyển không trong sạch
- kỹ thuật tạo bóng (shadows) — ảnh hưởng của ánh sáng khi bị che khuất bởi vật thể
- kỹ thuật tạo bóng mềm (soft shadows) — biến thể của bóng do ánh sáng bị che khuất một phần
- kỹ thuật tạo hiệu ứng phản quang (reflection) — hiệu ứng phản chiếu từ gương hoặc bề mặt bóng
- kỹ thuật tạo hiệu ứng trong suốt (transparency) — ánh sáng xuyên qua vật thể đặc
- kỹ thuật tạo hiệu ứng trong mờ (translucency) — sự phân tán ánh sáng khi xuyên qua vật thể đặc
- kỹ thuật tạo hiệu ứng khúc xạ (refraction) — sự thay đổi hướng của ánh sáng khi qua vật thể trong suốt
- kỹ thuật tạo hiệu ứng chiếu sáng gián tiếp (indirect illumination) — bề mặt sáng lên khi ánh sáng phản chiếu từ các bề mặt khác
- tính tụ quang (một dạng của phản quang) — sự phản chiếu ánh sáng từ vật thể bóng, hoặc hội tụ ánh sáng qua vật trong suốt, tạo điểm chói trên các vật thể khác
- kỹ thuật tạo hiệu ứng chiều sâu của tầm nhìn (depth of field) — vật thể mờ khi xa hơn hoặc ở phía sau vật trong tầm mắt
- kỹ thuật tạo hiệu ứng nhòe hình chuyển động (motion blur) — vật thể bị nhòe khi chuyển động nhanh hoặc do chuyển động máy quay
- kỹ thuật tạo hình ảnh giống như thật (photorealistic morphing) — tạo hiệu ứng giống như ảnh chụp từ kết xuất 3D
- kỹ thuật kết xuất không giống ảnh chụp (non-photorealistic rendering) — kết xuất phong cảnh theo phong cách họa sĩ, giống như tranh sơn dầu hoặc vẽ tay
Kỹ thuật
Nhiều thuật toán kết xuất đồ họa đã được nghiên cứu, và phần mềm sử dụng trong quá trình kết xuất có thể áp dụng các kỹ thuật này để đạt được hình ảnh cuối cùng.
Việc mô phỏng từng tia sáng trong một khung cảnh là điều không khả thi và tốn kém thời gian đáng kể. Ngay cả khi chỉ cần xác định một phần đủ lớn để tạo ra hình ảnh, điều này cũng yêu cầu một lượng thời gian khổng lồ nếu không có sự kiểm soát thông minh và khéo léo trong quá trình lấy mẫu.
Vì lý do trên, bốn phương pháp kết xuất hình ảnh đã và đang được phát triển để đáp ứng các yêu cầu khác nhau: kỹ thuật tạo ảnh điểm (rasterisation), bao gồm kết xuất đường quét màn hình (scanline rendering), cân nhắc các đối tượng trong cảnh và thể hiện chúng mà không cần kiến tạo hiệu ứng xa gần (perspective); kỹ thuật chiếu tia sáng (ray casting) tái hiện cảnh quan từ một góc nhìn cụ thể, tính toán hình ảnh dựa trên hình học và quy luật quang học cơ bản; và kỹ thuật dò tia sáng (ray tracing), phiên bản tổng quát hơn của ray casting, thường sử dụng kỹ thuật Monte Carlo để tạo ra hình ảnh chân thực hơn và nhanh hơn đáng kể so với quy trình chậm chạp thông thường.
Hầu hết các phần mềm tiên tiến hiện nay kết hợp từ hai kỹ thuật trở lên để đạt được kết quả tốt nhất với chi phí chấp nhận được.
Kết xuất đường quét và tạo điểm ảnh
Hình thức đại diện cao cấp của một bức ảnh cần phải bao gồm những yếu tố ở dạng khác với các điểm ảnh (pixels). Những yếu tố này được gọi là nguyên thủy (primitives). Ví dụ, trong một bức giản đồ, các đoạn thẳng và đường cong là nguyên thủy. Trong giao diện đồ họa người dùng, các cửa sổ và nút bấm cũng có thể được coi là nguyên thủy. Đối với kết xuất hình ba chiều, các tam giác và đa giác trong không gian cũng có thể được xem là nguyên thủy.
Nếu phương pháp kết xuất từng điểm ảnh (pixel-by-pixel rendering) là không thực tế hoặc quá chậm cho một nhiệm vụ nào đó, thì phương pháp kết xuất từng nguyên thủy có thể mang lại hiệu quả hơn. Trong phương pháp này, thuật toán lặp lại (loops) qua từng nguyên thủy, xác định điểm ảnh nào sẽ bị ảnh hưởng và điều chỉnh chúng. Quá trình này gọi là tạo điểm ảnh (rasterization), và đây là phương pháp được sử dụng trong tất cả các bộ điều hợp đồ họa hiện nay.
Phương pháp tạo điểm ảnh thường nhanh hơn so với kết xuất từng điểm ảnh một (pixel-by-pixel rendering). Trước tiên, phần lớn bức ảnh không chứa nguyên thủy, vì vậy phương pháp tạo điểm ảnh sẽ bỏ qua những vùng này, trong khi phương pháp từng điểm ảnh phải xử lý từng phần. Thứ hai, phương pháp tạo điểm ảnh có thể cải thiện sự gắn kết cache (cache coherency) và giảm thiểu công việc thừa nhờ vào thực tế là các điểm ảnh trong một nguyên thủy thường liên tiếp nhau (contiguous). Do đó, khi cần kết xuất tương tác, phương pháp tạo điểm ảnh thường được ưu tiên, nhưng kết xuất từng điểm ảnh lại thường tạo ra hình ảnh chất lượng cao hơn và động hơn vì nó không phụ thuộc vào các giả định về bức ảnh như phương pháp tạo điểm ảnh.
Có hai hình thức tạo điểm ảnh chính, không chỉ khi toàn bộ bề mặt (nguyên thủy) được kết xuất mà còn khi các giao điểm của bề mặt đã được kết xuất, và sau đó các điểm ảnh nằm giữa được tạo ra bằng cách hòa màu giữa các giao điểm. Phương pháp này đã vượt trội hơn vì cho phép kết nối các mảng đồ họa mà không cần đến vật liệu phức tạp; một hình ảnh kết xuất điểm ảnh (rasterized image) nếu không có sự chuyển màu mượt mà giữa các điểm ảnh có thể gây hiệu ứng từng khối riêng. Các nhà thiết kế đôi khi sử dụng phương pháp này cho một số bề mặt, trong khi sử dụng phương pháp khác cho các bề mặt khác, tùy thuộc vào góc nhìn và cách các bề mặt giao thoa, từ đó tăng tốc độ quá trình mà không làm giảm hiệu ứng chung.
Chiếu quang tia
Chiếu quang tia (Ray casting) chủ yếu được dùng trong các mô phỏng thời gian thực, như trong trò chơi điện tử 3D hoặc hoạt hình các hình ảnh vẽ, nơi chi tiết không quá quan trọng, hoặc việc tự tạo chi tiết để nâng cao hiệu suất tính toán là hiệu quả hơn. Điều này thường xuất hiện khi cần hoạt hình hóa nhiều khung hình. Các bề mặt tạo ra có đặc điểm là 'phẳng lì', khi không sử dụng các thủ thuật bên ngoài, tương tự như các vật thể trong phong cảnh được phủ một lớp sơn xỉn.
Tính hình học được mô phỏng tại đây được phân tích từng điểm một, từng đường thẳng một, từ góc nhìn chiếu ra, tương tự như các tia sáng phát ra từ điểm nhìn. Tại các giao điểm giữa hai đối tượng, giá trị màu tại điểm này có thể được xác định thông qua một số phương pháp. Phương pháp đơn giản nhất là lấy giá trị màu của đối tượng tại giao điểm như là giá trị của điểm ảnh. Màu sắc cũng có thể được lấy từ bản đồ chất liệu (texture map). Một phương pháp phức tạp hơn là thay đổi giá trị màu theo độ hừng sáng, mà không tính đến mối quan hệ với nguồn sáng mô phỏng. Để giảm thiểu nhiễu, các tia sáng với góc độ hơi khác nhau có thể được tính trung bình.
Nhiều mô phỏng tương đối về các đặc tính quang học có thể được áp dụng thêm, chẳng hạn như tính toán quang tia từ đối tượng đến điểm nhìn. Một phép toán khác là tính toán góc của các tia sáng đến từ một hoặc nhiều nguồn sáng (angle of incidence of light rays), và từ đó, kết hợp với cường độ ánh sáng của nguồn, giá trị của điểm ảnh được xác định. Một mô phỏng khác là sử dụng giá trị hừng sáng lấy từ thuật toán tính sự va đập của ánh sáng, hoặc kết hợp cả hai phương pháp này.
Tính va đập của ánh sáng
Thuật toán tính sự va đập của ánh sáng (Radiosity) là phương pháp nhằm mô phỏng sự phản xạ của ánh sáng, không chỉ phản xạ sang một mặt phẳng khác mà còn làm sáng các khu vực xung quanh. Phương pháp này tạo ra bóng tối chân thực hơn và dường như nắm bắt được bầu không khí của không gian nội thất (ambiance). Một ví dụ điển hình là bóng tối bao phủ các góc phòng.
Nền tảng quang học trong mô phỏng này dựa trên nguyên lý rằng ánh sáng khuếch tán từ một điểm trên bề mặt sẽ phản xạ lại với nhiều góc độ khác nhau, làm sáng các khu vực xung quanh nó.
Kỹ thuật mô phỏng có thể khác nhau về mức độ phức tạp. Nhiều quy trình kết xuất chỉ ước lượng tương đối tính va đập của ánh sáng, đơn giản chỉ làm sáng toàn bộ không gian bức ảnh với một cường độ được gọi là không khí môi trường (ambiance). Tuy nhiên, khi thuật toán ước tính va đập ánh sáng tiên tiến kết hợp với một thuật toán dõi quang tia chất lượng cao (high quality ray tracing algorithm), hình ảnh có thể thể hiện độ chân thực ở mức thuyết phục, đặc biệt trong các phong cảnh nội thất.
Trong kỹ thuật mô phỏng va đập ánh sáng tiên tiến, các thuật toán phần tử hữu hạn (finite-element algorithm) đệ quy giúp 'nẩy tung' ánh sáng, bắn ra và phản hồi giữa các bề mặt trong mô hình cho đến khi đạt một giới hạn nhất định. Trong phương pháp này, việc bố trí màu sắc của một mặt phẳng ảnh hưởng đến màu sắc của bề mặt kế cận và ngược lại. Các giá trị độ hừng sáng được tính toán cho toàn bộ mô hình (thỉnh thoảng bao gồm cả các khoảng trống) được lưu trữ và sử dụng như những thông tin bổ sung khi thực hiện các phép tính trong mô hình chiếu quang tia (ray-casting) hoặc mô hình dõi quang tia (ray-tracing).
Do tính chất tương tác và quy đệ của kỹ thuật này, việc mô phỏng các vật thể phức tạp đặc biệt tốn thời gian và chậm. Các phép toán tính va đập ánh sáng tiên tiến có thể chỉ được dùng để tính toán ánh sáng trong phòng, dựa vào phản quang từ các bức tường, sàn nhà và trần mà không kiểm tra thêm ảnh hưởng của các vật thể phức tạp đến sự va đập của ánh sáng—hoặc trong quá trình tính toán, chúng ta có thể thay thế các vật thể phức tạp bằng những vật thể đơn giản hơn, nhưng có cùng kích thước và chất liệu.
Nếu việc sắp xếp lại các vật va đập ánh sáng trong phong cảnh không thay đổi nhiều, dữ liệu về sự va đập ánh sáng này có thể được tái sử dụng trong một số khung hình, biến tính va đập ánh sáng thành một phương pháp làm giảm độ phẳng của chiếu quang tia mà không làm tăng đáng kể thời gian kết xuất từng khung hình.
Với tính năng của nó, phép tính va đập ánh sáng trở thành phương pháp hàng đầu để kết xuất trong thời gian thực, và đã được sử dụng xuyên suốt trong việc sản xuất nhiều bộ phim hoạt hình 3D nổi tiếng gần đây.
Dò tia sáng
Phương pháp dò tia sáng (ray tracing) là một phiên bản mở rộng và tổng quát hơn của phương pháp chiếu tia sáng (ray casting). Giống như các phương pháp trước đó, dò tia sáng xử lý các vật thể khá hiệu quả và có thể diễn giải bằng toán học. Khác với đường quét hình và chiếu quang tia, kỹ thuật dõi quang tia chủ yếu sử dụng phương pháp Monte Carlo, tức là dựa vào việc tính trung bình một số mẫu ngẫu nhiên từ mô hình mà không theo một công thức nhất định.
Trong kỹ thuật này, mẫu lấy là các quang tia tưởng tượng của ánh sáng xuyên qua điểm nhìn từ các vật thể trong phong cảnh. Kỹ thuật này đặc biệt hữu ích trong việc kết xuất bóng, sự khúc xạ và khản quang một cách phức tạp và chính xác, giải quyết các vấn đề nan giải.
Kết quả cuối cùng của một dự án kết xuất dõi quang tia chất lượng (chẳng hạn như trong các bộ phim) thường bao gồm hàng loạt quang tia chiếu vào từng chấm ảnh và theo dõi không chỉ vật thể đầu tiên mà còn cả những va đập tiếp theo, áp dụng các quy luật quang học đã biết như quy luật góc chiếu bằng góc phản xạ, và các quy luật về khúc xạ và sự gồ ghề của bề mặt.
Khi quang tia chạm vào một nguồn sáng, hoặc trong trường hợp khả thi hơn, khi một nhóm va đập quang tia đã được tính toán xong, độ hừng sáng của bề mặt tại điểm cuối cũng được xác định bằng các kỹ thuật đã mô tả ở trên. Các thay đổi trên đường đi thông qua các va đập được tính toán để ước lượng giá trị mà người quan sát thấy từ điểm nhìn. Phép toán này được lặp lại cho mỗi mẫu lấy được và cho từng chấm ảnh.
Trong một số tình huống, tại mỗi giao điểm, các tia sáng mới có thể được tạo ra.
Vì tính chất 'thô lực' của phương pháp này (tính từng tia sáng một), dò tia sáng không thích hợp cho việc kết xuất theo thời gian thực và vẫn thường được coi là chậm chạp, ngay cả cho các phim ngắn chất lượng cao. Tuy nhiên, nó đã được áp dụng trong một số đoạn hiệu ứng đặc biệt và quảng cáo, nơi yêu cầu chất lượng cao (có thể giống như ảnh chụp) là rất cần thiết.
Dù vậy, nhiều nỗ lực tối ưu hóa nhằm giảm thiểu số lượng tính toán trong các công việc không yêu cầu nhiều chi tiết hoặc không phụ thuộc vào các đặc điểm của dõi quang tia đã tạo điều kiện cho việc áp dụng rộng rãi kỹ thuật này. Hiện nay, cũng đã có một số thiết bị phần cứng tăng tốc cho dõi quang tia, hoặc ít nhất đã được nghiên cứu ở giai đoạn nguyên mẫu, và một số trò chơi điện tử đã trình diễn việc sử dụng dõi quang tia trong thời gian thực.
Tối ưu hóa
Các phương pháp tối ưu hóa mà các họa sĩ áp dụng trong quá trình xây dựng một phong cảnh
Vì khối lượng tính toán lớn, trong giai đoạn phát triển, một công trình chỉ kết xuất các chi tiết đang được chú ý tại thời điểm làm việc. Do đó, trong những giai đoạn đầu của mô hình hóa, người ta thường chỉ sử dụng mô hình khung lưới cùng với kỹ thuật chiếu quang tia, mặc dù kết quả cuối cùng cần kết hợp dõi quang tia và tính va đập ánh sáng. Thêm vào đó, chỉ một số phần của phong cảnh được kết xuất chi tiết, trong khi các đối tượng không quan trọng sẽ bị loại bỏ.
Các phương pháp tối ưu hóa phổ biến trong kết xuất thời gian thực
Đối với kết xuất thời gian thực, việc đơn giản hóa một hoặc nhiều ước lượng là cần thiết, và điều chỉnh các tham số của phong cảnh hiện tại một cách chính xác là cách hiệu quả nhất để tối ưu hóa quy trình (get the most 'bang for the buck').
Ngoài ra, có một số phương pháp kết xuất đồ họa khác, như các kỹ thuật sử dụng hàm điều hòa cầu (spherical harmonics). Những kỹ thuật này không phổ biến do tốc độ chậm hoặc thiếu tính thực tiễn, nhưng có thể một số sẽ mang lại giải pháp mới trong tương lai.
Lấy mẫu và thanh lọc
Một thách thức mà mọi hệ thống kết xuất đồ họa phải đối mặt, bất kể phương pháp nào được áp dụng, là vấn đề lấy mẫu (sampling problem). Thực chất, quá trình kết xuất nhằm mục đích mô tả một hàm số liên tục (continuous function) từ mỗi pixel đến giá trị màu sắc tương ứng. Theo Lý thuyết Nyquist, tần số lấy mẫu tối thiểu phải gấp đôi tỷ lệ điểm ảnh (the scanning frequency must be twice the dot rate), tức là phải tương ứng với độ phân giải hình ảnh. Điều này có nghĩa rằng một hình ảnh không thể hiện chi tiết nhỏ hơn kích thước của một pixel.
Khi sử dụng một thuật toán kết xuất đơn giản, các tần số cao trong hàm hình ảnh có thể tạo ra hiện tượng ảo giác ngoại hình (aliasing) không mong muốn trong kết quả cuối cùng. Ảo giác này thường thể hiện qua các cạnh lởm chởm và hiệu ứng răng cưa trên các vật thể, nơi mà cấu trúc pixel có thể được nhận diện rõ ràng. Để khắc phục hiện tượng này, mọi thuật toán kết xuất cần phải thực hiện quá trình thanh lọc hàm hình ảnh nhằm loại bỏ các tần số cao. Quá trình này gọi là chống ảo giác ngoại hình (antialiasing).
- Thuật toán họa sĩ (the painter's algorithm)
- Các thuật toán quét hình như phương pháp kết xuất Reyes
- Thuật toán Z-buffer (Z-buffer algorithms)
- Chiếu sáng toàn cầu (Global illumination)
- Sự va đập của ánh sáng (Radiosity)
- Dõi quang tia (Ray tracing)
- Kết xuất thể tích (Volume rendering)
Quá trình kết xuất phim điện ảnh thường được thực hiện trên một mạng lưới các máy tính kết nối chặt chẽ, gọi là trang trại kết xuất (render farm).
Ngôn ngữ diễn tả phong cảnh RenderMan, được phát triển tại Pixar, đại diện cho đỉnh cao của kỹ thuật hình ảnh 3D hiện đại cho sản xuất phim điện ảnh. (Điều này so với các định dạng tệp 3D đơn giản như VRML hoặc các API như OpenGL và DirectX, được thiết kế để phù hợp với nhu cầu của phần cứng 3D tăng tốc).
Phần mềm phục vụ cho việc kết xuất phim điện ảnh bao gồm:
- Các bộ kết xuất tương thích với RenderMan (RenderMan compliant renderers)
- Mental Ray
- Brazil
- Blender (cũng có thể dùng cho mô hình hóa)
- LightWave (bao gồm cả mô-đun mô hình hóa)
Nền tảng hàn lâm
Việc thực hiện một chương trình kết xuất chân thực thường bao gồm những thành phần cơ bản của mô phỏng vật lý hoặc là tái hiện thực tế — bao gồm những phép tính hoặc là mô phỏng hoặc là trừu tượng hóa một quá trình thực sự xảy ra trong cuộc sống.
Thuật ngữ dựa trên quan điểm vật lý (physically-based) thể hiện việc áp dụng các mô hình vật lý cùng với những ước lượng phổ biến hoặc được công nhận rộng rãi bên ngoài lĩnh vực kết xuất. Nhiều kỹ thuật liên quan đã được nhóm lại và dần dần tạo nên uy tín trong cộng đồng kết xuất đồ họa.
Các khái niệm cơ bản mặc dù dễ hiểu, nhưng việc tính toán lại khá phức tạp; do đó, người ta thường tránh xa những thuật toán hay phương pháp độc lập tinh tế (single elegant algorithm), mà thay vào đó tập trung vào các chương trình kết xuất đa năng (general purpose renderers).
Nghiên cứu về kết xuất đồ họa chú trọng đến cả hai khía cạnh: áp dụng các mô hình khoa học và ứng dụng chúng một cách hiệu quả (efficient application).
Phương trình kết xuất đồ họa
Phương trình kết xuất, hay còn gọi là phương trình vận chuyển ánh sáng (light transport equation), là khái niệm cốt lõi trong lý thuyết kết xuất đồ họa. Phương trình này đại diện cho một biểu thức toán học trừu tượng của quá trình kết xuất. Tất cả các thuật toán dựa trên nền tảng vật lý đều có thể được coi là những giải pháp cho phương trình này hoặc các dạng biến thể của nó.
Để giải thích một cách trực quan: Lượng ánh sáng phát ra từ một điểm theo một hướng nhất định (Lo) được tính bằng tổng lượng ánh sáng mà điểm đó phát ra theo hướng đó (Le) và lượng ánh sáng từ môi trường xung quanh bị phản xạ trở lại bởi điểm đó.
Hàm phân bố năng xuất phản xạ hai chiều
Hàm phân bố năng xuất phản xạ hai chiều (Bidirectional Reflectance Distribution Function - BRDF) mô tả một cách đơn giản về cách ánh sáng tương tác với bề mặt như sau:
Ánh sáng tương tác thường được ước lượng bằng các mô hình đơn giản như sự phản xạ khuếch tán và sự phản chiếu, nhưng cả hai đều có thể được mô tả bằng BRDF.
Các tính chất quang hình học
Trong thực tế, quá trình kết xuất đồ họa tập trung vào khía cạnh vật lý của ánh sáng — được gọi là các tính chất quang hình học (geometric optics). Ở dạng cơ bản, ánh sáng được xem như những phần tử nhảy nhót một cách ngẫu nhiên, mặc dù đây là một giản lược hợp lý: phương diện sóng của ánh sáng thường không được xem xét trong hầu hết các trường hợp, đồng thời cũng khó khăn để mô phỏng. Đặc biệt, hiện tượng sóng có thể dẫn đến các hiệu ứng như nhiễu xạ (diffraction) — như những màu sắc trên bề mặt CD và DVD — hay phân cực (polarisation) mà ta thấy trong các màn hình tinh thể lỏng (Liquid crystal display - LCD). Nếu cần, cả hai hiệu ứng này có thể được tái tạo bằng cách điều chỉnh mô hình phản xạ theo định hướng hình thức (appearance-oriented adjustment of the reflection model).
Thị giác
Dù không được chú ý nhiều, nhưng việc hiểu biết về thị giác con người lại có vai trò quan trọng trong quy trình kết xuất. Điều này bởi vì việc hiển thị hình ảnh và cách mà con người nhận thức có những giới hạn nhất định. Một bộ kết xuất có khả năng mô phỏng rất nhiều giá trị cường độ ánh sáng và màu sắc, nhưng các thiết bị hiển thị như màn chiếu, màn hình máy tính, v.v., không thể xử lý được hết, dẫn đến việc một số thông tin phải bị loại bỏ hoặc nén lại. Hơn nữa, nhận thức của con người cũng có giới hạn, nên không cần thiết phải cung cấp cho họ hình ảnh với quá nhiều giá trị để tạo ra cảm giác chân thật. Điều này giúp ích trong việc điều chỉnh hình ảnh cho phù hợp với kích thước của thiết bị hiển thị và gợi ý cho việc sử dụng các đường tắt (short-cuts) trong quá trình mô phỏng, vì nhiều chi tiết nhỏ thường không được chú ý. Một chủ đề liên quan đến điều này là bố trí sắc thái (tone mapping).
Các phép toán được sử dụng trong kết xuất bao gồm: đại số tuyến tính (linear algebra), phép tính vi phân (calculus), phân tích số học (numerical analysis), xử lý tín hiệu (signal processing), và phương pháp Monte Carlo.
Bảng thời gian ghi lại các sáng kiến đã được công bố dựa trên tầm quan trọng của chúng
- 1970 Thuật toán quét màn hình (Scan-line algorithm) (Bouknight, W. J. (1970). Quy trình tạo hình ảnh đồ họa ba chiều bằng nửa tông (half-tone) (hiệu ứng in ảnh đen trắng trên báo chí). (Communications of the ACM)
- 1971 Phương pháp tô bóng Gouraud (Gouraud shading) (Gouraud, H. (1971). Máy tính hiển thị bề mặt cong. IEEE Transactions on Computers 20 (6), 623–629.)
- 1974 Liên kết chất liệu (Texture mapping) (Catmull, E. (1974). Một nhánh thuật toán cho việc máy tính thể hiện các bề mặt cong. Luận văn tốt nghiệp Tiến sĩ triết học, Đại học Utah, Mỹ)
- 1974 Z-buffer (Catmull, E. (1974). Một nhánh thuật toán để hiển thị chiều sâu của hình ảnh và các vật thể gần xa)
- 1975 Tô bóng Phong (Phong shading) (Phong, B-T. (1975). Mô hình ánh sáng cho hình ảnh do máy tính tạo ra. Communications of the ACM 18 (6), 311–316.)
- 1976 Liên kết hiệu ứng môi trường (Environment mapping) (Blinn, J.F., Newell, M.E. (1976). Chất liệu và phản xạ trong hình ảnh máy tính. Communications of the ACM 19, 542–546.)
- 1977 Thể tích bóng tối (Shadow volumes) (Crow, F.C. (1977). Thuật toán tính bóng cho đồ họa máy tính. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242–248.)
- 1978 Dữ liệu bóng tối trong bộ nhớ trung gian (Shadow buffer) (Williams, L. (1978). Tính toán bóng trên các bề mặt cong. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 270–274.)
- 1978 Liên kết hiệu ứng bề mặt sần (Bump mapping) (Blinn, J.F. (1978). Mô phỏng bề mặt nhăn. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286–292.)
- 1980 Cấu trúc phân chia không gian nhị phân (Binary Space Partitioning Tree) (Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). Liên quan đến việc thực hiện cấu trúc dữ liệu để xác định thứ tự các bề mặt, phần nào nhìn thấy, phần nào bị che khuất. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124–133.)
- 1980 Dõi quang tia (Ray tracing) (Whitted, T. (1980). Cải tiến mô hình chiếu sáng cho hiển thị tô bóng. Communications of the ACM 23 (6), 343–349.)
- 1981 Phần mềm tô bóng Cook (Cook shader) (Cook, R.L. Torrance, K.E. (1981). Mô hình phản xạ cho đồ họa máy tính. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307–316.)
- 1983 Chồng chất các loại cỡ của mảng hình chất liệu (Mipmaps) (Williams, L. (1983). Các thông số được sắp xếp theo hình chóp nón. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1–11.)
- 1984 Dõi quang tia với phả hệ tám nhánh (Octree ray tracing) (Glassner, A.S. (1984). Phân chia không gian thành các phần nhỏ hơn để tăng tốc độ dõi quang tia. IEEE Computer Graphics & Applications 4 (10), 15–22.)
- 1984 Hợp tử kênh Alpha (Alpha compositing) (Porter, T. Duff, T. (1984). Tổ hợp hình ảnh số. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 253–259.)
- 1984 Dõi quang tia phân bố (Distributed ray tracing) (Cook, R.L. Porter, T. Carpenter, L. (1984). Dõi quang tia phân bố. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 137–145.)
- 1984 Tính va đập của ánh sáng (Radiosity) (Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Mô hình hóa tương tác ánh sáng giữa các bề mặt khuếch tán. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213–222.)
- 1985 Tính va đập ánh sáng dùng bán lập phương (Hemi-cube radiosity) (Cohen, M.F. Greenberg, D.P. (1985). Bán lập phương: một phương pháp giải quyết tương tác ánh sáng trong môi trường phức tạp. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31–40.)
- 1986 Dõi nguồn ánh sáng (Light source tracing) (Arvo, J. (1986). Tính toán ngược của dõi quang tia. SIGGRAPH 1986 Developments in Ray Tracing course notes)
- 1986 Phương trình kết xuất đồ họa (Rendering equation) (Kajiya, J.T. (1986). Phương trình kết xuất đồ họa. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143–150.)
- 1987 Thuật toán Reyes (Cook, R.L. Carpenter, L. Catmull, E. (1987). Kiến trúc kết xuất hình ảnh theo phương pháp REYES (Renders Everything You Ever Saw - Kết xuất bất kỳ vật thể nào bạn thấy). Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95–102.)
- 1991 Cấu trúc tầng cấp của phép tính va đập ánh sáng (Hierarchical radiosity) (Hanrahan, P. Salzman, D. Aupperle, L. (1991). Thuật toán tính va đập ánh sáng bằng cấu trúc tầng cấp hiệu quả. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197–206.)
- 1993 Bố trí sắc thái (Tone mapping) (Tumblin, J. Rushmeier, H.E. (1993). Tái tạo sắc thái cho hình ảnh máy tính sao cho chân thực hơn. IEEE Computer Graphics & Applications 13 (6), 42–48.)
- 1993 Sự phân tán ánh sáng từ bề mặt bên dưới (Subsurface scattering) (Hanrahan, P. Krueger, W. (1993). Phản xạ từ các bề mặt chồng lên nhau do ánh sáng phân tán từ bề mặt bên dưới. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 (), 165–174.)
- 1995 Liên kết quang tử (Photon mapping) (Jensen, H.J. Christensen, N.J. (1995). Liên kết quang tử trong kỹ thuật dõi quang tia monte carlo cho các vật thể phức tạp. Computers & Graphics 19 (2), 215–224.)
- Kết xuất trước (Pre-rendered)
- Các giai đoạn trong quy trình đồ họa (Graphics pipeline)
- Mô hình ảo hóa (Virtual model)
Sách tham khảo và tóm tắt
- Foley; Van Dam; Feiner; Hughes (1990). Đồ Họa Máy Tính: Nguyên Tắc và Thực Tiễn. Addison Wesley. ISBN 0201121107.
- Glassner (1995). Nguyên Tắc Tạo Hình Ảnh Kỹ Thuật Số. Morgan Kaufmann. ISBN 1558602763.
- Pharr; Humphreys (2004). Kết Xuất Dựa Trên Nguyên Lý Vật Lý. Morgan Kaufmann. ISBN 012553180X.
- Dutre; Bala; Bekaert (2002). Chiếu Sáng Toàn Cục Nâng Cao. AK Peters. ISBN 1568811772.
- Jensen (2001). Tạo Hình Ảnh Thực Tế Sử Dụng Liên Kết Quang Tử. AK Peters. ISBN 1568811470.
- Shirley; Morley (2003). Dõi Quang Tia Thực Tế (ấn bản thứ 2). AK Peters. ISBN 1568811985.
- Glassner (1989). Giới Thiệu Về Dõi Quang Tia. Academic Press. ISBN 0122861604.
- Cohen; Wallace (1993). Radiosity và Tạo Hình Ảnh Thực Tế. AP Professional. ISBN 0121782700.
- Akenine-Moller; Haines (2002). Kết Xuất Thời Gian Thực (ấn bản thứ 2). AK Peters. ISBN 1568811829.
- Gooch; Gooch (2001). Kết Xuất Không Chân Thực. AK Peters. ISBN 1568811330.
- Strothotte; Schlechtweg (2002). Đồ Họa Máy Tính Không Chân Thực. Morgan Kaufmann. ISBN 1558607870.
- Blinn (1996). Câu Chuyện của Jim Blinn - Hành Trình Qua Quy Trình Đồ Họa. Morgan Kaufmann. ISBN 1558603875.
- Mô tả về hệ thống 'Radiance'
Các liên kết bên ngoài
- Nhóm SIGGRAPH của ACM - tổ chức chuyên về đồ họa và hội nghị lớn nhất. (Nhóm Quan Tâm Đặc Biệt Về Đồ Họa và Kỹ Thuật Tương Tác của Hiệp Hội Máy Tính)
- Thông tin Dõi Quang Tia - Cập nhật kỹ thuật về dõi quang tia.
- Tài nguyên Kết Xuất Thời Gian Thực - Danh sách liên kết tới tài nguyên liên quan đến cuốn sách Kết Xuất Thời Gian Thực.
- http://www.graphicspapers.com/ - Cơ sở dữ liệu về tài liệu đồ họa.
- http://www.cs.brown.edu/~tor/ Lưu trữ 2004-09-23 tại Wayback Machine - Danh sách liên kết tới tài liệu SIGGRAPH.
- http://www.pointzero.nl/renderers/ - Danh sách liên kết tới phần mềm kết xuất đồ họa.
- http://www.renderman.org/ Lưu trữ 2004-03-27 tại Wayback Machine.
- Hệ thống dõi quang tia 'Radiance' - Phần mềm dõi quang tia rất chính xác.
- Pixie - Phần mềm kết xuất đồ họa nguồn mở, tương thích RenderMan, hiệu quả và miễn phí.
- 'Aqsis' renderer - Phần mềm kết xuất đồ họa nguồn mở sử dụng kỹ thuật REYES, tương thích với RenderMan.
- http://www.povray.org/ - Phần mềm dõi quang tia miễn phí.
- http://www.daylongraphics.com/products/leveller/render/techniques.htm Lưu trữ 2006-10-17 tại Wayback Machine.
- 'jrMan' renderer - Phần mềm kết xuất đồ họa nguồn mở sử dụng kỹ thuật REYES viết bằng Java, tương thích RenderMan.
- 'https://irender.vn/' - Giải pháp kết xuất dựa trên nền tảng Cloud Rendering.
- 'http://gpuhub.net/' - Giải pháp Render sử dụng GPU để tăng tốc độ lên đến 40 lần.
