Kết xuất đồ họa – Wikipedia tiếng Việt

Bởi tuhocmoithu
Một quy trình gồm nhiều kỹ thuật kết xuất được vận dụng lên một cảnh phim 3D đơn lẻ Một hình ảnh tạo bằng ứng dụng POV-Ray 3.6 .

Trong đồ họa máy tính, kết xuất đồ họa (tiếng Anh: rendering), gọi tắt là kết xuất, là một quá trình kiến tạo một hình ảnh từ một mô hình (hoặc một tập hợp các mô hình) thành một cảnh phim hoặc hình ảnh nào đó bằng cách sử dụng phần mềm máy tính. Mô hình là mô tả của các đối tượng ba chiều bằng một ngôn ngữ được định nghĩa chặt chẽ hoặc bằng một cấu trúc dữ liệu. Mô tả này bao gồm các thông tin về hình học, điểm nhìn, chất liệu và bố trí ánh sáng của đối tượng. Hình ảnh này có thể là một hình ảnh số (digital image) hoặc một hình ảnh đồ họa điểm (raster graphics image). Thuật ngữ này có thể tương đồng với “quá trình một họa sĩ vẽ” một phong cảnh nào đấy. Thuật ngữ “kết xuất” còn được dùng để chỉ quá trình tính toán các hiệu ứng trong một tập tin biên tập phim để tạo kết quả video cuối cùng.

Kết xuất đồ họa là một trong các chủ đề con chính của đồ họa máy tính ba chiều (3D computer graphics). Trong thực tiễn, nó luôn luôn có quan hệ chặt chẽ với các chủ đề khác. Trong ‘quy trình xử lý đồ họa’ (graphics pipeline), kết xuất là bước quan trọng cuối cùng để tạo ra diện mạo kết cục của các mô hình và hoạt hình. Với tính phức tạp của đồ họa máy tính ngày càng tăng, từ năm 1970 đến nay, kết xuất đồ họa đã trở thành một chủ đề riêng biệt.

Kết xuất đồ họa được sử dụng trong: trò chơi video và điện tử (computer and video games), trong các chương trình mô phỏng (simulators), trong điện ảnh (movies) hay trong hiệu ứng đặc biệt (special effects) trên TV, và trong hình tượng hóa thiết kế (design visualisation), mỗi cái áp dụng một cân bằng giữa các đặc trưng và kỹ thuật khác nhau. Hiện nay còn có nhiều sản phẩm phần mềm đa dạng dùng cho việc kết xuất đồ họa. Một số được kết hợp trong những bộ phần mềm tạo mô hình và làm phim hoạt họa, một số khác là những phần mềm đứng riêng (stand-alone) và một số là những dự án nguồn mở tự do (free open-source projects). Bên trong chúng, chương trình kết xuất đồ họa là một chương trình ứng dụng được thiết kế và xây dựng một cách cẩn trọng, dựa trên một số kiến thức của các ngà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 trường hợp đồ họa 3D, việc kết xuất là một quá trình chậm chạp, chẳng hạn như trong tiến trình kết xuất trước (pre-rendering), hoặc trong việc kết xuất trong thời gian thực (real time rendering). Kết xuất trước là một tiến trình đòi hỏi một khối lượng tính toán lớn, đặc biệt được dùng trong việc tạo phim điện ảnh, trong khi đó, kết xuất trong thời gian thực thường được sử dụng trong các trò chơi điện tử 3D (3D video games), và phụ thuộc vào các bộ điều hợp đồ họa (graphics cards) với bộ tăng tốc phần cứng 3D (3D hardware accelerators).

Sau khi hình ảnh sơ đẳng (thường là một bản vẽ phác thảo khung lưới) được hoàn chỉnh, quá trình kết xuất mới bắt đầu để cho thêm những chất liệu bề mặt dạng bitmap (bitmap textures) hoặc những chất liệu bề mặt mô tả các quy luật toán học (procedural textures), bố trí ánh sáng, tạo hiệu ứng bề mặt sần (bump mapping), và vị trí tương đối với các vật thể khác. Kết quả là một bức ảnh mà khách hàng, hoặc người xem mà nó có nhã ý dành cho, nhìn thấy.

Đối với hoạt họa trong phim điện ảnh, vài hình ảnh (các khung hình) (frames) phải được kết xuất cùng một lúc, và những hình ảnh này được nối vào với nhau bằng một chương trình ứng dụng có khả năng tạo phim hoạt họa. Phần lớn các chương trình ứng dụng biên tập hình ảnh 3D đều có khả năng làm việc này.

