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ể
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át triể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áng lạ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ình cũng như phương pháp nào phù hợp cho mọi đối tượng, mọi hiệu ứng Do đó, việc tì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ột việ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ói riê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ự, du lị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 gian thự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ác quan 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 ứng tươ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 8
Hì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ên cứ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ãi trong 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ày củ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:
Xây dựng và thiết kế kiến trúc
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í hoa vă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ự do tham 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ạng trong 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
Giáo dục và Đào tạo
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ện diệ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ột phươ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ốn ké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âng cao 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ái niệ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
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ọc nà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 cho phé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ác phương pháp truyền thống như thực hành trên mô hình plastic hay trên bệnh nhân thự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 sinh thể 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 cho họ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ên trong 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ép cá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ới trong đ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ểu sai lầm rủi ro đáng tiếc xảy ra
Thương mại - Du lịch
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í
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ài chí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 theo cá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ông nghệ đồ 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, bao gồ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ữa ngườ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ống thự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ây dự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ất khả 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 ảo dự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êu cầ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 trong lĩ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át triể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 định bà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 khai chươ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ày phả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ân vai, 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ân tí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ừng nhâ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ên dụ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ình họ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 được cô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ến thứ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ủa luậ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 - ánh sá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 trong suố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ài bướ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ực nghiệ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ình họ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ố quy luậ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ét mộ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áng cũ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ụng phổ 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
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ói tớ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ểm cho 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óc khố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 cho trướ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óc khố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 1.14) Ta có:
d d
r d r d r
2dsin
Năng lượng bức xạ (Radiant Energy)
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ạ (Irradiance) và độ tỏa sáng(Radiant Exitance)
Độ 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:
d x
L x
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ạ (Radiance)
Cường độ bức xạ là một phép đo phóng xạ, nó đặc trưng cho lượng ánh sá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:
cos ) , ( ) , , (
d dA
d x
L x
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)
Cường độ sáng (Intensity)
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ạ được phá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à
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 sáng là : I 4
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:
d x
L
x L x
E
x L x
f
i i
i i i
r
cos ).
, (
) , ( )
, (
) , ( ) ,
Đơ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à BTDF được gọi là hàm phân phối tán xạ hai chiều (bidirectional scattering distribution function ký biệu là BSDF)
Trang 24Mặ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ảng thờ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áng truyề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 ( i
,
0 ) 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 25)) , ( ) , ( , ( )) ,
( ) ,
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 đến:
i
d
d 0
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 26(
0 0
, (
) ,
( ) ,
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, một tia là tia phản xạ (r), tia còn lại là tia khúc xạ (t) Quan hệ giữa tia phản xạ và tia tới cho bởi đẳng thức: l r (quy tắc phản xạ) Trong khi đó quan hệ giữa tia khúc
xạ và tia tới là: n1sin l n2sin t (luật Snell)
Hình 1.16 Phản xạ và khúc xạ trên một bề mặt phẳng
Trang 27Câ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:
t l
t l
n n
n n
cos cos
cos cos
2 1
2
t l
t l
n n
n n
cos cos
cos cos
1 2
1
t l
t l
n n
n n
r
cos cos
cos cos
2 1
2
t l
l
n n
n r
cos cos
cos 2 1 2
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 góc:
2
) ( )
2
)()(.cos
Hình 1.17 là biểu đồ thể hiện hệ số phản xạ của ánh sáng không phân cực cho
bề mặt tiếp xúc giữa không khí có chiết xuất (n1≈1), và môi trường kính có chiết xuất (n≈1.5)
Trang 28Hì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ặt phẳ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 đó ánh sá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 Trong trườ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ật trong 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ác nhau 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ếp như 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ại nguồ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ăng phá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à ánh sá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 29loại có độ bóng cao vvv… Trong nguồn sáng loại này cũng có thể phân thành các dạng khác nhau như nguồn sáng phản xạ lập tức, hay nguồn huỳnh quang, nguồn lâ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ạm chiế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ất phá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ình phươ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ột lượ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áng nà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ụ đèn pha, đè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ồn song 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àm thể 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 đặc trư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 30) (
0 0
0
n
i i i i
i i
r
L x
đượ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:
n i
i i
i i
r
L x
L
1
0 0
0
0 ( , ) ( , ) ( , ) ( , ) ( , ) cos(, ) (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 31Chươ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án theo 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ính cườ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ồn sá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ân hiệ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 32Hì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 nhìn và hướng chiếu sáng, r 2 *dot(l,n) *n l là hướng phản xạ của ánh sáng (hàm
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
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:
a
a I k v
x
Trang 33Đây là một mô hình chiếu sáng đơn giản nhất, nó không phản ánh đúng các quy luật vật lý, nhưng lại rất có ý nghĩa trong việc xấp xỉ sự chiếu sáng của toàn cảnh Thông thường người ta không sử dụng độc lập mô hình ánh sáng nền, mà kết hợp nó với các
mô hình ánh khác để tạo nên các mô hình bóng bề mặt phù hợp với các lớp đối tượng khác nhau trong thực tế
2.1.2 Sự phản xạ sáng khuếch tán (Diffuse)
Trong tự nhiên, đặc biệt là trong những cảnh kiến trúc, có nhiều loại vật liệu mà lượng sáng phản xạ là gần như nhau từ tất cả hướng nhìn Điều này có nghĩa là khi ta chiếu ánh sáng đến một điểm trên bề mặt thì ánh sáng sẽ được phản xạ như nhau trên
toàn bộ bán cầu hướng của điểm đó Loại phản xạ này được gọi là phản xạ diffuse hoặc phản xạ Lambertian Với loại bề mặt như vậy giá trị BRDF của bề mặt là một hằng
cường độ sáng mặc nhiên phải nhân một hệ số là số π
Theo công thức (1.23), (2.2) có thể đưa ra công thức tính toán cường độ bức xạ phản xạ cho một điểm trên bề mặt Diffuse như sau:
n
k v x
L
1
) , cos(
).
, ( ).
, ( )
,
Trong đó L ( v x,) là cường độ bức xạ Diffuse tại một điểm x trên bề mặt theo một
hướng quan sát v, k d là hệ số phản xạ Diffuse, I i là cường độ ánh sáng của nguồn sáng thứ i, các thành phần còn lại đã được giải thích trong công thức (1.23)
Thông thường, người ta sử dụng kết hợp hai mô hình Ambient và Diffuse để tạo
ra mô hình chiếu sáng bề mặt cho các loại đố tượng có độ trơn, bóng tại bề mặt không cao, ví dụ vải, gỗ, tường, vv… Công thức tính cường độ sáng cho mô hình kết hợp này
dễ dàng suy ra được bằng cách kết hợp hai công thức (2.1) và (2.3), có thể viết cụ thể
L
1
) ,