1. Trang chủ
  2. » Công Nghệ Thông Tin

CHI TIET KỸ THUẬT RAY TRACING(POV RAY) VÍ DỤ MÔ PHỎNG

42 1,3K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 2,25 MB

Nội dung

b Kỹ thuật đồ họa vector Nguyên lý của kỹ thuật này là xây dựng mô hình hình học geometrical model cho hình ảnh đối tượng, xác định các thuộc tính của mô hình hình học,sau đó dựa trên mô

Trang 1

CHƯƠNG I 4

KHÁI QUÁT VỀ ĐỒ HỌA MÁY TÍNH BA CHIỀU VÀ KỸ THUẬT KẾT XUẤT ĐỒ HỌA 4

1.1: Khái quát về đồ họa máy tính ba chiều 4

1.1.1:Đồ họa máy tính 4

1.1.2 Các kỹ thuật đồ họa 4

a) Kỹ thuật đồ họa điểm 4

b) Kỹ thuật đồ họa vector 5

1.1.3 Đồ họa máy tính ba chiều (3D - Dimensions) 5

a) Định nghĩa về 3D 5

b) Đồ họa máy tính 3D 6

1.2:Các kỹ thuật kết xuất đồ họa ba chiều 9

1.2.1 Kết xuất đồ họa ba chiều 9

1.2.2:Các kỹ thuật kết xuất đồ họa ba chiều 10

a,Các hiệu ứng đồ họa 10

b,Các phương pháp kết xuất đồ họa 11

b.1) Tạo điểm ảnh (rasterization) 12

b.2) Chiếu tia (ray-casting) 12

b.3) Dò tia (ray-tracing) 13

b.4) Tính sự va đập của ánh sáng (radiosity) 14

1.2.3 Kỹ thuật kết xuất Ray tracing 15

a) Lịch sử 15

b)Ray tracing trong thực tế 15

CHƯƠNG 2 KỸ THUẬT RAY TRACING 16

2.1 Tính toán đường đi của ánh sáng 16

Trang 2

2.1.1 Tia sáng và Tam giác 16

2.1.2 Tia sáng và Tứ giác 18

a)Tứ giác không phẳng 19

b)Tứ giác phẳng 20

2.1.3 Tia sáng và các mặt bậc hai 20

a) Mặt đĩa 20

b)Mặt cầu 21

c)Các dạng mặt bậc hai khác 21

2.1.4 Tia sáng và Mặt ẩn 22

2.1.5 Tia sáng và Khối hộp 22

2.1.6 Tia sáng và Mặt NURBS 23

2.1.7 Tia sáng và Mặt con 23

2.2 Xử lý đổ bóng với Ray tracing 24

2.3 Một số vấn đề khác về Ray tracing 25

a,Hiện tượng phản xạ 26

b,Hiện tượng khúc xạ 27

2.4 Ray tracing Monte Carlo 29

2.4.1 Ray tracing phân tán 29

2.4.2 Ray tracing theo đường 29

2.4.3 Đổ bóng với nguồn sáng hẹp 30

2.4.4 Đổ bóng với nguồn sáng rộng 31

2.4.5 Phản xạ bề mặt bóng 31

2.4.6 Phản xạ khuếch tán 32

2.4.7 Độ sâu trường ảnh 33

2.4.8 Làm mờ chuyển động 34

CHƯƠNG 3 35

CHƯƠNG TRÌNH POV-RAY 35

3.1 Giới thiệu 35

3.2 Nguyên lý hoạt động 36

Trang 3

3.3 Đặc điểm chương trình POP-Ray 36

3.4 Ví dụ mô phỏng 39

3.4.1 Khai báo các thư viện 39

3.4.2 Thêm một camera 39

3.4.2.1 Mô tả một đối tượng 40

3.4.2.2 Thêm Texture ( kết cấu) cho đối tượng 40

3.4.3 Xác định một nguồn ánh sáng 40

Trang 4

CHƯƠNG I

KHÁI QUÁT VỀ ĐỒ HỌA MÁY TÍNH BA CHIỀU

VÀ KỸ THUẬT KẾT XUẤT ĐỒ HỌA

1.1: Khái quát về đồ họa máy tính ba chiều

1.1.1:Đồ họa máy tính

Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về

cơ sở toán học, các thuật toán cũng như các kĩ thuật để cho phép tạo, hiển thị

và điều khiển hình ảnh trên màn hình máy tính Đồ họa máy tính có liên quan

ít nhiều đến một số lĩnh vực như đại số, hình học giải tích, hình học họa hình, quang học, và kĩ thuật máy tính, đặc biệt là chế tạo phần cứng (các loại mànhình, các thiết bị xuất, nhập, các vỉ mạch đồ họa )