Người ta hoàn toàn có thể hiểu một hình ảnh đã được kết xuất trải qua một số ít đặc thù hoàn toàn có thể nhìn thấy được của nó. Động cơ thôi thúc việc điều tra và nghiên cứu và tăng trưởng kết xuất đồ họa là nhằm mục đích vào việc tìm kiếm những giải pháp để mô phỏng những đặc thù này một cách hiệu suất cao. Một số trong những giải pháp đó tương quan trực tiếp đến những thuật toán và những kỹ thuật đơn cử, trong khi những chiêu thức khác được sản sinh đồng thời trong quy trình tìm kiếm :
Nhiều thuật toán kết xuất đồ họa đã được điều tra và nghiên cứu và ứng dụng dùng trong quy trình kết xuất hoàn toàn có thể vận dụng một số ít những kỹ thuật kết xuất để đạt được hình ảnh sau cuối .Mô phỏng lại từng tia sáng một trong một khung cảnh là một việc không thực tiễn và yên cầu một lượng thời hạn khổng lồ. Ngay cả khi chỉ xác lập một phần đủ lớn để sinh tạo một hình ảnh cũng đã yên cầu một lượng thời hạn lớn quá mức nếu quy trình lấy mẫu không được hạn chế một cách khôn khéo và mưu trí .

Chính vì những nguyên nhân nói trên, bốn phương pháp kết xuất ảnh đã và đang được phát triển nhằm đáp ứng những loại yêu cầu khác nhau
kỹ thuật tạo ảnh điểm (rasterisation), bao gồm việc kết xuất đường quét màn hình (scanline rendering), cân nhắc các đối tượng trong phong cảnh và diễn đạt chúng để tạo nên một hình ảnh, trong khi không có phương tiện để kiến tạo hiệu ứng luật xa gần (perspective) của một góc nhìn; kỹ thuật chiếu tia sáng (ray casting) tái hiện khung cảnh như được quan sát từ một góc nhìn cụ thể, tính toán hình ảnh quan sát được dựa trên tính hình học và các quy luật quang học căn bản về cường độ phản quang của ánh sáng, hoặc sử dụng các kỹ thuật Monte Carlo để làm giảm độ nhiễu (noise) (làm cho ảnh rõ hơn); và kỹ thuật dò tia sáng tia (ray tracing), một phiên bản tổng quát hơn của phương pháp ray casting, thường sử dụng các kỹ thuật Monte Carlo để đạt được kết quả trông giống thật hơn, với một tốc độ nhanh hơn gấp nhiều lần so với tốc độ rất chậm thường thấy của quá trình này.

Đa số những ứng dụng tân tiến tích hợp từ hai kỹ thuật trở lên để đạt được hiệu quả khả quan với phí tổn ở mức độ hoàn toàn có thể gật đầu được .

Kết xuất đường quét và tạo điểm ảnh[sửa|sửa mã nguồn]

Hình thức đại diện cao cấp của một bức ảnh là một hình thức cần phải chứa đựng những yếu tố ở một thể dạng khác với các điểm ảnh (pixels). Những yếu tố này được gọi là những nguyên thủy (primitives). Lấy ví dụ, trong một bức giản đồ, các đoạn đường thẳng và đường cong là những nguyên thủy. Trong giao diện đồ họa người dùng, các cửa sổ, các nút bấm còn có thể được gọi là những 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ể là các nguyên thủy.

Nếu kết xuất từng điểm ảnh (pixel-by-pixel rendering) là một phương pháp không thực tiễn, hoặc quá chậm đối với một nhiệm vụ nào đấy, thì phương pháp kết xuất từng nguyên thủy một có thể là một phương pháp có tác dụng hơn. Ở đây, thuật toán được lặp đi lặp lại (loops) qua từng nguyên thủy một, xác định điểm ảnh nào trong bức ảnh nó tác động đến, và biến đổi những điểm ảnh này. Quá trình này được gọi là quá trình tạo điểm ảnh (rasterization), và nó là phương pháp kết xuất trong tất cả các bộ điều hợp đồ họa (graphics cards) hiện thời.

