Xuất phát từ hoàn cảnh đó, luận văn lựa chọn đề tài “Nghiên cứu một số hiệu ứng bóng và ánh sáng trong xây dựng các ứng dụng thực tại ảo” nhằm hệ thống hóa các mô hình, phương pháp thể h
Trang 2MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 3
PHẦN MỞ ĐẦU 4
Chương 1: SƠ LƯỢC VỀ THỰC TẠI ẢO VÀ HIỆU ỨNG BÓNG - ÁNH SÁNG 6
1.1 THỰC TẠI ẢO VÀ ỨNG DỤNG 6
1.1.1 Khái niệm 6
1.1.2 Lịch sử phát triển 7
1.1.3 Lĩnh vực ứng dụng 10
1.1.4 Xây dựng hệ thống thực tại ảo 15
1.2 BÓNG - ÁNH SÁNG 16
1.2.1 Khái niệm 17
1.2.2 Các đơn vị sử dụng trong đo lường ánh sáng 19
1.2.3 Hàm phân phối phản xạ hai chiều (BRDF) 23
1.2.4 Nguồn sáng và phân loại nguồn sáng 28
1.2.5 Phương trình tô bóng 29
Chương 2: MỘT SỐ HIỆU ỨNG BÓNG - ÁNH SÁNG TRONG ỨNG DỤNG THỰC TẠI ẢO 31
2.1 HIỆU ỨNG BÓNG BỀ MẶT 31
2.1.1 Ánh sáng nền (Ambient) 32
2.1.2 Sự phản xạ sáng khuếch tán (Diffuse) 33
2.1.3 Sự phản xạ ánh sáng trên gương (Specular) 34
2.1.4 Các mô hình tổng hợp 35
2.1.5 Các phương pháp tô bóng trong đồ họa 3D(Shader) 36
2.1.6 Cài đặt cài đặt các phương pháp tô bóng trong đồ họa 3D 41
Trang 32.2 HIỆU ỨNG BÓNG ĐỔ 44
2.2.1 Tạo bóng đổ bằng bóng khối 45
2.2.2 Tạo bóng đổ bằng bản đồ bóng (Shadow Mapping) 53
Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM 58
3.1 BÀI TOÁN 58
3.2 CÀI ĐẶT CHƯƠNG TRÌNH 58
3.2 KẾT QUẢ THỬ NGHIỆM 60
PHẦN KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
Trang 4PHẦN MỞ ĐẦU
Trong những năm gần đây, thực tại ảo là một lĩnh vực được quan tâm pháttriển, nó đang ngày càng chứng tỏ vai trò của mình trong sự phát triển của công nghệthông tin nói riêng và các lĩnh vực của đời sống, xã hội nói chung Hiện nay thực tại ảođang được ứng dụng phổ biến trong nhiều lĩnh vực khác nhau, có thể kể đến như:Quân sự, giáo dục, kỹ thuật - xây dựng, giải trí vv
Một trong những yêu cầu quan trọng của các ứng dụng thực tại ảo là phải thểhiện theo thời gian thực các hiệu ứng bóng - ánh sáng Mỗi hiệu ứng bóng - ánh sánglại có những mô hình, phương pháp thể hiện khác nhau Ty vậy, chưa có một mô hìnhcũng như phương pháp nào phù hợp cho mọi đối tượng, mọi hiệu ứng Do đó, việctìm hiểu và nghiên cứu các hiệu ứng bóng - ánh sáng và bản chất của chúng là mộtviệc cần thiết, có ý nghĩa trong xây dựng và phát triển các ứng dụng thực tại ảo nóiriêng và ứng dụng mô phỏng nói chung
Xuất phát từ hoàn cảnh đó, luận văn lựa chọn đề tài “Nghiên cứu một số hiệu
ứng bóng và ánh sáng trong xây dựng các ứng dụng thực tại ảo” nhằm hệ thống hóa
các mô hình, phương pháp thể hiện hiệu ứng bóng – ánh sáng trong ứng dụng thực tại
ảo nói riêng và trong các ứng dụng mô phỏng thời gian thực nói chung
Cấu trúc của luận văn bao gồm “Phần mở đầu”, “Phần kết luận” và ba chương
nội dung, cụ thể:
Chương 1: Sơ lược về thực tại ảo và hiệu ứng bóng - ánh sáng Phần này trình
bầy những vấn đề cơ bản về thực tại ảo, ứng dụng thực tại ảo, đồng thời cũng đề cậpđến một số lý thuyết cơ bản về ánh sáng, nguồn sáng, và các mô hình của chúng từ đó
làm cơ sở cho các nội dung được trình bày trong “Chương 2”.
Chương 2: Một số hiệu ứng bóng - ánh sáng trong ứng dụng thực tại ảo Đây là
chương nội dung chính của luận văn Nó tập trung trình bày hai hiệu ứng chính của
ánh sáng khi đến và tương tác với bề mặt đối tượng đó là “hiệu ứng bóng bề mặt”, và
“hiệu ứng bóng đổ” Với mỗi loại hiệu ứng đều có những phương pháp, mô hình thể
hiện khác nhau, mà phần nội dung này của luận văn cũng đề cập đến
Trang 5Chương 3: Chương trình thử nghiệm Đây là chương học viên giới thiệu về
một chương trình thử nghiệm “Huấn luyện bắn súng” được xây dựng nhằm thể hiện
cho các kết quả đã được trình bày, tổng hợp trong luận văn
Trang 6Thực tại ảo (Virtual Reality-VR) là một thuật ngữ mới xuất hiện phát triển mạnh
trong vòng vài năm trở lại đây, đã và đang trở thành một công nghệ mũi nhọn nhờ khảnăng ứng dụng rộng rãi trong mọi lĩnh vực như y tế, giáo dục, kiến trúc, quân sự, dulịch, giải trí, Hiện nay, có nhiều định nghĩa về Thực tại ảo, một trong các định nghĩa
được chấp nhận rộng rãi là của C.Burdea và P.Coiffet thì có thể hiểu VR tương đối chính xác như sau: VR-Thực tại ảo là một hệ thống giao diện cấp cao giữa Người sử
dụng và Máy tính Hệ thống này mô phỏng các sự vật và hiện tượng theo thời gianthực có tương tác với người sử dụng qua tổng hợp các kênh cảm giác Đó là 5 giácquan gồm: thị giác, thính giác, xúc giác, khứu giác và vị giác [1], [2]
Hình 1.1 Giao diện giữa người sử dụng và hệ thống máy tính 3D
Hay nói một cách cụ thể VR là công nghệ sử dụng các kỹ thuật mô hình hoá
không gian ba chiều với sự hỗ trợ của các thiết bị đa phương tiện hiện đại để xây dựng
một thế giới mô phỏng bằng máy tính - Môi trường ảo (Virtual Environment) để đưa
người ta vào một thế giới nhân tạo với không gian như thật Trong thế giới ảo này,
Trang 7người sử dụng không còn được xem như người quan sát bên ngoài, mà đã thực sự trở
thành một phần của hệ thống Thế giới nhân tạo này không tĩnh tại mà lại phản ứng,
thay đổi theo ý muốn của người sử dụng qua những cử chỉ, hành động, vv Tức làngười sử dụng nhìn thấy sự vật thay đổi trên màn hình ngay theo ý muốn của họ
Một cách lý tưởng, người sử dụng có thể tự do chuyển động trong không gian
ba chiều, tương tác với các vật thể ảo, quan sát và khảo cứu thế giới ảo ở những góc
độ khác nhau về mặt không gian Ngược lại, môi trường ảo lại có những phản ứngtương ứng với mỗi hành động của người sử dụng, tác động vào các giác quan như thịgiác, thính giác, xúc giác của người sử dụng trong thời gian thực làm người sử dụng
có cảm giác như đang tồn tại trong một thế giới thực [1], [2]
1.1.2 Lịch sử phát triển
Mặc dù Thực tại ảo được mô tả như một công nghệ mới mang tính cách mạng,nhưng ý tưởng về việc nhúng người sử dụng vào một môi trường nhân tạo đã ra đời
từ rất sớm
Thuật ngữ “Thực tại ảo” mới được quan tâm trong một vài năm gần đây xong
nó lại có lịch sử từ khá lâu Cách đây hơn 40 năm một nhà làm phim có tên là Morton
Heilig người Mỹ đã đưa ra một ý tưởng tại sao không đưa con người bước sang một
thế giới khác với ý tưởng là hệ thống mô phỏng bay (Flight Simulation) Sử dụng các
hệ thống này người quan sát có cảm giác ảnh đang sống động ngay trước mắt mình
Tuy nhiên, do không có sự hỗ trợ về tài chính do đó Heilig đã không thể hoàn thành
ước mơ của mình Xong anh cũng đã tạo ra được một thiết bị mô phỏng, nó được gọi
là "Sensorrama Simulator", thiết bị này được công bố vào khoảng đầu những năm
1960
Trang 8Hình 1.2 Thiết bị mô phỏng Sensorrama-1960.
Thiết bị này sử dụng hình ảnh 3D, thu được từ camera 35mm kết hợp thành một camera chính Nó bao gồm có một hệ thống âm thanh kết hợp với những cảnh
quay 3 chiều thực sự Người nhìn có thể cưỡi một chiếc xe máy, có thể cảm thấy giókhi chuyển động, thậm chí họ có thể cảm thấy những đoạn đường có ổ gà Mặc dù đây
là một cái máy tương đối đơn giản, và thô sơ xong nó đã mở ra nhiều ý tưởng nghiêncứu mới chưa từng có trên thế giới
Năm 1966 Ivan Sutherland một sinh viên tốt nghiệp Trường Utah tiếp tục nghiên cứu vấn đề Heilig đã bỏ dở Sutherland cho rằng cảnh quay tương tự không
đáp ứng được yêu cầu thực tế Anh ta bắt đầu một ý tưởng của một bộ tăng tốc đồhoạ, một phần quan trọng trong mô phỏng thực tại hiện đại và đã chế tạo được hệ
thống thiết bị hiển thị đội đầu (Head Mounted Display-HMD) có thể kết nối tới máy tính Năm 1970, Sutherland tiếp tục phát triển phần cứng của HMD tại trường đại học
Utah, làm cho nó hoàn thiện hơn có màn hình là màn hình màu.
Trang 9Hình 1.3 Thiết bị mô phỏng HMD-1970 của Ivan Sutherland Cũng trong khoảng thời gian này Myron Kreuger đã phát triển một thiết bị có tên VIDEOPLACE Thiết bị này sử dụng một màn hình lớn đối diện với người dùng.
Trên màn hình hiển thị cái bóng người dùng Hệ thống cũng có khả năng hiển thịnhiều người sử dụng trên cùng một màn hình
Hình 1.4 Thiết bị VIDEOPLACE-1970 của Myron Kreuger Những ý tưởng này được hai nhà khoa học Mỹ ở NASA là Fisher và McGreevy kết hợp lại trong một dự án có tên là “Trạm làm việc ảo” (Visual Workstation) vào năm 1984 Cũng từ đó NASA phát triển thiết bị Hiển thị đội đầu có tính thương mại đầu tiên, được gọi là màn hình môi trường trực quan (Visual Environment Display),
thiết kế dựa trên mẫu hình mặt nạ lặn với các màn hình quang học mà ảnh được cung
cấp bởi hai thiết bị truyền hình cầm tay Sony Watchman Sự phát triển của thiết bị này
đã thành công ngoài dự đoán, bởi NASA đã sản xuất được một thiết bị HMD có giá
chấp nhận được trên thị trường và như vậy ngành công nghiệp Thực tại ảo đã ra đời
Trang 10Hình 1.5 Thiết bị HMD-1984 của NASA
Nhưng đặc biệt công nghệ VR từ những năm 90 trở lại đây được phát triển
mạnh mẽ và đang trở thành một công nghệ mũi nhọn nhờ khả năng ứng dụng rộng rãitrong mọi lĩnh vực như: nghiên cứu và công nghiệp, giáo dục và đào tạo cũng nhưthương mại, giải trí, tiềm năng kinh tế, cũng như tính lưỡng dụng trong dân dụng vàquân sự của nó [1], [2]
1.1.3 Lĩnh vực ứng dụng
Cũng như nhiều ngành công nghệ khác, VR chỉ thực sự được phát triển ứng
dụng rộng rãi trong những năm gần đây nhờ vào sự phát triển của tin học (phần mềm
và phần cứng) Ngày nay VR đã trở thành một ngành công nghiệp và thị trường VR
tăng trưởng hàng năm khoảng 21% và dự tính đạt khoảng 3,4 tỷ $ năm 2005 (theo
Machover, 2004) Theo thống kê của Gartner (tổ chức nghiên cứu thị trường toàn
cầu), VR đứng đầu danh sách 10 công nghệ chiến lược năm 2009 Thị trường VR tại
Mỹ trong các lĩnh vực giáo dục phẫu thuật y khoa và một số lĩnh vực khác được ước
đạt 290 triệu USD vào năm 2010 (theo Neurovr.org).
Ứng dụng của thực tại ảo có thể thấy được rất nhiều trong thế giới hàng ngàycủa chúng ta Xét về khía cạnh ứng dụng một số lĩnh vực ứng dụng chính đang cókhuynh hướng phát triển mạnh mẽ nhất chúng ta có thể kể đến một số lĩnh vực sau:
Một trong những lĩnh vực ứng dụng tiêu biểu nhất của VR là thiết kế kiến trúc Khả năng mô hình hoá thế giới thực của công nghệ VR dường như đáp ứng một cách
tự nhiên mục tiêu của ngành thiết kế kiến trúc đưa ra mô hình trực quan nhất Ví dụ,công trình thiết kế cầu mong muốn trong tương lai:
Trang 11Hình 1.6 Mô phỏng trong thiết kế kiến trúc cầu 3D
Việc xây dựng các mô hình không gian kiến trúc với đầy đủ mô tả trực quan vềcác hình khối kiến trúc của một căn nhà, cách bố trí nội thất bên trong, thậm chí hoavăn cửa sổ hay màu sơn của tường, cùng với khả năng cho phép khách hàng tự dotham quan, khảo sát căn nhà của họ trong tương lai theo nhiều góc độ và vị trí, từphòng này sang phòng khác thực sự đem lại hiệu quả trực quan mang tính cách mạngtrong lĩnh vực mang nhiều đặc điểm nghệ thuật này
Hình 1.7 Mô phỏng thiết kế kiến trúc nhà ở 3D
Phát triển trên nền công nghệ và kỹ thuật cao, VR tích hợp những đặc tính làm
cho bản thân nó có những tiềm năng vượt trội Cho người sử dụng cảm nhận sự hiệndiện của mình trong môi trường do máy tính tạo ra bằng khả năng tương tác, tự trị
(Autonomy) của người dùng trong môi trường ảo, cũng như bằng những phản hồi tức
Trang 12thời, trực quan từ phía môi trường ảo tới các giác quan của người sử dụng Vì vậy,thực tại ảo đã đang trở thành một công cụ hữu hiệu trong giáo dục, đặc biệt là mộtphương tiện giáo dục và đào tạo hết sức mạnh đối với một số ngành nghề chi phí tốnkém và nguy hiểm đòi hỏi phải thực hành, ví dụ như: huấn luyện tập nhảy dù, tập lái
xe, v.v thì việc ứng dụng VR là cực kỳ cần thiết.
Hình 1.8 Ứng dụng công nghệ VR trong huấn luyện tập nhảy dù Tất cả những đặc tính này khiến công nghệ VR trở nên rất phù hợp cho các ứng
dụng có tính chất giáo dục hay đào tạo Tính chất trực quan của bài giảng được nângcao một bước làm tăng sự hứng thú trong học tập cũng như khả năng ghi nhớ các kháiniệm quan trọng trong bài giảng Từ đó, học viên nắm bắt được nhanh chóng và có ýthức hơn với những tính huống đã được học
Y học là một trong những lĩnh vực ứng dụng nhiều tiềm năng trong công nghệ
VR Cho đến nay, trên thế giới ứng dụng của VR vào y học là khá phong phú, xong lĩnh
vực nổi bật và thiết thực nhất là việc áp dụng thành công nghệ VR là giả lập giải phẫu (Surgical Simulation).
Trên cơ sở các kỹ thuật đồ hoạ máy tính và Thực tại ảo, hệ thống đào tạo y họcnày bao gồm hai bộ phận cơ bản: Khối tương tác ba chiều là mô hình sinh thể ảo chophép người sử dụng thực hiện các thao tác giải phẫu thông qua các dụng cụ giải phẫuảo; Khối giao diện người dùng hai chiều cung cấp những thông tin phản hồi trực quan
từ mô hình trong quá trình giải phẫu cũng như những thông tin hướng dẫn trong phiênđào tạo
Trang 13Hình 1.9 Ứng dụng công nghệ VR trong đào tạo phẫu thuật ảo
Phương pháp đào tạo có tính tương tác cao này mang nhiều ưu điểm so với cácphương pháp truyền thống như thực hành trên mô hình plastic hay trên bệnh nhânthực
Thứ nhất, khác với phương pháp dùng mô hình plastic, sinh thể giải phẫu ảo cókhả năng cung cấp những thông tin phản hồi sinh học một cách tự nhiên như một sinhthể sống thực, chẳng hạn như sự thay đổi về nhịp tim, huyết áp,… Điều này tạo chohọc viên có cảm giác đang trải qua một ca mổ trong một tình huống thực
Thứ hai, khác với thực hành trên bệnh nhân thật, những sai lầm của học viêntrong quá trình thực tập không phải trả giá bằng những thương tổn thực trên cơ thểngười bệnh Điều này cũng làm giảm áp lực lên học viên khi thực hiện phẫu thuật ảo
Từ đó, giúp họ tự tin và chủ động hơn trong học tập Phương pháp này còn cho phépcác bác sĩ không ngừng nâng cao trình độ tay nghề, kỹ năng đặt ra những giả định vềtình huống bệnh nhân, cập nhật những dữ liệu bệnh lý mới để thực hiện kỹ thuật mớitrong điều trị Bác sĩ cũng có thể tự lập kế hoạch mổ thử trên bệnh nhân ảo trước khi
mổ trên bệnh nhân thật do đó làm tăng mức độ an toàn và hiệu quả điều trị, giảm thiểusai lầm rủi ro đáng tiếc xảy ra
Trong thương mại đặc biệt là trong ngành quảng cáo công nghệ VR đang có
một vị trí quan trọng Nó giúp khách hàng tiếp cận gần hơn tới hàng hóa để có thểđánh giá chất lượng mà không cần có hàng trực tiếp,…Trong du lịch các công ty cóthể cho khách xem trước khách sạn, nhà hàng và ngắm nhìn một phần quang cảnh địa
phương nơi khách sắp đến du lịch…Tiêu biểu là Công ty Giải pháp CNTT & Truyền thông DAGINET là Công ty tại việt nam cung cấp ra thị trường Việt Nam Giải pháp
VR - Virtual Reality 360 trên trang web http://www.vr360.vn.
Trang 14Hình 1.10 Ứng dụng công nghệ VR trong Du lịch
Giải trí hiện nay đây là ngành đạt được nhiều thành tựu và lợi nhuận về tàichính Trong giải trí nó có thể chia làm hai lĩnh vực chính đó là điện ảnh và game.Trong điện ảnh ngày nay với sự phát triển của kỹ thuật và công nghệ mô phỏng người
ta đã có thể xây dựng các bộ phim 3D Khi xem các phim này các bạn sẽ có cảm giác
như thể bạn là một nhân vật của bộ phim chứ không phải bạn đang xem phim Có thể
kể đến các phim như “Ma trận”, “Chú Chuột Đầu Bếp”, “Đi Tìm Nê Mô” vv đặc biệt
là bộ phim gần đây có tên “Avatar”, đây là bộ phim có doanh thu cao nhất thời đại, ước tính doanh thu của bộ phim này khoảng gần 3 tỷ USD.
Hình 1.11 Các logo phim dùng 3D ảo.
Trong lĩnh vực Game có rất nhiều công ty đang sản xuất ra các trò chơi có sử
dụng công nghệ VR Các trò chơi sẽ cho bạn có cảm giác như đang thực sự tham gia
vào một vai diễn mà bạn đảm nhiệm trong trò chơi Số lượng người bị cuốn hút theocác trò chơi như vậy đặc biệt là giới trẻ tăng theo cấp số nhân, đánh dấu tiềm năng
thương mại to lớn của công nghệ VR trong lĩnh vực này.
Trang 15Hình 1.12 Hệ thống trong lĩnh vực giải trí 3D
Hình 1.12 là hình ảnh của một trò chơi đua xe, một ứng dụng giải trí khá phổ
biến của VR Với hệ thống như vậy người sử dụng có thể dùng nó để tập lái xe máy
hoặc thử cảm giác mạnh khi tham gia các chương trình đua xe Tương tự như khi đi
xe thật hệ thống sẽ nghiêng khi chúng ta vào cua, sẽ xóc khi đi trên những đoạn đường
gồ ghề, âm thanh, hình ảnh của hệ thống cũng được thể hiện khá trung thực bằng côngnghệ đồ họa 3D theo thời gian thực [1], [2], [3]
1.1.4 Xây dựng hệ thống thực tại ảo
Ta biết rằng hệ thống thực tại ảo là một hệ thống tương tác thời gian thực, baogồm hai phần chính đó là: hệ thống phần cứng đảm nhiệm công việc tương tác giữangười sử dụng và hệ thống (hệ thống này tác động lên các giác quan của người sửdụng, đồng thời cũng có thể tiếp cũng nhận tác động từ người sử dụng), phần thứ hai
đó là hệ thống phần mềm, chịu trách nhiệm điều khiển sự tương tác giữa người sửdụng và hệ thống theo những kịch bản nhất định Như vậy việc xây dựng một hệ thốngthực tại ảo phải bao gồm hai phần chính đó là: Xây dựng hệ thống phần cứng, và xâydựng hệ thống phần mềm tương tác dựa trên hệ thống phần cứng đã có
Việc thiết kết, xây dựng một hệ thống phần cứng mới hoàn toàn là một việc bấtkhả thi, do đó người ta thường thiết kết, xây dựng các hệ thống phần cứng thực tại ảodựa trên các thiết bị đã được cung cấp trên thị trường, chỉ những phần cứng có yêucầu đặc biệt thì mới cần, có sự đầu tư, thiết kế riêng Các phần cứng phổ dụng tronglĩnh vực Thực tại ảo có thể kể đến:
Các thiết bị liên quan đến việc hiển thị như: màn hình 3D, máy chiếu 3D, các thiết bị đội đầu HMD vv
Trang 16Các thiết bị liên quan đến tương tác giữa người sử dụng và hệ thống như:
chuột không gian (Space Mouse), bóng không gian (Space Ball), găng tay dữ liệu (Data Glove), áo dữ liệu, hệ thống định vị, hệ thống theo dõi vv
Xét về khía cạnh phần mềm, ứng dụng thực tại ảo cũng là một phần mềm do đóquá trình xây dựng và phát triển nó cũng phải tuân theo quy trình xây dựng và pháttriển phần mềm, có nghĩa là quá trình đó phải bao gồm các pha từ khảo sát (xác địnhbài toán), phân tích (làm rõ yêu cầu), thết kế hệ thống, xây dựng kiểm thử và triển khaichương trình Tuy nhiên ứng dụng thực tại ảo cũng có những đặc thù riêng của nó.Thông thường các đối tượng trong hệ thống thực tại ảo là sự mô phỏng lại hình dạng -hành vi của các đối tượng trong đời sống thực trên một - một số khía cạnh nhất định(đặc biệt là khía cạnh hình học và vật lý học) Do đó, trong mỗi khâu của quá trình nàyphải bổ sung thêm một số công việc nhất định
Với xác định bài toán, ngoài việc xác định rõ yêu cầu đề bài cũng phải làm rõmột số vấn đề như kịch bản chung của hệ thống, kịch bản hoạt động, kịch bản phânvai, kịch bản giao tiếp cho từng nhân vật, đối tượng trong hệ thống
Với ca phân tích chúng ta cũng phải bổ sung thêm một số công việc như, phântích, xác định các nhân vật của hệ thống, phác thảo hình dạng các nhân vật trong hệthống, cũng như các hành động của từng đối tượng, nhân vật trong hệ thống Việc này
có thể thực hiện bằng tay trên giấy hoặc trên máy tính bởi các họa sỹ 2D.
Ca thiết kế phải bổ sung thêm các quá trình đó là thiết kế mô hình cho từngnhân vật, thiết kế chuyển động cho từng nhân vật cụ thể Có thể thực hiện được công
việc này theo hai cách tiếp cận, thứ nhất là sử dụng các thiết bị quét 3D và các thiết bị
tạo hoạt hình dựa trên các mô hình thật, thứ hai có thể sử dụng các phần mềm chuyêndụng để xây dựng và tạo hoạt hình cho từng nhân vật, việc này được thực hiện bởi các
họa sỹ 3D, các phần mềm chuyên dụng sử dụng trong, thiết kế, xây dựng mô hình có thể kể như 3DSMax, Maya, Zbrush vv… [1] , [2] , [3] , [4], [5].
1.2 BÓNG - ÁNH SÁNG
Thực tại ảo là một lĩnh vực tương đối mới, nhưng lĩnh vực cơ sở quan trọng bậc
nhất của nó phải kể đến đó là lĩnh vực tổng hợp và dựng hình (trong không gian 3D).
Chúng ta biết rằng dựng hình là một quá trình biến đổi, nó sử dụng các quy tắc của hìnhhọc, vật lý nhằm tạo ra những hình ảnh con người có thể hiểu được Để thực hiện đượccông việc phức tạp này người lập trình phải hiểu và xâu chuỗi lại một loạt những kiếnthức trong các lĩnh vực khác nhau từ toán học, vật lý, nghệ thuật cho đến tâm lý, sinh học
và khoa học máy tính Kết hợp những nguyên tắc gần như không liên quan,
Trang 17sắp xếp chúng để tạo ra những chương trình tổng hợp hình ảnh là một công việc khókhăn và vô cùng phức tạp.
Phần lớn các công việc của lĩnh vực dựng hình dựa trên các kết quả nghiên cứu
từ các lĩnh vực khác Việc liệt kê tất cả những đóng góp này vượt quá phạm vi củaluận văn, do đó trong phần dưới đây chúng tôi chỉ đề cập đến một số kết quả lý thiết
về ánh sáng và các mô hình chiếu sáng Đây là những lý thuyết chủ yếu, nó là cơ sở để
mô hình hóa, thể hiện các hiệu ứng bóng - ánh sáng nói chung và hiệu ứng bóng - ánhsáng trong thực tại ảo nói riêng
1.2.1 Khái niệm
Ánh sáng: là một loại bức xạ, nó có thể được hiểu, giải thích theo hai tính chất
vật lý, thứ nhất là tính chất sóng điện từ trường (quang học sóng), thứ hai là tính chất hạt (quang học hạt).
Bóng: trên thực tế bóng và ánh sáng là hai vấn đề liên quan mật thiết với nhau
“có ánh sáng thì mới có bóng và bóng là sự thể hiện của ánh sáng” Ánh sáng truyền
đi trong không gian khi đến một bề mặt nó tương tác với bề mặt, sự tương tác này
được thể hiện thông qua hai hiệu ứng chính là “bóng bề mặt” và “bóng đổ” có thể gọi
chung chúng là bóng Hiệu ứng “bóng bề mặt” xảy ra khi ánh sáng đến bề mặt và phản
xạ lại môi trường một lượng ánh sáng nhất định theo các hướng khác nhau, trong đó
có một phần đến được mắt, tác động lên hệ thần kinh thị giác, vì vậy chúng ta quan sátđược đối tượng Theo định luật truyền thẳng ánh sáng khi đến một bề mặt không trongsuốt thì bị cản lại và không thể tiếp tục được truyền đi theo hướng đến, vì vậy mọiđiểm phía sau sẽ không có sự chiếu sáng từ nguồn sáng hiện tượng như vậy được gọi
sáng “phân cực tuyến tính”, hoặc đơn giản là “phân cực” Dựa vào đặc tính phân cực
của ánh sáng khi đi qua một số loại vật liệu nhất định mà người ta đã xây dựng lên các
hệ thống hiển thị hình ảnh 3D, ví dụ như hệ thống máy chiếu 3D, ti vi 3D, kính 3D vv Sự xuất hiện của các thiết bị này là một trong những động lực quan trọng nhất tạo nên sự phát triển của lĩnh vực VR hiện nay.
Trang 18Trong quang học hạt, năng lượng ánh sáng được thể hiện dưới hình thức của
các hạt photon dịch chuyển trong không gian với vận tốc ánh sáng Mỗi photon mang
một mức năng lượng nhất định, mức năng lượng này phụ thuộc vào tần số hay độ dàibước sóng của ánh sáng
Khả năng quan sát của con người với mỗi loại ánh sáng là khác nhau, bằng thựcnghiệm người ta đã chứng minh con người có khả năng nhìn được ánh sáng với bước
sóng nằm trong khoảng (380nm - 780nm), ánh sáng có bước sóng lớn hơn được gọi là
hồng ngoại và nhỏ hơn là tử ngoại đây là những loại ánh sáng mà con người không cókhả năng quan sát được Khả năng nhìn của con người với mỗi loại ánh sáng trong
khoảng nhìn được là không giống nhau Hình 1.13 là đồ thị thể hiện khả năng quan sát
của con người với từng mức sóng cụ thể của ánh sáng
Hình 1.13 Khả năng quan sát của con người tương ứng với từng mức sóng
Trong đồ họa 3D tính chất sóng - hạt của ánh sáng được trừu tượng hóa thông
qua các quy luật, việc xây dựng các quy luật này phần lớn dựa vào các quy luật hìnhhọc và các quy luật quang học Các phần nội dung dưới đây sẽ trình bày một số quyluật quan trọng, nhưng trước tiên để hiểu được các quy luật này chúng ta hãy xem xétmột số đơn vị sử dụng trong việc đo lường ánh sáng [6], [7], [8], [11]
Trang 191.2.2 Các đơn vị sử dụng trong đo lường ánh sáng
Ánh sáng là một loại bức xạ điện từ trường do đó một phép đo lường ánh sángcũng là một phép đo lường bức xạ Dưới đây là một số đơn vị đo lường được sử dụngphổ biến trong các nguyên tắc xây dựng hình ảnh Đầu tiên chúng ta hãy xét đến mộtđơn vị không sử dụng trực tiếp trong đo lường ánh sáng đó là góc khối
Góc khối là một khái niệm được sử dụng trong Toán học và Vật lý để nóitới các góc trong không gian ba chiều tương ứng giữa một vật thể với một điểmcho trước, nó tương tự với khái niệm góc sử dụng trong mặt phẳng hai chiều Góckhối được sử dụng để ước lượng độ lớn của vật thể tính từ một điểm quan sát chotrước, ví dụ một vật thể nhỏ nhưng được đặt gần điểm quan sát vẫn có thể có góckhối lớn hơn một vật thể có kích thước lớn nhưng được đặt xa điểm quan sát Góc
khối thường được ký hiệu là ω, đơn vị chuẩn của nó là steradian (ký hiệu "sr").
Độ lớn của góc khối được xác định bằng tỷ lệ giữa diện tích S của hình chiếu vật thể lên một hình cầu có tâm là điểm quan sát với bình phương bán kính R
và diện tích tỉ lệ = 1/4ππ.(sr).
Trang 20Hình 1.14 Góc khối trong hệ tọa độ cầu
Với hệ tọa độ cầu xét một hình cầu bán kính r, góc khối cho một đơn vị diện tích mặt dS rất nhỏ của hình cầu có góc thiên đỉnh θ và góc phương vị ϕ (Hình
Năng lượng bức xạ: hiểu đơn giản là lượng năng lượng (công) được vận chuyển thông qua ánh sáng Nó thường được ký hiệu là Q, đo bằng joule [J = Ws
= Nm = kgm 2 s -2 ] Năng lượng bức xạ phụ thuộc vào số lượng photon và tần số
(mức năng lượng) của các photon.
Trang 21 Thông lượng bức xạ (Radiant Flux) hay Công suất bức xạ (Radiant Power)
Công suất bức xạ được ký hiệu là Φ, được định nghĩa là lượng năng lượng bức xạ trên mỗi đơn vị thời gian, đơn vị đo lường của nó là watt [W].
Độ rọi bức xạ và độ tỏa sáng đều là là hai hình thức của mật độ thông lượng
Độ rọi bức xạ ký hiệu E được tính bởi công thức :
nó đại diện cho thông lượng bức xạ dΦ đến một bề mặt tại một đơn vị diện tích bề
mặt dA Còn độ tỏa sáng được định nghĩa là thông lượng lượng bức xạ trên một
đơn vị diện tích ra khỏi bề mặt Trong đồ họa máy tính độ tỏa sáng thường được
gọi là radiocity, ký hiệu thường được sử dụng để đại diện là B(x), người ta tính độ
tỏa sáng bởi công thức sau:
Cả độ rọi bức xạ và độ tỏa sáng đều sử dụng một đơn vị đo lường đó là (Wm -2 ).
Trong quang học sóng mật độ thông lượng được định nghĩa là sản phẩm của điện từ
trường, do đó nó tỷ lệ thuận với bên độ của từng thành phần sóng điện và sóng từ
trường, vì thế nó tỷ lệ thuận với bình phương biên độ sóng ánh sáng nói chung
Cường độ bức xạ là một phép đo phóng xạ, nó đặc trưng cho lượng ánhsáng đi qua hoặc phát ra từ một khu vực cụ thể trong một đơn vị góc khối theo một
hướng nhất định, trên một đơn vị diện tích bề mặt Chúng được sử dụng để mô tả
cả bức xạ từ một nguồn khuếch tán hoặc phản xạ của một bề mặt khuếch tán Đơn
vị đo của Cường độ bức xạ là watts trên mỗi đơn vị diện tích m 2, trong mỗi đơn vị
góc khối sr:(Wm -2 sr -1 ) Theo tính chất của góc khối có thể suy ra rằng, trên cùng
một đơn vị diện tích một bề mặt ở gần nguồn sáng hơn sẽ nhận được nhiều năng
lượng hơn bề mặt ở xa, hay nói cách khác Cường độ bức xạ của cùng một đơn vị
diện tích tỷ lệ nghịch với khoảng cách Cường độ bức xạ thường được ký hiệu là
L và được tính theo công thức sau:
Trong đó: Trường hợp L(x,θ, ϕ) thì θ là góc thiên đỉnh ϕ là góc phương vị trong hệ tọa độ cầu, với L(x, ) thì là hướng ánh sáng, θ là góc giữa hướng
ánh
Trang 22sáng và vector pháp tuyến của bề mặt tại điểm x, dΦ là thông lượng bức xạ phát ra
trên đơn vị diện tích dA, trong đơn vị góc khối dω.
Mối quan hệ giữa độ rọi bức xạ (Irradiance) và cường độ bức xạ (Radiance)
được thể hiện qua công thức sau:
Radiance là một đại lượng đặc biệt quan trọng trong đồ họa máy tính, vì nó
là một hằng số theo đường thẳng trong không gian Đại lượng đo lường này được
sử dụng trong hầu hết hệ thống rendering bao gồm cả hệ thống sử dụng kỹ thuật
ray-tracers và hệ thống đồ họa tương tác (sử dụng bộ tăng tốc đồ họa).
Xét một nguồn sáng điểm, giả định rằng tất cả các năng lượng bức xạ đượcphát ra từ một điểm duy nhất trong không gian ba chiều, đây là một mô hình nguồn
sáng phổ biến trong đồ họa máy tính Đáng tiếc Radiance không phải là một đại
lượng thích hợp để xác định độ sáng của một nguồn ánh sáng, vì tồn tại một sự kỳ
dị tại chính vị trí tâm của nguồn sáng điểm (tại đây hướng nguồn sáng và góc θ là
không xác định)
Cường độ ánh sáng I phải là một đại lượng mà không có kỳ dị này, vì vậy
có thể được sử dụng cho đặc trưng của ánh sáng điểm Dựa vào (1.5) người ta
đưa ra định nghĩa cường độ ánh sáng là thông lượng ánh sáng trên mỗi đơn vị góc
khối cho bởi công thức:
Từ đó dễ thấy trên toàn bộ hình cầu hướng (có góc khối là 4π sr), một nguồn sáng
phát ra mức năng lượng như nhau tại mọi phía sẽ có cường độ ánh
Mức phơi sáng(Radiant Exposure)
Mức phơi sáng là một đơn vị, được định nghĩa là độ rọi bức xạ theo thời
gian, đơn vị đo lường của mức phơi sáng là [Wsm -2] Mức phơi sáng cũng có thể
hiểu là năng lượng bức xạ trên mỗi đơn vị diện tích Ví dụ cách đáp ứng của của
Trang 23một tấm phim trong máy ảnh là một sự hình dung trực tiếp cho mức phơi sáng [6],
[7], [8]
1.2.3 Hàm phân phối phản xạ hai chiều (BRDF)
Để tính sự chiếu sáng trong một cảnh, cần thiết phải xác định các thuộc tính bề
mặt của những đối tượng trong cảnh đó Các thuộc tính bề mặt có thể được biểu diễn
thông qua một hàm số, trong đồ họa máy tính người ta sử dụng hàm phân phối phản
xạ hai chiều (bidirectional reflection distribution function được ký hệu là BRDF) để
mô hình hóa các đặc tính bề mặt
Hình 1.15 Sự phản xạ từ một nguồn sáng đếnđiểm quan sát tại một điểm trên bề mặt
Hàm phân phối phản xạ hai chiều (BRDF) là mô hình phổ biến nhất của phản
xạ cục bộ, nó được định nghĩa là tỷ số giữa cường độ bức xạ L 0 ra khỏi bề mặt tại một
điểm x trên bề mặt theo hướng 0 với độ rọi bức xạ L i đến bề mặt theo hướng i , cho bởi
công thức dưới đây:
Đơn vị đo lường của BRDF là [sr -1 ] Giá trị của BRDF xác định mức phản xạ
của ánh sáng tại bề mặt Tương tự như vậy cũng có một hàm sử dụng để đặc trưng
cho mức sáng truyền qua bề mặt, đó là hàm phân phối truyền qua (bidirectional
transmission distribution function được ký hệu là BTDF) Sự kết hợp của BRDF và
Trang 25Mặc dù BRDF được sử dụng rất phổ biến trong đồ họa máy tính, tuy nhiên phải
hiểu rằng không thể mô hình hóa toàn bộ các hiệu ứng của ánh sáng tương tác với bề
mặt thông qua các hàm (BRDF và BTDF), mà để làm được việc này chúng ta phải đơn
giản hóa, giới hạn nhiều tác động, điều kiện để có thể mô hình hóa được các hiệu ứng
ánh sáng thông qua các hàm BRDF (BTDF) Các ràng buộc, giả thiết đơn giản hóa là:
Ánh sáng phản xạ từ bề mặt có cùng tần số với ánh sáng đến bề mặt.Không tính đến hiệu ứng huỳnh quang, đây là hiệu ứng xảy ra khi bề mặt được
nung nóng hoặc được chiếu sáng bởi một nguồn phát, các electron trên bề mặt sẽ
nhận được năng lượng và chuyển từ mức năng lượng ban đầu S0 lên mức năng
lượng S*, các electron ở mức năng lượng cao luôn luôn có xu hướng chuyển về
mức năng lượng ban đầu (thông thường nó chỉ ở mức năng lượng cao trong khoảngthời gian từ 10-12 đến 10-9 giây), khi chuyển từ mức năng lượng S* về S0 electron sẽ giải phóng một lượng năng lượng dưới dạng một photon, thông thường photon được giải phóng sẽ có mức năng lượng thấp hơn mức năng lượng mà electron nhận được,
sự phát quang như vậy được gọi là hiện tượng huỳnh quang (fluorescence).
Ánh sáng phản xạ lập tức sau khi được chiếu sáng Năng lượng không
được lưu trữ, và tái phát dưới dạng lân quang (phosphorescence) Hiện tượng lân quang cũng tương tự như hiện tượng huỳnh quang nhưng điểm khác biệt là các electron ở mức năng lượng cao trong một thời gian lâu hơn, thường vào khoảng vài mili giây, trong một
số trường hợp đặc biệt thời gian tồn tại của các electron ở mức năng lượng cao có thể
lên tới hàng phút thậm chí hàng giờ
Không có phương tiện truyền thông tham gia Điều này có nghĩa ánh sángtruyền đi trong không gian trống rỗng, và nếu đến thì đó là điểm trên bề mặt, các hiệuứng xảy ra tại điểm đến không bị phân tán trong đối tượng Đây là giả định hạn chế nhất,
vì nó có nghĩa là hiệu ứng khí quyển cũng như một số vật liệu như da người, thấu kính,không được thể hiện đầy đủ
Dễ thấy BRDF là một hàm 6 tham số trong đó 2 tham số bề mặt x hai tham số xác
định hướng ( 0 , i ) mỗi tham số xác định hướng được xác định bởi hai góc (ϕ góc
phương vị, θ góc đỉnh thiên) Nếu giả định rằng bề mặt không có kết cấu nói cách khác kết cấu của một bề mặt là đồng nhất, thì BRDF là hằng số trên toàn bộ bề mặt của đối tượng ta có thể giảm số chiều của hàm BRDF xuống là 4 từ đó làm cho việc lấy mẫu, phân tích BRDF dễ dàng hơn.
Số chiều của BRDF có thể được giảm tiếp bằng giả định rằng vật liệu là đẳng hướng tức hàm BRDF là một hằng số với mọi phép quay quanh vector pháp tuyến của
bề mặt Chọn 0 ( 0 , 0 ) , và i(i,i) từ giả thiết ta có:
Trang 26f r (x, ( i , i )( 0 , 0 )) f r (x, ( i , i ) ( 0 , 0 ))
(1.11)
trong đó ϕ là một số bất kỳ có được điều này là do giả thiết BRDF là một hằng số
với mọi phép quay quanh vector pháp tuyến của bề mặt Như vậy (1.11) là một hàm với
hai tham số Tất cả các vật liệu không có tính chất mà giá trị của BRDF là một hằng số với
mọi phép quay quanh vector pháp tuyến của bề mặt đều được gọi là vật liệu dị hướng.
a Hệ số phản xạ và hệ số truyền qua
Mặc dù BRDF là sự mô tả hữu ích và đầy đủ cho thuộc tính của bề mặt, tuy vậy
có vài ngoại lệ xảy ra, ví dụ khi tính BRDF của gương hoàn hảo, thì f r sẽ tiến đến vô
cùng khi tia 0 là phản xạ của tia i , và là 0 trong trường hợp còn lại
Một đặc trưng định lượng khác cho thuộc tính phản xạ của bề mặt đó là hệ số
phản xạ ký hiệu Được định nghĩa là tỉ số giữa thông lượng phản xạ và thông lượng
Từ định nghĩa này có thể thấy giá trị của nằm trong khoảng [0, 1] Đáng tiếc là
không thể dễ dàng chuyển đổi trực tiếp được từ hệ số phản xạ sang BRDF và ngược
lại, mà việc chuyển đổi này chỉ thực hiện được trong một số trường hợp đặc biệt ví dụ
với bề mặt khuếch tán (Lambertian) khi f r là hằng số thì có =π π f r.
Tương tự như hệ số phản xạ hệ số truyền qua (r) cũng được định nghĩa là tỷ lệ
giữa thông lượng ánh sáng truyền qua và thông lượng ánh sáng nhận được tại bề mặt
Phần ánh sáng còn lại được hấp thụ tại bề mặt tỷ lệ giữa lượng ánh sáng hấp thụ tại bề
mặt và lượng ánh sáng đến bề mặt được là hệ hệ số hấp thụ (absorptance ký hiệu là
α) Tổng của hệ số phản xạ, hệ số truyền qua và hệ số hấp thụ luôn luôn là 1:
b Phản xạ, truyền qua thuộc tính vật lý của vật liệu
Mọi hiện tượng, hiệu ứng ánh sáng luôn tuân theo quy luật của vật lý, mà
BRDF lại là hàm đặc trưng cho sự phản xạ tại bề mặt, do đó BRDF cũng phải tuân
theo các quy lật này Đầu tiên ta hãy xét đến luật bảo toàn năng lượng: Lượng năng
lượng phản xạ không nhiều hơn lượng năng lượng mà bề mặt nhận được Như vậy ta
sẽ có bất phương trình sau:
Trang 27Luật thứ hai BRDF phải tuân theo là quy tắc thuận nghịch của Helmholtz
(Helmholtz reciprocity) Quy tắc này chỉ ra rằng trên một đường thẳng ánh sáng có thể
cùng đến và đi mà không làm thay đổi giá trị của BRDF:
f r (x, 0 i ) f r (x, i 0 ) (1.15)
Đối với sự khúc xạ ánh sáng quy tắc này không còn đúng do có sự khác biệt
giữa không gian góc của tia ánh sáng đến và tia ánh sáng khúc xạ
Hơn nữa để hợp lý với quy luật tự nhiên, mô hình kết cầu bề mặt phải là sự mô
hình hóa phù hợp cho các đặc tính phản xạ của một bề mặt thật Những quy tắc hợp lý
RBDF là quy tắc phản xạ tại một bề mặt phẳng, luật Snell, công thức Fresnel Phần
dưới đây sẽ trình bày sơ lược các quy tắc này
Phân tích một tia sáng tới từ hướng l tại một điểm, trên mặt phẳng tiếp xúc giữa
2 bề mặt có độ trơn hoàn hảo, với các chiết xuất của hai bề mặt là n1, và n2 như trong
Hình 1.16.
Khi mặt phẳng là trơn hoàn toàn thì tia sáng tới sẽ được chia thành hai tia mới,
) Quan hệ giữa tia phản xạ và tiamột tia là tia phản xạ ( r ), tia còn lại là tia khúc xạ ( t
tới cho bởi đẳng thức: (quy tắc phản xạ) Trong khi đó quan hệ giữa tia khúc
Trang 29Câu hỏi đặt ra là năng lượng của tia tới được chia ra sao cho hai thành phần,
thành phần phản xạ và thành phần khúc xạ, hay nói cách khác là hệ số phản xạ và hệ
số khúc xạ là bao nhiêu Ký hiệu là hệ số phản xạ và r là hệ số khúc xạ, việc tính
toán , và r phụ thuộc vào sự phân cực của tia ánh sáng tới Giả sử ánh sáng là phân cực
và hướng của điện trường vuông góc với mặt phẳng tạo bởi vector pháp tuyến của mặt
phẳng tại điểm đến và hướng ánh sáng tới đó, khi đó hệ số phản xạ, và hệ số khúc
xạ tương ứng là , và r ┴ Tương tự trong trường hợp hướng của điện trường song
song với mặt phẳng tạo bởi vector pháp tuyến của mặt phẳng tại điểm đến và hướng
ánh sáng tới thì hệ số phản xạ, và hệ số khúc xạ tương ứng là , và r ║ Fresnel đã
đưa ra các công thức để xác định các hệ số này như sau:
Theo công thức (1.12) và ta có cường độ thông lượng ánh sáng phụ thuộc vào
bình phương biên độ sóng do đó khi tính bình phương các tỷ lệ trên ta sẽ thu được hệ
số phản xạ và hệ số truyền qua tương ứng Trong trường hợp ánh sáng là không phân
cực, có nghĩa hướng điện (từ) trường là ngẫu nhiên hệ số phản xạ của ánh sáng sẽ
được tính là trung bình của hệ số phản xạ trong hai trường hợp song song và vuông
n1 cos t 2
Trang 31Hình 1.17 Phản xạ tại bề mặt giữa kính và không khíNhững công thức phía trên mô tả hệ số phản xạ, truyền qua tại một bề mặtphẳng trơn tuyệt đối Tuy nhiên trong thực tế tất cả các bề mặt đều là xấp xỉ, do đó ánhsáng phản xạ và khúc xạ theo mọi hướng trong bán cầu đến tại điểm đang xét Trongtrường hợp này bề mặt được giả định là được cấu thành từ những khu vực phẳng nhỏ,
nơi mà (1.17)-> (1.21) có thể áp dụng Hệ số phản xạ của toàn bộ bề mặt phụ thuộc
vào các hệ số cố định của các hướng trên từng bề mặt
1.2.4 Nguồn sáng và phân loại nguồn sáng
Nguồn sáng là mọi thứ bức xạ ra ánh sáng, muốn quan sát được các sự vậttrong thế giới phải có nguồn sáng Trong thế giới tự nhiên có nhiều nguồn sáng khácnhau như: Mặt trời, đốm lửa, bóng điện, đèn, nến hoặc nguồn sáng không trực tiếpnhư gương, các vật kim loại bóng khi bị chiếu sáng vv… Vậy ta có thể phân loạinguồn sáng theo nhiều tiêu chí khác nhau ví dụ như: Phân loại theo tiêu chí khả năngphát sáng ta có thể chia làm hai loại như sau:
Nguồn phát sáng: là các nguồn sáng tự phát ra tia sáng ví dụ như mặt trời,
bóng đèn, ngọn nến vv Trong đồ họa 3D thời gian thực chúng ta chỉ xét đến loại nguồn
sáng này mà thôi
Nguồn sáng phản chiếu: là nguồn sáng mà ánh sáng xuất phát từ đó là ánhsáng phản xạ của các nguồn phát khác Ví dụ gương hoặc mặt nước, các vật kim
Trang 32loại có độ bóng cao vvv… Trong nguồn sáng loại này cũng có thể phân thành cácdạng khác nhau như nguồn sáng phản xạ lập tức, hay nguồn huỳnh quang, nguồnlân quang vv…
Khi phân loại nguồn sáng dựa trên tiêu chí kích thước, không gian, và phạmchiếu sáng, chúng ta có thể phân nguồn sáng thành các loại như sau (đây chính là cách
phân loại nguồn sáng của hầu hết các hệ thống render):
Nguồn sáng điểm (point light): là nguồn phát sáng từ một điểm duy nhất
trong không gian, hướng phát sáng của nguồn sáng là toàn bộ hình cầu hướng bao quanh
điểm đó, cường độ sáng tại mọi hướng là như nhau Từ công thức (1.9) ta
tính được cường độ sáng của loại nguồn sáng này là I 4
Vì nguồn sáng xuấtphát từ một điểm, và tới mọi hướng khác nhau trên toàn bộ hình cầu hướng, theo
đặc tính góc khối (trình bày trong phần 1.2.2.) có thể khẳng định rằng: một điểm
bất kỳ trên bề mặt sẽ nhận được một mức năng lượng tỷ lệ nghịch với bìnhphương khoảng cách từ nó tới điểm phát
Nguồn sáng song song (direction light): đây là một loại nguồn sáng đặc
biệt, các tia sáng được chiếu đi song song với nhau do đó tại mọi điểm sẽ nhận được mộtlượng năng lượng như nhau Mặt trời có thể là một ví dụ điển hình cho loại nguồn sángnày, người ta cũng tạo ra nhiều loại nguồn nhân tạo nhằm chiếu ánh sáng đi xa ví dụ đènpha, đèn pin vv
Nguồn sáng điểm nhưng bị giới hạn phạm vi phát theo một hướng, một
góc khối nhất định (spot light).
Đó là ba loại nguồn sáng sử dụng rất phổ biến trong mô hình render sử dụng
thiết bị tăng tốc đồ họa Còn có một số loại nguồn sáng không phổ dụng khác nhưnguồn sáng phát từ một đối tượng, nguồn sáng song song có hạn chế ví dụ một nguồnsong song chỉ chiếu trong một khu vực hình trụ vv Tuy vậy, do yêu cầu tốc độ và đặc
tính phức tạp của các dạng nguồn sáng này nên trong đồ họa 3D người ta hầu như chỉ
sử dụng ba loại nguồn sáng trên mà thôi [6], [7]
1.2.5 Phương trình tô bóng
Các phần nội dung trên đã trình bày, mô tả các thuộc tính của bề mặt, các hàmthể hện mối quan hệ giữa ánh sáng tới, ánh sáng phản xạ, và khúc xạ tại bề mặt, từ đóchúng ta có thể thể hiện sự chiếu sáng của một cảnh thông qua một phương trình đặctrưng cho tất cả các sự phản xạ trong cảnh, phương trình này được gọi là phương
trình tô bóng (nhiều lúc được gọi là phương trình render) Phương trình tô bóng được
Kajiya đưa ra lần đầu tiên vào năm 1986:
Trang 33L0 (x, 0 ) L e (x, f r (x, 0 ).L i (x, )d i (1.22)
0 )
(n )
Cường độ bức xạ L 0 tại một điểm x theo một hướng 0 được tính bằng cường độ
bức xạ L e phát ra (trong trường hợp bề mặt là một nguồn phát, nếu không L e là 0) cộng
với cường độ bức xạ phản xạ khi bề mặt được chiếu sáng bởi các nguồn sáng
Do sử dụng hàm BRDF nên có một số vấn đề trong phương trình tô bóng trên,
như đã trình bày trong mục (1.2.3.), đó là nó không có khả năng thể hiện được các
hiệu ứng như huỳnh quang, lân quang, truyền qua một môi trường truyền không phải
là chân không vv…
Phương trình bóng (1.22) đặc trưng cho các phản xạ mang tính toàn cục (chiếu
sáng toàn cục), do đó về mặt lý thuyết nó cũng có thể sử dụng để tính toán cho cả việc
chiếu sáng từ các nguồn gián tiếp trong cảnh Tuy nhiên khi xét đến sự chiếu sáng từ
các nguồn gián tiếp độ phức tạp tính toán của hệ thống sẽ là vô cùng lớn, không có khả
năng đáp ứng thời gian thực, do đó đa số các thiết bị tăng tốc đồ họa ngày nay chỉ hỗ
trợ cho 3 loại nguồn sáng đơn giản (trình bày trong mục 1.2.4.) Nếu chỉ với ba loại
nguồn sáng này chúng ta có thể viết lại công thức (1.22) dưới dạng đơn giản hơn như
sau:
L0 (x, 0 ) L e (x, 0 ) n f r (x, i 0 ).g(x, i).I i (x, i ) cos(n, i ) (1.23)
Trong đó I j là cường độ của nguồn sáng thứ j, và g I j là cường độ bức xạ tại điểm x
cho bởi nguồn sáng thứ j Với nguồn sáng điểm (point light), và (spot light) ta có g=w/
r 2 , với nguồn sáng song song g là hằng số: g=w/m 2 , với w là công suất phát sáng của
nguồn sáng tính bằng (W), r là khoảng cách từ điểm trên bề mặt tới điểm phát sáng, m 2
là diện tích hình chiếu cắt vuông góc với hướng chiếu sáng, thông thường g được cho
là hằng số Lưu ý với công thức (1.22) và g được cho như trên có nghĩa chúng ta đã
giả định rằng mọi điểm trên bề mặt đều được chiếu sáng, hay nói cách khác là chúng
đều nhìn thấy nguồn sáng mà không bị che khuất bởi bất kỳ điểm nào Tuy vậy cũng
có thể xử lý để thể hiện được hiệu ứng bóng đổ nếu chúng ta chuyển g thành g * (x,i)=
g(x,i)*v(x,i), trong đó v(x,i) bằng 0 nếu tại điểm x không quan sát được nguồn sáng i,
và bằng 1 trong trường hợp ngược lại [6], [7]
Trang 34Chương 2:
MỘT SỐ HIỆU ỨNG BÓNG - ÁNH SÁNG TRONG ỨNG DỤNG THỰC TẠI ẢO
2.1 HIỆU ỨNG BÓNG BỀ MẶT
Hiệu ứng bóng bề mặt xảy ra khi ánh sáng đến bề mặt, và phản xạ khuếch tántheo các hướng khác nhau trở lại môi trường, trong đó có một phần đến được mắt(điểm quan sát) Như vậy việc tính, thể hiện hiệu ứng bóng bề mặt chính là việc tínhcường độ bức xạ từ điểm trên bề mặt đối tượng khi nó được chiếu sáng bởi các nguồnsáng khác nhau đến điểm quan sát
Ta biết rằng mô hình BRDF là mô hình phân phối phản xạ hai chiều phổ biến
nhất hiện nay, mặc dù nó phản ánh được gần như đầy đủ hiệu ứng phản xạ của ánh
sáng tại bề mặt (Hiệu ứng bóng bề mặt) Tuy nhiên ứng dụng BRDF trực tiếp cho mọi
loại đối tượng là công việc không khả thi, vì các tham số của hàm này là lớn và không
dễ dàng lấy mẫu, và dù cho việc lấy mẫu là dễ dàng đi chăng nữa thì việc lưu trữ, và
xử lý cho từng điểm cũng vẫn là công việc vô cùng phức tạp Do đó, người ta phânhiệu ứng ánh sáng tại bề mặt thành các lớp hiệu ứng cụ thể khác nhau theo tiêu chí sao
cho giá trị BRDF tương ứng sử dụng ít tham số, các tham số phải đơn giản trong việc
hiệu chỉnh, hoặc có thể chọn bằng cách ước lượng tự động Dưới đây là các lớp môhình phản xạ phổ biến, đặc trưng cho các lớp hiệu ứng bóng bề mặt cơ bản
Hình 2.1 Các hướng đến, đi của tia sáng, hướng nhình vàcác hướng liên quan tại một điểm trên bề mặt
Trang 35Hình 2.1 định nghĩa các vector cơ bản mà chúng ta sẽ sử dụng trong toàn bộ
mục này Trong đó n là vector pháp tuyến của mặt phẳng tại điểm đang xét, v là
vector hướng quan sát, l là hướng chiếu sáng, h (v l ) / v l trung bình của hướng
là hướng phản xạ của ánh sáng (hàmnhìn và hướng chiếu sáng, r 2 * dot(l , n) * n l
dot là tích vô hướng của 2 vector), t là tiếp tuyến tại điểm đang xét, tiếp tuyến là
vuông góc với pháp tuyến do đó t có thể xác định là các vector vuông góc với pháp
tuyến tại điểm quan sát
2.1.1 Ánh sáng nền (Ambient)
Bằng cách xem xét một nguồn sáng gián tiếp, giả định rằng vật thể của chúng ta
được chiếu sáng bằng nguồn sáng gián tiếp không xuất phát từ một nguồn sáng riêng
biệt nào, mà xuất phát từ mọi hướng, đây được gọi là ánh sáng nền (background), ánh
sáng được phản chiếu từ tường, sàn, trần vv Ta giả sử ánh sáng là đồng bộ và cùng
như nhau ở mọi nơi trong mọi chỗ, không có những chùm sáng, không có hướng đặc
biệt nào được ưu tiên Giả sử ánh sáng chiếu ở mọi hướng tới bề mặt là như nhau
như vậy mọi điểm trên bề mặt sẽ nhận được một lượng ánh sáng như nhau
Giả sử nếu một ít trong số năng lượng đó bị hấp thụ bởi bề mặt trong khi số còn
lại sẽ được tái phát sáng (phản xạ lại môi trường), tỷ lệ giữa lượng ánh sáng được
phản chiếu từ bề mặt và toàn bộ ánh sáng đến gọi là hệ số phản chiếu (hệ số phản xạ)
Mỗi bề mặt mầu trắng sẽ phản chiếu trở lại gần như toàn bộ năng lượng mà nó nhận
được, hệ số phản chiếu của nó gần tới 1 Mặt khác, bề mặt có mầu đen lại hấp thụ gần
hết lượng ánh sáng chiếu đến, hệ số phản chiếu của nó sẽ gần bằng 0 Một bề mặt mầu
xám sẽ có hệ số phản chiếu nằm trong khoảng giữa của hai bề mặt có mầu nói trên
Hầu hết các vật thể phản chiếu một số mầu của ánh sáng tốt hơn một số mầu khác
(điều này là do mức năng lượng của từng mầu là khác nhau và hệ số hấp thụ tương
ứng với từng mức năng lượng của bề mặt là khác nhau) Ví dụ một vật thể có hệ số
phản chiếu cao đối với ánh sáng mầu đỏ và thấp với các mầu còn lại, nếu ta chiếu sáng
vật thể bằng ánh sáng trắng (ánh sáng có lượng mầu cân bằng giữa các thành phần),
khi đó phần ánh sáng mầu đỏ sẽ được phản chiếu từ vật thể nhiều hơn trong khi đó
phần ánh sáng còn lại lại bị hấp thụ nhiều hơn, do đó ta sẽ quan sát được vật thể có
mầu đỏ Nếu ta sử dụng một biểu đồ thể hiện mầu để biểu diễn, tạo bởi từng mầu thành
phẩn (đỏ, xanh lục, xanh lam), ta sẽ phải chỉ ra 3 giá trị hệ số tương ứng cho 3 thành
phần mầu Nhưng để đơn giản hãy thử xem xét việc biểu diễn mầu sắc là mức xám
Vậy xét một bề mặt với hệ số phản xạ đồng nhất k a lượng ánh môi trường là đồng đều
khi đó cường độ của một điểm trên bề mặt được tính theo công thức sau:
(2.1)
L0 (x, v ) k a I a