Theo nghĩa rộng hơn, đồ họa máy tính là phương pháp và công nghệ dùngtrong việc chuyển đổi qua lại giữa dữ liệu và hình ảnh trên màn hình bằngmáy tính Đồ họa máy tính hay kĩ thuật đồ họa máy tính còn được hiểu dướidạng phương pháp và kĩ thuật tạo hình ảnh từ các mô hình toán học mô tả cácđối tượng hay dữ liệu lấy được từ các đối tượng trong thực tế

1.1.2 Các kỹ thuật đồ họa

a) Kỹ thuật đồ họa điểm

Nguyên lý của kỹ thuật này như sau: các hình ảnh được hiển thị thông quatừng pixel (từng mẫu rời rạc) Với kỹ thuật này, chúng ta có thể tạo ra, xóa

hoặc thay đổi thuộc tính của từng pixel của các đối tượng Các hình ảnh được hiển thị như một lưới điểm rời rạc (grid), từng điểm đều có vị trí xác định

được hiển thị với một giá trị nguyên biểu thị màu sắc hoặc dộ sáng của điểm

đó Tập hợp tất cả các pixel của grid tạo nên hình ảnh của đối tượng mà ta

muốn biểu diễn

Trang 5

b) Kỹ thuật đồ họa vector

Nguyên lý của kỹ thuật này là xây dựng mô hình hình học (geometrical model) cho hình ảnh đối tượng, xác định các thuộc tính của mô hình hình học,sau đó dựa trên mô hình này để thực hiện quá trình kết xuất (rendering) để

hiển thị từng điểm của mô hình, hình ảnh của đối tượng

Ở kỹ thuật này chỉ lưu trữ mô hình toán học của các thành phần trong mô hình hình học cùng với các thuộc tính tương ứng mà không cần lưu lại toàn

bộ tất cả các pixel của hình ảnh đối tượng

1.1.3 Đồ họa máy tính ba chiều (3D - Dimensions)

a) Định nghĩa về 3D

Vô chiều: Một điểm là một ví dụ của một đối tượng không Nó tạo ra một

điểm trong không gian nhưng rõ ràng là điểm đó không có độ dài, chiều caohay độ sâu

Một chiều: Một đối tượng một chiều là một đường thẳng đơn, nó chứa độ dài

nhưng không chứa chiều cao hoặc độ sâu

Hai chiều: Một đối tượng 2 chiều chứa bất kỳ hai trong số 3 chiều sau:

* Chiều rộng

* Chiều cao

* Độ sâu

Ba chiều: Đối tượng 3 chiều (three-dimension hay 3-Dimentions hoặc 3D) sử

dụng tất cả 3 chiều (dài, cao và sâu) hoặc các trục tương ứng trong không gian

X, Y và Z Các ứng dụng 3D thực thi theo một chuẩn dựa trên các trục gọi là

hệ tọa độ Đề-Các trong không gian, khái niệm được đề cập tới đầu tiên vào

những năm giữa thế kỷ 17 Hệ trục tọa độ này gồm có các trục X, Y và Z

tương ứng với các chiều của không gian, tuân theo quy ước:

X: Chiều rộng

Y: Chiều cao

Z: Độ sâu

Trang 6

Theo đồ thị trên, các điểm X nằm ở trái và phải, các điểm thuộc trục Y

nằm hướng trên hoặc dưới, và các điểm thuộc trục Z dùng để biểu thị độ sâu theo hướng chéo Các ứng dụng 3D sử dụng các trục này để chuyển đổi, quay

và phân chia các đối tượng trong không gian theo các trục xác định Chẳng

hạn, có thể biến dạng hoặc di chuyển một đối tượng dọc theo trục X bằng

cách di chuyển nó theo hướng trái hoặc phải, cũng có thể di chuyển đối tượng trên trục Y bằng cách kéo nó lên hoặc xuống Nếu di chuyển đối tượng của

mình trên trục Z, thì đối tượng sẽ xuất hiện ở gần hơn hoặc xa hơn

Trong đồ họa máy tính, các dữ liệu 3D được tạo ra bằng cách sử dụng các công cụ 2D Màn hình máy tính là một đối tượng hiển thị 2D và chuột cũng chỉ có thể di chuyển trên một mặt phẳng 2D, nó có thể phản hồi các tương tác dựa trên các chuyển động theo hướng trái-phải, trước-sau, nhưng không thể phản hồi được theo hướng trên hoặc dưới bàn đặt chuột Ngoài ra, những gì xuất ra từ máy tính cũng sẽ luôn là 2D Do vậy, để máy tính có thể biểu diễn các hình ảnh 3D từ các dữ liệu 2D nhập vào như vậy cần phải có các phần

mềm 3D