Phương pháp tạo điểm ảnh thường nhanh hơn phương pháp kết xuất từng điểm ảnh một (pixel-by-pixel rendering). Thứ nhất, phần lớn địa phận trong bức ảnh không có các nguyên thủy, phương pháp tạo điểm ảnh sẽ bỏ qua những địa phận này, song phương pháp kết xuất từng chấm ảnh một phải kinh qua chúng. Thứ hai, phương pháp tạo điểm ảnh còn có thể cải tiến sự gắn kết của cache (cache coherency) và giảm ước những công việc thừa, không cần phải làm, bằng cách áp dụng lợi thế của thực tiễn là các chấm ảnh trong một nguyên thủy thường có xu hướng kế cận liên tiếp (contiguous). Chính vì những nguyên nhân này, khi cần phải kết xuất tương tác, phương pháp tạo điểm ảnh thường là một tiếp cận người ta lựa chọn; tuy nhiên, phương pháp kết xuất từng chấm ảnh một lại thường tạo ảnh có chất lượng cao hơn và năng động hơn vì nó không phụ thuộc vào các giả định về bức ảnh nhiều như phương pháp tạo điểm ảnh.

Có hai hình thức tạo điểm ảnh chính tồn tại, không chỉ khi toàn bộ một bề mặt (nguyên thủy) được kết xuất, song ngay cả khi các giao điểm của một bề mặt đã được kết xuất và sau đó các chấm ảnh trên bề mặt nằm giữa các giao điểm được kết xuất bằng cách dung hòa màu của các giao điểm với nhau, từ cái này đến cái kia, phương pháp tạo điểm ảnh này đã vượt trội và thay thế phương pháp cũ vì nó cho phép các mảng đồ họa được kết nối với nhau mà không cần dùng chất liệu phức tạp (một hình ảnh được kết xuất điểm ảnh (rasterized image) khi được chắp nối kề bên nhau thường gây hiệu ứng từng khối riêng nếu chúng không được bao phủ bằng những chất liệu phức tạp; các bề mặt không được nhẵn nhụi, vì không có sự chuyển màu từ từ giữa chấm ảnh này đến chấm ảnh khác), sử dụng các hàm tạo bóng (shading functions) đắt đỏ hơn của bộ điều hợp đồ họa, song vẫn đạt được công suất cao hơn vì những chất liệu đơn giản hơn được lưu trữ trong bộ nhớ sử dụng khoảng trống ít hơn. Đôi khi, các nhà thiết kế sử dụng một phương pháp tạo điểm ảnh trên một số bề mặt này, và sử dụng các phương pháp khác trên các bề mặt khác, dựa trên cơ sở góc độ nơi bề diện ấy giao tiếp và các bề mặt khác hội nhập, và do vậy tăng tốc độ của quá trình, đồng thời không làm tổn hại đến hiệu ứng chung.

Chiếu quang tia[sửa|sửa mã nguồn]

Chiếu quang tia (Ray casting) được sử dụng chủ yếu trong các mô phỏng thời gian thực (tức khắc), như trong các trò chơi điện tử 3D hoặc trong hoạt hình các hình ảnh vẽ (phim hoạt họa), nơi chi tiết là một điều không quan trọng, hoặc nơi tự mình tạo giả các chi tiết hòng đạt được công suất cao hơn trong quá trình tính toán là một việc có tác dụng hơn. Việc này thường thấy trong trường hợp phải hoạt hình một số lượng khung ảnh lớn. Các bề diện tạo nên có đặc tính là chúng có bề mặt ‘phẳng lì’, khi người ta không sử dụng các thủ thuật bên ngoài, giống như các vật thể trong phong cảnh được quét một làn sơn xỉn kết thúc vậy.

Tính hình học được mô hình hóa ở đây được phân tích bằng từng chấm từng chấm một, bằng từng đường thẳng một, từ điểm nhìn chiếu ra, tương tự như các quang tia được chiếu ra từ điểm nhìn. Tại giao điểm nơi hai đối tượng cắt ngang nhau, giá trị màu tại điểm này có thể được xác định bằng một số phương pháp. Cách đơn giản nhất, giá trị màu của đối tượng tại giao điểm chính là giá trị của chấm ảnh. Màu của nó còn có thể được lấy từ hình chất liệu (texture map) nữa. Một phương pháp phức tạp hơn là phương pháp thay đổi giá trị màu bằng độ hừng sáng, song không tính toán mối quan hệ với một nguồn sáng mô phỏng. Để thuyên giảm nhiễu, những quang tia có góc độ hơi khác nhau một chút có thể được tính bằng giá trị trung bình của chúng.

Nhiều sự mô phỏng tương đối các đặc tính quang học còn có thể được áp dụng thêm vào, chẳng hạn làm thêm một phép tính đơn giản trên quang tia, từ đối tượng đến điểm nhìn. Một phép toán nữa là phép toán tính góc của các quang tia chiếu tới từ một hay nhiều nguồn sáng (angle of incidence of light rays), và từ đó, cộng với cường độ ánh sáng của nguồn, giá trị của chấm ảnh được xác định. Một mô phỏng khác nữa là phương pháp dùng giá trị hừng sáng lấy được từ thuật toán tính sự va đập của ánh sáng, hoặc là sự phối hợp của cả hai cái này gộp lại.

Tính va đập của ánh sáng[sửa|sửa mã nguồn]

Thuật toán tính sự va đập của ánh sáng (Radiosity) là một phương pháp nhằm mô phỏng sự phản xạ của ánh sáng, không những chỉ phản xạ sang một mặt phẳng khác mà thôi, song cả việc nó làm hừng sáng địa phận chung quanh nữa. Phương pháp này tạo nên các bóng tối thật hơn và hình như nắm bắt được không khí môi trường (ambiance) của quang cảnh bên trong nội thất. Một ví dụ kinh điển nhất đã được sử dụng là ví dụ về bóng tối bao trùm 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 tắc một số ít ánh sáng khuếch tán từ một điểm trên một mặt phẳng cho trước, được phản xạ lại với vô số những góc nhìn và làm hừng sáng địa phận bao quanh nó .

Kỹ thuật mô phỏng có thể khác nhau về mức độ phức tạp. Nhiều quá trình kết xuất chỉ ước lượng tương đối tính va đập của ánh sáng, và chỉ đơn giản làm hừng sáng toàn bộ không gian của bức ảnh lên một chút với một cường độ được gọi là không khí môi trường (ambiance). Tuy thế, song khi thuật toán ước tính sự va đập ánh sáng tân tiến được đi đôi với một thuật toán dõi quang tia chất lượng cao (high quality ray tracing algorithm), các hình ảnh có thể biểu hiện tính sát thực của chúng ở một mức độ thuyết phục, đặc biệt là những phong cảnh nội thất.

Trong kỹ thuật mô phỏng tính va đập của ánh sáng tân tiến, các thuật toán phần tử hữu hạn (finite-element algorithm) đệ quy làm ‘nẩy tung’ ánh sáng, bắn đi và bật trở lại giữa các bề mặt trong mô hình, cho đến khi một giới hạn đệ quy nào đấy kết thúc. 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 tới việc bố trí màu sắc của bề mặt bên cạnh nó và ngược lại. Các giá trị về độ hừng sáng đạt được trong toàn bộ mô hình (đôi khi bao gồm cả những khoảng không gian trống rỗng) được lưu trữ và được sử dụng như những nhập liệu bổ sung khi thi hành 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 thực chất tương tác / quy đệ của kỹ thuật này, mô phỏng những vật thể phức tạp đặc biệt quan trọng tốn nhiều thời hạn và chậm trễ. Các phép toán tính sự va đập của ánh sáng tân tiến hoàn toàn có thể chỉ dành cho việc đo lường và thống kê không khí trong phòng, từ sự phản quang của ánh sáng từ những bức tường, sàn và trần nhà, mà không kiểm tra ảnh hưởng tác động bổ trợ mà những vật thể phức tạp tạo ra so với sự va đập của ánh sáng — hoặc trong khi đo lường và thống kê sự va đập của ánh sáng, tất cả chúng ta hoàn toàn có thể sửa chữa thay thế những vật thể phức tạp bằng những vật thể đơn thuần hơn, tuy nhiên có cùng độ lớn và cùng một vật liệu .Nếu sự sắp xếp lại những vật va đập ánh sáng trong một cảnh sắc không biến hóa mấy thì tài liệu về sự va đập ánh sáng này hoàn toàn có thể được dùng lại trong một số ít khung ảnh, biến tính va đập của ánh sáng trở nên một chiêu thức làm giảm tính bẹt, phẳng như mặt gương của giải pháp chiếu quang tia, mà không gây ảnh hưởng tác động lớn đến thời hạn kết xuất từng khung ảnh toàn diện và tổng thể .Bởi tính năng của nó, phép tính sự va đập ánh sáng trở nên giải pháp số 1 dùng để kết xuất trong thời hạn thực, và nó được sử dụng từ đầu chí cuối trong việc kiến thiết xây dựng một số lượng lớn những phim hoạt họa 3D dài nổi tiếng gần đây .

Dò tia sáng[sửa|sửa mã nguồn]