b) Đồ họa máy tính 3D

Đồ họa máy tính 3D khác với đồ họa máy tính 2D vì nó có chiều thứ 3 và các dữ liệu hình học được máy tính lưu trữ với mục đính để tính toán và tạo

Trang 7

lại các hình ảnh 2D của đối tượng mô phỏng 3D Đôi khi các hình ảnh này sẽ hiển thị sau theo dạng được tạo ảnh trước, và đôi khi chúng được tạo trong

quá trình trực tiếp (real-time) Các mô hình 3D được tạo bởi các dữ liệu hình học được máy tính lưu trữ gần giống với các hình ảnh vật thể đó ở bên ngoài thực tế hay các ảnh chụp và đồ họa 3D là vẽ lại theo các công thức toán học

để tạo ra các hình ảnh 2D về vật thể 3D đó Trong các phần mềm đồ họa máy tính sự phân biệt này đôi khi không rõ rệt; một số ứng dụng 2D sử dụng công nghệ 3D để tạo các hiệu ứng như ánh sáng, trong khi một số phần mềm 3D lại

sử dụng công nghệ 2D để tạo 3D ảo

Tiến trình tạo dựng đồ họa 3D có thể chia làm 3 bước tuần tự:

- Tạo mô hình (mô hình 3D, tạo vật liệu, tạo chuyển động)

- Cài đặt bố cục khung cảnh

- Kết xuất (Rendering)

Bước1: Tạo mô hình

Mô hình gốc của vật thể có thể mô tả hình dạng cá nhân các đối tượng để sau đó sử dụng trong khung cảnh Hiện nay tồn tại nhiều công nghệ tạo mô

- Mô hình bề mặt nhỏ (subdivision surfaces)

Việc xử lý mô hình có thể bao gồm việc biên tập các bề mặt đối tượng hoặc các thuộc tính vật liệu (ví dụ màu sắc, độ tương phải, độ phản chiếu, Nhiều thuộc tính chung như làm tròn, phản quang đối tượng, trong suốt, mờ đục, ),thêm kết cấu, bump-maps và nhiều đặc điểm khác

Bước 2: Cài đặt bố cục khung cảnh (Scene)

Cài đặt bố cục khung cảnh nghĩa là sắp xếp các đối tượng ảo, ánh sáng, máy quay camera và toàn bộ các đối tượng khác trên khung cảnh mà người

dùng mong muốn Ánh sáng là một đối tượng quan trọng trong khung cảnh Giống như trong thế giới thực thì để có một kết quả tốt thì chúng ta phải bố trí

và sắp xếp ánh sáng sao cho hợp lý với toàn bộ khung cảnh Các hiệu ứng ánhsáng có thể làm cho các hiệu ứng trên đối tượng trở nên đẹp hơn, do vậy đòi

Trang 8

hỏi các kỹ thuật viên phải có nhiều kiến thức về bố trí ánh sáng trước khi thựchiện.

Bước 3: Kết xuất (Rendering)

Trong đồ họa máy tính 3D, Rendering - kết xuất đồ họa - là một quá trình

sinh tạo một hình ảnh từ một mô hình bằng cách sử dụng một chương trình

ứng dụng phần mềm

Rendering cho các sản phẩm tương tác trong trò chơi hay trong mô

phỏng là việc tính toán để hiển thị trong thời gian thực tại thời điểm đó hình

sẽ ra sao Tốc độ khung hình hiển thị có thể từ 20 đến 120 khung hình/giây Các đoạn phim không có tương tác thường được render ở tốc độ chậm vì

chúng không cần render ở thời gian thực nên cho phép nâng cao giới hạn hìnhảnh và tạo ra các khung cảnh thực sự phức tạp với chất lượng cao Thời gian Render được tính riêng cho mỗi khung hình riêng rẽ có thể mất vài giây hoặc đến vài ngày với các cảnh phức tạp Các khung hình này được hiển thị lần

lượt với tốc độ cao, thường là khoảng 24, 25, hoặc 30 khung hình trên giây,

để mô tả lại các chuyển động đã tạo trước đó

Một số phương thức render thường được sử dụng là: scanline rendering

(phương thức quét dòng), ray tracing (phương pháp dò tia), hoặc radiosity

(phương pháp lộ sáng) Trong thực tế mỗi phương thức đều có các bộ render khác nhau để tạo hình ảnh thực hơn và các bộ đó có thể tạo ra các hình ảnh ở thời gian thực

Khác với render thời gian thực, khi cần cho ra kết quả là một khung ảnh với độ chân thực cao, các công nghệ được sử dụng thường là ray tracing hoặc radiosity Để hoàn thành một khung hình, máy render (render engine) có thể mất từ vài giây tới vài ngày tùy độ phức tạp của khung hình