Phương pháp dò tia sáng (ray tracing) là 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ên, dò tia sáng giải quyết các vật thể khá thành công, và các vật thể còn có thể được diễn giải bằng toán học nữa. Khác với đường quét hình và chiếu quang tia, dõi quang tia hầu như luôn luôn là kỹ thuật Monte Carlo, có nghĩa là kỹ thuật dựa trên cơ sở tính trung bình một số mẫu lấy ngẫu nhiên (không theo một công thức nào) từ một mô hì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 cắt ngang điểm nhìn từ các vật thể trong phong cảnh. Kỹ thuật này có lợi chủ yếu trong trường hợp kết xuất bóng tối (ngả bóng), kết xuất sự khúc xạ hay kết xuất sự khản quang một cách phức tạp và chính xác là những vấn đề nan giải.

Trong kết quả cuối cùng của một công trình kết xuất dõi quang tia có chất lượng (như công trình dàn dựng phim chẳng hạn), bội số các quang tia thường được chiếu vào mỗi một chấm ảnh và dõi theo, không chỉ tới vật thể đầu tiên khi bị cắt ngang, song cả tới những va đập tiếp theo nữa, bằng cách sử dụng những quy luật quang học đã biết như quy luật góc chiếu bằng góc phản xạ, và những quy luật giải quyết vấn đề khúc xạ và sự gồ ghề của bề mặt.

Một khi quang tia gặp một nguồn sáng, hoặc trong trường hợp khả dĩ hơn, khi một nhóm số lượng số lượng giới hạn những va đập của quang tia đã được đo lường và thống kê xong, thì độ hừng sáng của mặt phẳng tại điểm ở đầu cuối cũng tính được dùng những kỹ thuật đã miêu tả ở trên, và những đổi khác trên con đường trải qua những va đập được đo lường và thống kê để ước đạt giá trị mà người ta quan sát được từ điểm nhìn. Phép toán này được nhắc lại cho mỗi mẫu hình lấy được, so với mỗi chấm ảnh .Trong 1 số ít trường hợp, tại mỗi giao điểm, những tia sáng mới sẽ được sản sinh ra .Do đặc thù ” thô lực ” của chiêu thức này ( tính từng tia sáng một ), dò tia sáng không tương thích với mục tiêu kết xuất theo thời hạn thực ( real-time rendering ) và ngay cả đến gần đây, giải pháp này vẫn được coi là quá chậm rãi, ngay cả khi để dùng vào những phim ngắn có chất lượng, tuy nó cũng đã được sử dụng trong một số ít đoạn tạo hiệu ứng đặc biệt quan trọng và trong quảng cáo, trong đó một đoạn phim ngắn yên cầu chất lượng cao ( hoàn toàn có thể như ảnh chụp nữa ) là một nhu yếu .

Tuy vậy, song nhiều cố gắng trong việc tối ưu hóa để thuyên giảm số lượng tính toán đòi hỏi trong các phần công việc, nơi không nhiều chi tiết hay không phụ thuộc vào các đặc trưng của dõi quang tia, đã dẫn đến khả năng thực tiễn sử dụng rộng rãi của kỹ thuật dõi quang tia. Hiện nay cũng đã có một số thiết bị phần cứng tăng tốc dõi quang tia, hoặc ít nhất cũng đã xuất hiện ở giai đoạn nghiên cứu nguyên mẫu (bản mẫu trước khi cho sản xuất hàng loạt), và một số trò chơi điện tử giới thiệu quảng cáo cũng đã trình diễn việc sử dụng dõi quang tia thời gian thực trong phần mềm và phần cứng.

Tối ưu hóa[sửa|sửa mã nguồn]

Các chiêu thức tối ưu hóa họa sĩ sử dụng trong khi kiến thiết xây dựng một cảnh sắc[sửa|sửa mã nguồn]

Do số lượng giám sát lớn, một khu công trình đang còn trong quy trình tăng trưởng chỉ kết xuất chi tiết cụ thể phần đang được chăm sóc tại thời gian thao tác mà thôi, do đó, trong những quá trình đầu của quy trình quy mô hóa, hoàn toàn có thể người ta chỉ dùng quy mô khung lưới và kỹ thuật chiếu quang tia mà thôi, ngay cả khi hiệu quả xuất liệu phải là tác dụng của dõi quang tia tích hợp với tính va đập ánh sáng. Người ta cũng thường chỉ kết xuất cụ thể một số ít phần của cảnh sắc, và xóa bỏ những đối tượng người tiêu dùng không quan trọng so với phần việc làm hiện đang kiến thiết xây dựng .

Những giải pháp tối ưu hóa phổ cập dùng trong quy trình kết xuất thời hạn thực[sửa|sửa mã nguồn]

Đối với thời gian thực, đơn giản hóa một hoặc nhiều sự ước lượng tương đối chung là một điều cần thiết, và điều chỉnh cho đúng với các tham số của phong cảnh hiện đang quan tâm, tức là điều chỉnh cho đúng với những tham số đã thỏa thuận, là một việc làm gây hiệu quả nhiều nhất (get the most ‘bang for the buck’).