Trong việc render thời gian thực (real-time), kết quả của quá trình render được sử dụng để hiển thị hình ảnh trong khoảng 1/30 giây (hay còn gọi là 1

khung hình, trong trường hợp này đang nói đến tốc độ 30 khung hình/giây) Điều đó cho phép chúng ta cảm nhận tốt về chuyển động của tác phẩm Trongcác games thường thiết kế các đối tượng động và phải render trong khoảng

thời gian tương tác Để tăng tốc độ render trong thời gian thực thì các công

nghệ tối ưu hóa và giảm thiểu hóa thường được đưa vào việc dựng mô hình

Trang 9

như công nghệ HDR rendering Công nghệ render thời gian thực thường sử

dụng máy tính đồ họa tốc độ cao

Các công nghệ được phát triển phụ thuộc vào sự mô phỏng của các hiệu ứng trong tự nhiên, như sự tương tác của ánh sáng với hàng loạt dạng vật chấtkhác nhau Ví dụ như công nghệ tạo hệ thống hạt (particle systems – có thể

mô phỏng mưa, khói hoặc lửa), công nghệ lấy mẫu thể tích (volumetric

sampling - để mô phỏng sương mù, bụi và các hiệu ứng không gian khác), tụ quang (caustics - để mô tả tiêu điểm ánh sáng chiếu vào vật thể và tạo lên các hiệu ứng sáng trên bề mặt bóng), và công nghệ phân tán bề mặt (subsurface scattering - được dùng để mô phỏng các hiệu ứng phản chiếu bên trong thể

tích của các đối tượng khối như da của con người)

Các hình ảnh xuất ra từ việc render chỉ có thể sử dụng trong một phần

nhỏ của một khung cảnh chuyển động lớn Nhiều lớp đối tượng, vật liệu có

thể được render riêng rẽ và tích hợp lại ở giai đoạn cuối bằng việc sử dụng

các phần mềm kết hợp đặc biệt

1.2:Các kỹ thuật kết xuất đồ họa ba chiều

1.2.1 Kết xuất đồ họa ba chiều

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 sinh tạo một hình ảnh từ một mô hình bằng cách sử dụng một chương trình phần mềm ứng dụng 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) Kết xuất đồ họa được sử dụng trong: trò chơi video và điệntử (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 lĩnh vực trên á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ảnphẩ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

Trang 10

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

1.2.2:Các kỹ thuật kết xuất đồ họa ba chiều

a,Các hiệu ứng đồ họa

Có thể hiểu một hình ảnh đã được kết xuất thông qua một số đặc điểm, hiệu ứng có thể nhìn thấy được của hình ảnh Việc nghiên cứu và phát triển

các kỹ thuật kết xuất đồ họa chủ yếu nhằm vào việc tìm kiếm các phương

pháp để mô phỏng các đặc điểm, hiệu ứng này một cách hiệu quả Một số

hiệu ứng hình ảnh phổ biến được nghiên cứu sử dụng gồm:

• hiệu ứng tô bóng (shading) - phương pháp bố trí ánh sáng nhất định,

màu sắc và cường độ ánh sáng trên bề mặt của vật thể

• hiệu ứng tạo chất liệu (texture-mapping ) - phương pháp cho thêm

chi tiết vào các bề mặt của vật thể

• hiệu ứng tạo bề mặt sần (bump-mapping) - phương pháp tái tạo hiệu

ứng nhấp nhô, lổn nhổn của các bề mặt trên phạm vi thu nhỏ

• hiệu ứng xa mờ/ảnh hưởng trên các vật chất (fogging/participating

medium ) - phương pháp mô tả ánh sáng bị tối đi như thế nào khi chúng

xuyên qua môi trường không khí

• hiệu ứng bóng tối (shadows ) - phương pháp mô tả sự ảnh hưởng củaánh sáng khi chúng bị che lấp bởi vật thể (ngả bóng)

• hiệu ứng bóng tối mềm (soft shadows) - phương pháp mô tả sự biến

thiên của bóng tối gây ra do nguồn ánh sáng chỉ bị che khuất một phần

• hiệu ứng phản quang (reflection) - phương pháp mô tả hiệu ứng phảnquang như gương hoặc bởi những bề mặt bóng loáng

• hiệu ứng trong suốt (transparency) - phương pháp mô tả hiệu ứng

truyền ánh sáng xuyên qua các vật thể đặc

• hiệu ứng trong mờ (translucency) - phương pháp mô tả sự phân tán

cao độ của ánh sáng khi được truyền xuyên qua các vật thể đặc

• hiệu ứng khúc xạ (refraction) - phương pháp mô tả sự đổi hướng củaánh sáng khi truyền qua những vật thể trong suốt

Trang 11

• hiệu ứng chiếu sáng gián tiếp (indirect illumination) - phương pháp

mô tả các bề mặt hừng sáng khi ánh sáng phản quang từ các bề mặt khác màkhông phải do nguồn sáng trực tiếp chiếu vào

• hiệu ứng tụ quang (caustics một hình thức của tính phản quang)

-phương pháp mô tả sự phản quang của ánh sáng từ một vật thể bóng loáng,

hay sự hội tụ của ánh sáng khi xuyên qua một vật trong suốt, tạo nên các điểmchói sáng trên các vật thể khác

• hiệu ứng chiều sâu tầm nhìn (depth of field) - phương pháp mô tả cácvật thể mờ đi hoặc không rõ khi chúng nằm quá xa, hoặc nằm sau một vật

đang ở trong tầm mắt

• hiệu ứng nhòe hình của vật chuyển động (motion blur) – phương pháp

mô tả vật thể bị nhòe đi trong khi đang chuyển động với tốc độ cao,

hoặc do chuyển động của máy quay phim

• hiệu ứng tạo hình thái như thật của ảnh chụp (photorealistic

morphing) - phương pháp mô tả tạo hiệu ứng như ảnh chụp của kết xuất 3D

làm cho hình ảnh giống như thật

• hiệu ứng kết xuất không giống ảnh chụp (non-photorealistic rendering)

- phương pháp kết xuất các phong cảnh theo phong cách họa sĩ,

với dụng ý làm cho nó giống các bức tranh (sơn dầu) hay những hình vẽ

b,Các phương pháp kết xuất đồ họa

Để giải quyết được bài toán hiển thị các hiệu ứng đồ họa trên, nhiều

thuật toán kết xuất đồ họa đã được nghiên cứu, trong đó nổi bật lên là ý tưởng

về việc làm thế nào để tính toán và mô phỏng từng tia sáng một trong một

phong cảnh ba chiều Việc làm này đòi hỏi một số lượng khổng lồ các thao

tác tính toán và tương đương với đó là một lượng thời gian không ít cho việckết xuất

Các phương pháp kết xuất đồ họa đã được nghiên cứu gồm:

• Tạo điểm ảnh (rasterization)

• Chiếu tia (ray-casting)

• Dò tia (ray-tracing)

• Tính sự va đập của ánh sáng (radiosity)

Trang 12

b.1) Tạo điểm ảnh (rasterization).

Một ảnh thường được tạo thành từ một hay nhiều yếu tố cơ bản Những yếu tố này được gọi là “nguyên thủy” Ví dụ trong một bản vẽ sơ đồ mạch,cácđoạn đường thẳng và đường cong có thể là nguyên thủy Trong một giao diện người dùng đồ họa, cửa sổ và các nút có thể là nguyên thủy Trong kết xuất

đồ họa 3D, tam giác và đa giác trong không gian có thể là nguyên thủy

Trong kết xuất đồ họa, nếu tiếp cận với đơn vị tính là điểm ảnh thường

rất chậm và không thực tế đối với một số khâu xử lý Vì thế cách tiếp cận vớiđơn vị tính là từng “nguyên thủy” trong kết xuất đồ họa mang lại hiệu quả

nhiều hơn, theo đó, khi cần kết xuất sẽ xét một lượt qua từng nguyên thủy,

xác định từng điểm ảnh trong vùng thuộc “nguyên thủy” đó rồi sửa đổi nhữngđiểm ảnh đó cho phù hợp Quá trình này được gọi là Tạo điểm ảnh

(rasterization) và là phương pháp kết xuất đồ họa được sử dụng bởi tất cả cáccard đồ họa hiện nay 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, một

ảnh có thể có nhiều vùng chỉ là các nguyên thủy rỗng, phương pháp Tạo điểmảnh khi xử lý sẽ bỏ qua các vùng này, trong khi đó các phương pháp kết xuất từng điểm ảnh vẫn phải duyệt qua các điểm ảnh thuộc các nguyên thủy rỗng Thứ hai,phương pháp Tạo điểm ảnh còn có thể cải thiện vùng nhớ đệm

(cache) Vì vậy, người ta thường sử dụng phương pháp Tạo điểm ảnh khi phảithực hiện việc kết xuất tương tác; tuy nhiên, phương pháp kết xuất từng điểm ảnh lại có thể tạo ảnh có chất lượng tốt hơn vì nó không phụ thuộc vào các giảđịnh về một ảnh như phương pháp Tạo điểm ảnh

b.2) Chiếu tia (ray-casting).

Phương pháp Chiếu tia (Ray casting) được sự dụng chủ yếu trong các

mô phỏng thời gian thự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) Ở các dạng mô phỏng này không quá