Ngoài ra còn có một số tiếp cận tới kết xuất đồ họa, chẳng hạn như các phương pháp dùng hàm điều hòa cầu (spherical harmonics). Những kỹ thuật này không được nhiều người biết đến vì tốc độ chậm của chúng, vì tính thiếu tính thực dụng hoặc chỉ đơn giản là chúng vẫn còn quá non nớt; có thể một số trong chúng sẽ cho chúng ta một giải pháp mới.

Lấy mẫu và thanh lọc[sửa|sửa mã nguồn]

Một vấn đề mà bất cứ một hệ thống kết xuất đồ họa nào cũng phải giải quyết, bất kể hệ thống ấy dùng tiếp cận nào, là vấn đề lấy mẫu (sampling problem). Nhìn chung, quá trình kết xuất là quá trình cố gắng miêu tả một hàm số liên tục (continuous function) đi từ một vị trí pixel đến một giá trị màu sắc. Theo Lý thuyết Nyquist, tần số lấy mẫu ít nhất phải gấp hai lần tỉ lệ điểm ảnh (the scanning frequency must be twice the dot rate), nghĩa là nó có tỷ lệ thuận với độ phân giải của hình ảnh. Nói một cách đơn giản hơn, điều này biểu lộ quan điểm rằng một hình ảnh không thể biểu hiện chi tiết nhỏ hơn một chấm ảnh.

Nếu chúng ta 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 của hình ảnh sẽ gây ảo giác ngoại hình (aliasing) rất xấu trong hình ảnh kết thúc. Ảo giác ngoại hình thường biểu lộ dưới hình thức các hiệu ứng lởm chởm, các cạnh lởm chởm trên vật thể (như răng cưa), nơi hệ thống đường kẻ ổ của các chấm ảnh có thể nhìn thấy được. Để xóa bỏ ảo giác ngoại hình, tất cả các thuật toán kết xuất (nếu muốn sản sinh những hình ảnh đẹp) đều cần phải thanh lọc hàm của hình ảnh để lọc bỏ các tần số cao. Quá trình này được gọi là quá trình chống ảo giác ngoại hình (antialiasing).

Việc kết xuất các phim điện ảnh thường diễn ra trên một mạng lưới các máy tính được kết nối chặt chẽ với nhau, còn gọi là trang trại kết xuất (render farm).

Đỉnh cao của kỹ thuật diễn đạt hình ảnh 3D hiện tại dành cho việc sản xuất phim điện ảnh là ngôn từ diễn đạt cảnh sắc RenderMan, được phong cách thiết kế tại Pixar. ( so sánh với những dạng thức tập tin 3D đơn thuần hơn như VRML hoặc API như OpenGL và DirectX được tạo để thích ứng với nhu yếu của những phần cứng tăng cường 3D ) .Phần mềm dùng để kết xuất phim điện ảnh gồm có :

Nền tảng hàn lâm[sửa|sửa mã nguồn]

Sự thực thi của một chương trình kết xuất như thật luôn luôn gồm có 1 số ít thành phần cơ bản của mô phỏng vật lý hoặc bắt trước trong thực tiễn — một số ít phép tính hoặc là mô phỏng hoặc là trừu tượng của một quy trình thật sự xảy ra trong thực tiễn .

Thuật ngữ dựa trên quan điểm của vật lý (physically-based) biểu hiện việc sử dụng các mô hình vật lý và các sự ước lượng hoặc là phổ biến hoặc là được chấp nhận rộng rãi bên ngoài phạm vi kết xuất. Một số kỹ thuật liên quan được nhóm lại và dần dần trở thành có uy tín trong cộng đồng kết xuất đồ họa.

Các khái niệm cơ bản tuy tương đối dễ hiểu, song khá khó tính toán; và người ta thường né tránh những thuật toán hoặc tiếp cận đơn chiếc đầy tính tao nhã (single elegant algorithm), và chú trọng vào các chương trình kết xuất với nhiều tính năng phổ cập (general purpose renderers) hơn.

Nghiên cứu kết xuất đồ họa quan tâm đến cả hai vấn đề, việc áp dụng các mô hình khoa học và ứng dụng có hiệu quả cao của chúng (efficient application).

Phương trình kết xuất đồ họa[sửa|sửa mã nguồn]