chú trọng vào các chi tiết ảnh được hiển thị mà chủ yếu làm sao để thực hiệnmục tiêu đạt được hiệu suất cao trong quá trình tính toán phục vụ quá trình

kết xuất hình ảnh, yêu cầu này thường thấy trong các trường hợp phải mô tả

các chuyển động với một số lượng khung hình lớn Khi sử dụng phương phápnày, các hình ảnh kết quả được hiển thị mang đặc tính “phẳng” và không sử

dụng các thủ thuật bổ trợ

Trang 13

Trong phương pháp này các lý thuyết về hình học không gian phân tích

theo từng điểm ảnh, từng đường thẳng mô phỏng các tia sáng chiếu ra từ điểmnhìn Tại giao điểm tia sáng cắt mặt phẳng của đối tượng, giá trị màu tại điểmnày có thể được xác định bằng nhiều phương pháp khác nhau Đối với một số

mô phỏng thô khi áp dụng phương pháp kết xuất này có thể áp dụng thêm một

Trong kỹ thuật này, mẫu cần lấy là các tia ánh sáng giả lập từ điểm nhìn cắt vào bề mặt các vật thể được mô tả trong cảnh Kỹ thuật này phát huy ưu điểm trong các trường hợp cần kết xuất bóng tối (đổ bóng), kết xuất sự khúc

xạ hay kết xuất sự phản quang một cách phức tạp

Ở kết quả của một quá trình kết xuất đồ họa theo phương pháp Dò tia,

tại mỗi điểm ảnh có thể có rất nhiều tia cùng chiếu tới cùng lúc Khi đó quá

trình tính toán để mô phỏng các tia sáng tiếp xúc với vật thể không chỉ dừnglại khi các tia sáng tiếp xúc bề mặt đầu tiên của vật thể mà còn tiếp tục quá

trình tính toán để mô phỏng chuỗi các va đập của từng tia sáng sau khi tiếp

xúc với vật thể tuân theo các quy luật trong quang học như phản xạ, khúc xạ Khi các tia quay trở lại gặp nguồn sáng hoặc trong trường hợp quá trìnhkết xuất đã thực hiện xong một lượng giới hạn các tính toán mô phỏng sự vađập của các tia, độ sáng của bề mặt tại thời điểm kết quả được tính toán trên

cơ sở các kỹ thuật nêu trên và các thay đổi về đường đi của các tia sau khi vađập với các bề mặt của vật thể được tính toán tỉ mỉ để cho ra giá trị của điểm ảnh mà người quan sát thấy được từ điểm nhìn Công việc này lặp lại cho mỗimẫu hình, từng điểm ảnh

Do việc phải thực hiện một khối lượng phép tính khổng lồ của phương

pháp này (tính toán để mô phỏng đường đi và hiệu quả của từng tia sáng một),phương pháp Dò tia không phù hợp với mục đích kết xuất theo thời gian thực

Trang 14

(real-time rendering) Với các công cụ đồ họa hiện nay, việc thực hiện

phương pháp này vẫn rất chậm

Tuy vậy, ngày nay với nhiều nghiên cứu trong việc tối ưu hóa quá trìnhtính toán để giảm bớt số lượng các phép tính cần thực hiện trong quá trình kếtxuất, nhất là trong công đoạn không yêu cầu độ chi tiết cao hoặc không yêu

cầu nhiều về việc dò tia đã làm cho kỹ thuật kết xuất này ngày càng được ứngdụng phổ biến hơn Hiện nay trên thế giới cũng đã bắt đầu xuất hiện một số

phần cứng được thiết kế hỗ trợ tăng tốc độ thực hiện kết xuất theo phương

pháp này và một số thử nghiệm trò chơi điện tử trình diễn việc sử dụng phương pháp kết xuất Dò tia thời gian thực bằng phần mềm và phần cứng

b.4) Tính sự va đập của ánh sáng (radiosity)

Thuật toán tính sự va đập của ánh sáng (Radiosity) là phương pháp mô

phỏng các bề mặt được chiếu sáng từ các nguồn sáng trực tiếp đóng vai trò

làm nguồn sáng gián tiếp để chiếu sáng các bề mặt khác dựa trên nguyên lý

phản xạ ánh sáng Phương pháp này có ưu điểm tạo nên các miền đổ bóng

thật hơn Cơ sở quang học của việc mô phỏng này dựa trên nguyên lý ánh

sáng khuếch tán từ một điểm cho trước trên một bề mặt được phản xạ lại với