Phương trình kết xuất, hay còn gọi là phương trình luân chuyển ánh sáng ( light transport equation ) là chìa khóa khái niệm kim chỉ nan / hàn lâm trong nghành kết xuất đồ họa. Phương trình có công dụng như một biểu thức chính quy trừu tượng về mặt toán học của quy trình kết xuất đề hoạ. Tất cả những thuật toán kết xuất dựa trên nền tảng vật lý đều hoàn toàn có thể được xem như những giải đáp cho phương trình này, hoặc những dạng khác của nó .

L o ( x, w → ) = L e ( x, w → ) + ∫ Ω f r ( x, w → ′, w → ) L i ( x, w → ′ ) ( w → ′ ⋅ n → ) d w → ′ { \ displaystyle L_ { o } ( x, { \ vec { w } } ) = L_ { e } ( x, { \ vec { w } } ) + \ int _ { \ Omega } f_ { r } ( x, { \ vec { w } } ‘, { \ vec { w } } ) L_ { i } ( x, { \ vec { w } } ‘ ) ( { \ vec { w } } ‘ \ cdot { \ vec { n } } ) d { \ vec { w } } ‘ }{\displaystyle L_{o}(x,{\vec {w}})=L_{e}(x,{\vec {w}})+\int _{\Omega }f_{r}(x,{\vec {w}}',{\vec {w}})L_{i}(x,{\vec {w}}')({\vec {w}}'\cdot {\vec {n}})d{\vec {w}}'}

Giải thích một cách trực quan : Lượng ánh sáng phát ra tại một điểm nào đó theo một hướng nào đó ( Lo ) là tổng của lượng ánh sáng mà điểm đó tự phát ra theo hướng đó ( Le ) và lượng ánh sáng từ môi trường tự nhiên xung quanh bị điểm đó phản xạ lại .

Hàm phân bổ năng xuất phản xạ hai chiều[sửa|sửa mã nguồn]

The Hàm phân bố năng xuất phản xạ hai chiều (Bidirectional Reflectance Distribution Function – BRDF) biểu đạt một mô hình đơn giản về sự tương tác của ánh sáng với một bề mặt như sau:

f r ( x, w → ′, w → ) = d L r ( x, w → ) L i ( x, w → ′ ) ( w → ′ ⋅ n → ) d w → ′ { \ displaystyle f_ { r } ( x, { \ vec { w } } ‘, { \ vec { w } } ) = { \ frac { dL_ { r } ( x, { \ vec { w } } ) } { L_ { i } ( x, { \ vec { w } } ‘ ) ( { \ vec { w } } ‘ \ cdot { \ vec { n } } ) d { \ vec { w } } ‘ } } }{\displaystyle f_{r}(x,{\vec {w}}',{\vec {w}})={\frac {dL_{r}(x,{\vec {w}})}{L_{i}(x,{\vec {w}}')({\vec {w}}'\cdot {\vec {n}})d{\vec {w}}'}}}

Sự tương tác của ánh sáng thường được ước đạt bằng những quy mô đơn thuần hơn : sự phản xạ khuếch tán và sự phản chiếu, tuy nhiên cả hai đều hoàn toàn có thể là những BRDF .

Các đặc thù quang hình học[sửa|sửa mã nguồn]

Trên thực tế, kết xuất đồ họa chú trọng đến phương diện phần tử trong 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). Đối xử ánh sáng, ở hình thức cơ bản, như các phần tử nhảy nhót lung tung, tuy là một giản ước song tương đối thích hợp: phương diện sóng của ánh sáng có thể bỏ qua trong hầu hết các phong cảnh, và đồng thời, nó cũng rất khó mô phỏng nữa. Đặc biệt lưu ý hiện tượng sóng còn bao gồm sự nhiễu xạ (diffraction) — như vẫn thấy trong các màu trên bề mặt các đĩa CD và DVD — hoặc như sự phân cực (polarisation) như vẫn thấy trong các hiển thị tinh thể lỏng (Liquid crystal display – LCD). Cả hai loại hiệu ứng, nếu cần, đều có thể được tạo nên bằng cách điều chỉnh mô hình phản quang theo định hướng diện mạo (appearance-oriented adjustment of the reflection model).