vô số các góc độ và chiếu sáng các vùng xung quanh

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 sự va đập của ánh sáng và chỉ đơn giảnchiếu sáng toàn bộ không gian của bức ảnh lên một chút với một hệ số được gọi là môi trường (ambiance) Tuy vậy, khi thuật toán ước tính sự va đập ánhsáng mở rộng được đi đôi với thuật toán Dò tia chất lượng cao (high quality

ray tracing algorithm), có thể biểu diễn các hình ảnh với độ trung thực rất cao,đặc biệt đối với những cảnh trong nhà

Trong kỹ thuật mô phỏng sự va đập của ánh sáng mở rộng, việc bố trí

màu sắc của một bề mặt ả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ị kết quả về sự chiếu sáng khi áp dụng mô

hình kỹ thuật này được lưu trữ và được sử dụng làm dữ liệu đầu vào bổ sungcho việc thực hiện các phép tính khi triển khai mô hình Chiếu tia (ray-casting)hay Dò tia (ray-tracing)

Hiện nay phương pháp tính sự va đập ánh sáng trở thành phương pháp

hàng đầu dùng để kết xuất đồ họa 3D trong thời gian thực, và đã được sử

Trang 15

dụng trong toàn bộ quá trình xây dựng một số phim hoạt hình 3D nổi tiếng

gần đây

1.2.3 Kỹ thuật kết xuất Ray tracing

a) Lịch sử

Ray tracing là kỹ thuật được biết đến và nghiên cứu rất lâu trước khi

máy tính điện tử được phát minh Hình vẽ sau mô tả việc dò tìm các tia sángđược thực hiện từ năm 1525 Albrecht Dürer (1471-1528), một họa sỹ đồng

thời là nhà điêu khắc người Đức sử dụng một thiết bị để vẽ lại một hình ảnh

đúng theo phép chiếu phối cảnh Từng điểm trên vật thể thật lần lượt được

chiếu một cách thủ công lên một mặt phẳng Ngày nay chúng ta gọi quá trìnhnày là "phép chiếu các điểm 3D lên một mặt phẳng 2D"

Ray tracing cũng được sử dụng trong thiết kế ống kính cho kính hiển

vi, kính thiên văn, máy ảnh

b)Ray tracing trong thực tế

Kết xuất đồ họa bao gồm quá trình tính toán màu sắc cho từng điểm

ảnh trong một bức ảnh Việc kết xuất được thực hiện bằng cách chiếu một

cảnh 2D lên thành một ảnh 3D Ray tracing là một trong những phương pháp kết xuất đồ họa phổ biến nhất hiện nay Thuật toán Ray tracing cơ bản bao gồm hai phần tính toán chính đối với mỗi điểm ảnh: tìm điểm ảnh của bề mặt gần nhất và tính toán màu sắc tại điểm ảnh đó

Phương pháp này xác định sự hiển thị các bề mặt vật thể bằng cách dõi

theo các tia sáng tưởng tượng từ mắt người xem tới các đối tượng trong khungcảnh Với mô tả như vậy, phương pháp ray tracing dễ bị nhầm lẫn với phươngpháp ray casting, tuy nhiên trong thực tế phương pháp ray tracing phức tạp

hơn rất nhiều Appel là người đầu tiên sử dụng máy tính để kết xuất các hìnhảnh theo phương pháp này

Thuật toán ray tracing đơn giản nhất được mô tả như sau:

for each pixel do

compute ray for that pixel

for each object in scene do

if ray intersects object and intersection is nearest so far then

Trang 16

record intersection distance and object color

set pixel color to nearest object color (if any)

Trong kỹ thuật ray tracing, để nâng cao chất lượng của một hình ảnh thì

chỉ cần tăng số lượng tia sáng bắn ra đối với mỗi điểm ảnh Việc làm này sẽ

giảm thiểu các hiệu ứng răng cưa, bậc thang khi hiển thị vật thể

CHƯƠNG 2

KỸ THUẬT RAY TRACING

2.1 Tính toán đường đi của ánh sáng

Các thuật toán về ray tracing đều hướng tới mục tiêu giải quyết được việc tính toán sự giao nhau của tia sáng và vật thể Trong phần này sẽ nêu tổng quan

về các phương pháp tính sự giao nhau của tia sáng và vật thể

Định nghĩa :Tia sáng là một tia gốc 0 r

2.1.1 Tia sáng và Tam giác

Một tam giác abc được xác định bởi ba đỉnh của nó gồm Pháp tuyến của tam giác có thể được tính bằng tích có hướng của hai cạnh thuộc tam giác, ví dụ:

Trang 17

n b a c a r r r r r = − ( ).( − )

Giao điểm p giữa tia sáng và tam giác vừa thuộc tia (ta có ur rp= + 0 tdur )(1) vừa thuộc mặt phẳng của tam giác (ta có (ur r rp a n− ) = 0 )(2).Thay phương trình (1) vào (2) ta được

Nếu tích vô hướng d n ur r .

bằng 0 nghĩa là tia sáng song song với mặt phẳng tam giác và không tồn tại giao điểm Nếu giá trị của t là một số âm thì tồn tại giao điểm nhưng nằm sau gốc o, trường hợp này bị loại bỏ Tương tự, nếu giao điểm được tìm thấy nằm xa hơn một giao điểm khác tính từ gốc tia

đã được tìm thấy trước đó, ta cũng loại trường hợp này

Cho trước khoảng cách t, ta có thể tính được giao điểm của tia sáng và

mặt phẳng tam giác: ur r urp= + 0 td.Sau đó ta kiểm tra xem giao điểm này nằm

trong hay ngoài tam giác bằng cách tính các tọa độ trọng tâm (u, v) tại điểmtiếp xúc Tọa độ trọng tâm được định nghĩa như sau:

a u b a v c a r + ( r r − + ) ( r r − = ) ur p

Trang 18

Hình : Tam giác abc và cặp tọa độ trọng tâm (u, v)

Do các vectơ trong phương trình trên có ba thành phần (x, y, và z) nên

ta có ba phương trình để xác định hai biến u và v, và tùy ý lựa chọn hai trong

ba phương trình để giải Cuối cùng, khi các tọa độ trọng tâm đã được tính

toán, chúng ta có thể xác định được giao điểm có nằm trong tam giác hay

không Nếu u≥ 0 và v≥ 0 và u v+ ≤ 1 thì giao điểm nằm trong (hoặc thuộc

cạnh) của tam giác, và như vậy ta đã tìm được giao điểm của tia sáng và mặt phẳng tam giác!

2.1.2 Tia sáng và Tứ giác

Một tứ giác abcd được xác định bởi bốn đỉnh a b c dr r r ur, , ,

Ta có thể biểu diễn tất

Trang 19

Trong thực tế các tứ giác thường không phẳng Việc tính toán các giao

điểm trong tứ giác phẳng thường hiệu quả hơn trong trường hợp không phẳng.Đầu tiên ta xét trường hợp tứ giác không phẳng

a) Tứ giác không phẳng

Một tia sáng có thể cắt một tứ giác không phẳng tại 0, 1, hoặc 2 điểm Thay phương trình tia sáng ur rp= + 0 tdur vào phương trình tứ giác nêu trên ta sẽ được 3 phương trình (mỗi phương trình ứng với một tọa độ ) với 3 biến và Các phương trình trên là phương trình không tuyến tính, cách giải quyết trước tiên là giải một phương trình bậc hai với biến Nếu nằm trong khoảng [0,1] thì tìm biến tương ứng Nếu cũng thuộc khoảng [0,1] thì tìm tiếp đến biến Nếu biến tìm được là một số âm hoặc số dương có giá trị lớn hơn khoảng cách giao điểm tìm thấy trước đó thì kết luận không tồn tại giao điểm

Một phương pháp hiệu quả hơn có thể được sử dụng nếu các tứ giác có

diện tích nhỏ Trường hợp này các tứ giác thường được chia xấp xỉ thành haitam giác, như vậy tọa độ giao điểm tìm thấy có thể có sai số nhưng do các tứgiác là rất nhỏ nên sai số là không đáng kể

Trang 20

của tia sáng và mặt phẳng chứa đĩa, sau đó kiểm tra khoảng cách tr

có là số dương và nhỏ hơn khoảng cách các giao điểm được tìm thấy trước đó không Giao điểm thuộc mặt đĩa nếu(ur rp c− ) 2 ≤r2Mặt đĩa được ứng dụng khá nhiều trong việc kết xuất đồ họa, nhất là việc mô phỏng các hệ thống nguyên tử

Trang 21

b)Mặt cầu

Một mặt cầu được xác định bởi tâm cr

và bán kính r Để tìm giao điểmgiữa tia sáng và mặt cầu ta thay phương trình của tia ur r urp= + 0 td vào phương

trình biểu diễn mặt cầu (ur rpc) 2 ≤r2

2 2

Pháp tuyến tại giao điểm là nr ur r= −p c

c) Các dạng mặt bậc hai khác

Đối với các trường hợp tia sáng giao với các mặt trụ, mặt nón nón, mặt

ellip, mặt parabol và mặt hyperbol có thể giải quyết bằng cách giải các phương trình bậc hai theo cách tương tự Đối với trường hợp xét mặt ellip ta có thể

chuyển đổi mặt ellip thành mặt cầu và xét tia sáng đi qua mặt này tương tự như điqua mặt cầu, như vậy cách tính giao điểm hoàn toàn tương tự

Ngày đăng: 13/05/2016, 12:19

TỪ KHÓA LIÊN QUAN

w