Tuy ít được sự chú ý, song sự hiểu biết về thị giác của con người rất có giá trị đối với quá trình kết xuất. Nguyên do là việc hiển thị hình ảnh và sự nhận thức của con người có tầm giới hạn. Một bộ kết xuất đồ họa có thể mô phỏng hầu như không giới hạn các khoảng giá trị cường độ của ánh sáng và các khoảng giá trị của màu sắc, song các thiết bị dùng để hiển thị — màn ảnh chiếu phim, màn hình máy tính, vân vân — không thể giải quyết hết được, và một số tư liệu phải bị lọc bỏ hay được nén lại. Sự nhận thức của con người cũng chỉ có giới hạn, cho nên chúng ta cũng không cần phải cho họ những hình ảnh chứa đựng nhiều tầm giá trị để tạo cảm quan như thật. Việc này còn giúp giải quyết vấn đề sắp xếp hình ảnh cho hợp với cỡ của các bộ hiển thị, và, hơn nữa, nó gợi ý việc sử dụng các đường tắt (short-cuts) trong mô phỏng kết xuất, vì một số những chi tiết tinh vi thường bị bỏ qua và ít khi được để ý đến. Chủ đề liên quan đến vấn đề này là chủ đề 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), tính vi tích (calculus), giải tích số (numerical analysis), xử lý tín hiệu (signal processing), Monte Carlo.

Bảng niên đại những sáng tạo độc đáo đã được công bố theo tầm quan trọng của nó[sửa|sửa mã nguồn]

  • 1970 Thuật toán tính đường quét màn hình (Scan-line algorithm) (Bouknight, W. J. (1970). Một thủ tục tạo biểu thị đồ họa máy tính ba chiều nửa tông (half-tone) (hiệu ứng in ảnh trắng đen trên báo chí). (Communications of the ACM)
  • 1971 Phương pháp tô bóng của Gouraud (Gouraud shading) (Gouraud, H. (1971). Máy tính hiển thị các 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 chi nhánh thuật toán dành cho việc máy tính hiển thị các bề mặt cong. Luận văn tốt nghiệp Tiến sĩ triết học, Trường đại học Utah, Mỹ)
  • 1974 Z-buffer (Catmull, E. (1974). Một chi nhánh thuật toán dành cho việc máy tính hiển thị chiều sâu của ảnh và các vật thể xa gần)
  • 1975 Tô bóng của Phong (Phong shading) (Phong, B-T. (1975). Sự chiếu sáng các 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 của môi trường chung quanh (Environment mapping) (Blinn, J.F., Newell, M.E. (1976). Chất liệu và sự phản quang trong các hình ảnh do máy tính tạo ra. Communications of the ACM 19, 542–546.)
  • 1977 Thể tích bóng tối (Shadow volumes) (Crow, F.C. (1977). Các thuật toán tính bóng tối cho các đồ họa máy tính. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242–248.)
  • 1978 Dữ liệu về bóng tối trong bộ nhớ trung gian (Shadow buffer) (Williams, L. (1978). Ngả 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 các bề mặt nhăn nheo. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286–292.)
  • 1980 Cấu trúc phả hệ phân chia không gian (Binary Space Partitioning Tree) (Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). Liên quan việc thực hiện các cấu trúc dữ liệu phả hệ để bố trí các bề mặt, cái nào đứng trước, cái nào đứng sau, phần nào nhìn thấy được, phần nào bị che kín. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124–133.)
  • 1980 Dõi quang tia (Ray tracing) (Whitted, T. (1980). Nâng cấp của mô hình chiếu sáng đối với việc hiển thị tô bóng. Communications of the ACM 23 (6), 343–349.)
  • 1981 Phần mềm tô bóng của Cook (Cook shader) (Cook, R.L. Torrance, K.E. (1981). Một mô hình năng xuất phản xạ đối với các đồ họa máy tính. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307–316.)
  • 1983 Chồng nhóm 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 của kim tự tháp. 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). Sự phân chia khoảng không thành những 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 các 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 mối tương tác của á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 sự va đập của á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 sự va đập của ánh sáng trong các 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). Phép tính ngược của chiếu 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 cứ vật thể gì mình nhì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 sự va đập ánh sáng (Hierarchical radiosity) (Hanrahan, P. Salzman, D. Aupperle, L. (1991). Một thuật toán tính sự va đập ánh sáng dùng cấu trúc tầng cấp nhanh chóng. 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 các hình ảnh do máy tính tạo ra trông thật hơn. IEEE Computer Graphics & Applications 13 (6), 42–48.)
  • 1993 Sự phân tán của ánh sáng của bề mặt bên dưới (Subsurface scattering) (Hanrahan, P. Krueger, W. (1993). Sự phản quang từ các bề mặt được chồng lớp lên nhau do sự phân tán của ánh sáng 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 hai chiều đối với các vật thể phức tạp. Computers & Graphics 19 (2), 215–224.)

Sách đọc và những bản tóm tắt[sửa|sửa mã nguồn]

Liên kết ngoài[sửa|sửa mã nguồn]

You may also like

Để lại bình luận