Tải bản đầy đủ (.pdf) (66 trang)

Nghiên cứu kỹ thuật tạo bóng bề mặt của vật thể và ứng dụng (Luận văn thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2 MB, 66 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

PHẠM THỊ PHƯƠNG NGA

NGHIÊN CỨU KỸ THUẬT TẠO BÓNG BỀ MẶT
CỦA VẬT THỂ VÀ ỨNG DỤNG
Ngành: Khoa học máy tính.
Mã số: 8 48 01 01.

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS. Vũ Đức Thái

Thái Nguyên năm 2020


i
LỜI CAM ĐOAN
Tên tôi là: Phạm Thị Phương Nga
Sinh ngày: 08/10/1979
Học viên lớp cao học CHK17A - Trường Đại học Công nghệ Thông
tin và Truyền thông - Đại học Thái Nguyên.
Hiện đang công tác tại: Trường THCS Quang Sơn - Đồng Hỷ - tỉnh
Thái Nguyên.
Xin cam đoan: Đề tài “ Nghiên cứu kỹ thuật tạo bóng bề mặt của vật thể
và ứng dụng”, do TS. Vũ Đức Thái hướng dẫn là cơng trình nghiên cứu
của riêng tơi. Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng.
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như


nội dung trong đề cương và u cầu của thầy giáo hướng dẫn. Nếu sai tơi
hồn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật.
Thái Nguyên, ngày 17 tháng 09 năm 2020
Tác giả luận văn

Phạm Thị Phương Nga


ii
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn TS. Vũ Đức Thái, là thầy giáo trực tiếp
hướng dẫn khoa học cho tơi trong q trình thực hiện luận văn này.
Tơi xin chân thành cảm ơn các Thầy, Cô giáo, cán bộ trong trường
Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên cùng
các anh chị đồng nghiệp trong cơ quan đã tạo những điều kiện thuận lợi cho
tơi học tập và nghiên cứu hồn thành chương trình học tập và thực hiện luận
văn tốt nghiệp
Tơi xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp
Cao học Khoa học máy tính CK -17A, trường Đại học Công nghệ Thông tin
và Truyền thông – Đại học Thái Nguyên đã luôn động viên, giúp đỡ và nhiệt
tình chia sẻ với tơi những kinh nghiệm học tập, cơng tác trong suốt khố học.
Cuối cùng, tơi muốn gửi lời cảm ơn tới gia đình, bạn bè, những người
thân luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện luận văn
tốt nghiệp.
Mặc dù rất cố gắng, song luận văn này không thể tránh khỏi những
thiếu sót, kính mong được sự chỉ dẫn của các quý thầy cô và các bạn.
Thái Nguyên, ngày 17 tháng 9 năm 2020
Học viên

Phạm Thị Phương Nga



iii
MỤC LỤC
Lời cam đoan ................................................................................................. i
Lời cảm ơn .................................................................................................... ii
Mục lục ........................................................................................................ iii
Danh mục hình ảnh......................................................................................iv
MỞ ĐẦU ........................................................................................................ 1
1. Lý do chọn đề tài ........................................................................................ 1
2. Mục tiêu ...................................................................................................... 4
3. Đối tượng và phạm vi nghiên cứu của đề tài .............................................. 4
Chương 1. TỔNG QUAN VỀ MÔ PHỎNG VÀ BÀI TỐN HIỂN THỊ
MƠ HÌNH BĨNG BỀ MẶT ......................................................................... 5
1.1. Tổng quan về thực tại ảo.......................................................................... 5
1.1.1.Thực tại ảo là gì ..................................................................................... 5
1.1.2. Lịch sử phát triển của thực tại ảo ......................................................................5
1.1.3 .Ứng dụng của thực tại ảo ..................................................................................6

1.2. Mơ hình 3D trong thực tại ảo ................................................................... 6
1.3. Vai trò của việc mơ phỏng khơng gian 3D ............................................ 10
1.4. Mơ hình hóa mơ hình 3D ....................................................................... 11
1.4.1. Hệ trục tọa độ...................................................................................... 12
1.4.2. Kỹ thuật hiển thị mơ hình Bump Mapping. ........................................ 13
1.4.3. Kỹ thuật xử lý ảnh hoa văn ................................................................. 19
1.4.4. Kỹ thuật Ánh xạ bề mặt chạm nổi...................................................................20
1.4.5. Kỹ thuật sử dụng môi trường ánh xạ bump mapping .....................................20

Chương 2. MỘT SỐ KỸ THUẬT HIỂN THỊ BỀ MẶT CỦA VẬT THỂ
3D ................................................................................................................. 22

2.1. Kỹ thuật chiếu sáng ............................................................................... 22
2.2. Hiệu ứng ánh sáng ................................................................................. 24


2.2.1.Các hiệu ứng ánh sáng .....................................................................................24

2.3.Thuật tốn chiếu sáng tồn cục ............................................................... 28
2.3.1.Một số thuật tốn chiếu sáng tồn cục .............................................................28

2.4.Kỹ thuật chiếu sáng cục bộ ..................................................................... 32
Chương 3. MÔ PHỎNG TÁC ĐỘNG ÁNH SÁNG LÊN BỀ MẶT VẬT
THỂ .............................................................................................................. 44
3.1. Phân tích các yêu cầu hệ thống .............................................................. 44
3.2. Phân tích chi tiết .................................................................................... 45
3.2.1. Phân tích hình ảnh .............................................................................. 45
3.2.2. Phân tích chức năng người dùng ......................................................... 46
3.2.3.Phân tích các yêu cầu biểu diễn ........................................................... 47
3.3 . Thiết kế các thuật toán .......................................................................... 49
3.3.1.Thuật toán xác định hướng ánh sáng trong mơi trường ....................... 49
3.3.2. Thuật tốn tính toán tương tác giữa các vật thể khi xoay.................... 50
3.4. Thiết kế giao diện .................................................................................. 51
KẾT LUẬN.................................................................................................. 57
TÀI LIỆU THAM KHẢO .......................................................................... 58
PHỤ LỤC


iv

DANH MỤC HÌNH ẢNH


Hình 1.1. Một hình ảnh kết quả thực nghiệm ................................................. 10
Hình 1.2. Hệ trục tọa độ Trục ......................................................................... 12
Hình 1.3. Bề mặt đá tại nhà thờ đá Phát Diệm................................................ 14
Hình 1.4. Cây đổ bóng .................................................................................... 15
Hình 1.5. Khơng gian tiếp tuyến ..................................................................... 17
Hình 1.6. Sự phản xạ của tia sáng trên bề mặt ............................................... 18
Hình 2.1. Nguyên tắc đặt đèn trong trưng bày ................................................ 23
Hình 2.2. Minh họa q trình sinh và dị tia của ray tracing .......................... 29
Hình 2.3. Các bước xử lý trong giải thuật Ray tracing ................................... 30
Hình 2.4. So sánh giữa Scan line và ray tracing ............................................. 31
Hình 2.5. Chiếu sáng bằng photon mapping ................................................... 32
Hình 2.6. Các bước xử lý trong giải thuật Scan line. ...................................... 33
Hình 2.7. MAX cung cấp ba loại điều chỉnh điểm chốt ................................ 38
Hình 2.8. Use Selection Center (tâm của tập chọn) ....................................... 39
Hình 2.9. Transform Coordinate Center (tâm của hệ tọa độ phép biến đổi) .. 39
Hình 2.10. Trước khi Occlusion Culling. ....................................................... 40
Hình 2.11. Dung lượng phát triển bóng Culling. ........................................... 42
Hình 2.12. Một ảnh hoa văn phức tạp ............................................................. 43
Hình 3.1. Một số vật thể trưng bày ................................................................. 45
Hình 3.2. Bề mặt vật thể trong suốt ................................................................ 46
Hình 3.3. So sánh ảnh bị nhiễu sáng và đã chỉnh sửa ..................................... 46
Hình 3.4. Biểu đồ Use case ............................................................................. 47
Hình 3.5. Sơ đồ phân tích ............................................................................. 48
Hình 3.6. Mơ hình thuật tốn xác định hướng ánh sáng trong mơi trường .... 49
Hình 3.7. Sơ đồ khối của phương pháp tích phân số hỗn hợp ........................ 51
Hình 3.8. Biểu diễn hiện vật Trống với hướng chiếu sáng từ trên xuống ...... 53
Hình 3.9. Biểu diễn hiện vật Bình với hướng chiếu sáng từ trên xuống ........ 54
Hình 4.0. Biểu diễn hiện vật Cồng với hướng chiếu sáng từ trên xuống ...... 55
Hình 4.1. Biểu diễn hiện vật Giỏ với hướng chiếu sáng từ trên xuống ......... 56



1
MỞ ĐẦU
1. Lý do chọn đề tài
Trưng bày ảo là một lĩnh vực đã và được ứng dụng trong giải quyết nhiều
vấn đề của đời sống thực tế. Trong bảo tàng, trưng bày ảo được ứng dụng để tạo
ra các phịng trưng bày ảo, qua đó khách tham quan có thể đến bảo tàng, xem và
hiểu biết thông tin về các hiện vật, v.v. của bảo tàng mà không cần đến tận nơi.
Trong thương mại, đặc biệt là thương mại điện tử, trưng bày ảo là nơi cho phép
các nhà sản xuất, nhà kinh doanh, v.v. giới thiệu quảng bá sản phẩm của mình
đến người tiêu dùng một cách đầy đủ và chính xác. Trong lĩnh vực văn hóa nghệ
thuật, trưng bày ảo chính là một cơng cụ hữu hiệu để các nghệ sỹ giới thiệu và
quảng bá sản phẩm tinh thần của mình đến với độc giả. Trong hầu hết các lĩnh
vực của thực tế chúng ta đều có thể tìm thấy một vấn đề có thể ứng dụng, sử
dụng trưng bày ảo như là một công cụ trực tiếp hoặc gián tiếp để giải quyết vấn
đề đó. Thời gian gần đây với sự phát triền mạnh mẽ của các công nghệ Thực tại
ảo, Thực tại ảo trộn, Thực tại tăng cường, đã tạo một khả năng phát triển mạnh
mẽ cho việc phát triển và ứng dụng của trưng bày ảo. Với sự hỗ trợ của các công
nghệ mới này, người ta có thể đưa những hiện vật ảo ra ngồi khơng gian thực
để người tham quan có thể xem thậm chí là tương tác và sử dụng hiện vật ảo đó
như thật. Qua đó, giải quyết được nhiều vấn đề như: thiếu hiện vật, bảo quản
hiện vật trong bảo tàng hoặc các vấn đề về kinh tế (chi phí làm sản phẩm mẫu)
trong thương mại.
Để xây dựng các ứng dụng thực tế sử dụng công nghệ trưng bày ảo có
rất nhiều vấn đề được đặt ra cần nghiên cứu và giả quyết ví dụ như: vấn đề về
xây dựng và tối ưu hóa mơ hình để có thể sử dụng được, vấn đề về quản lý
thông tin bao gồm cả các thơng tin về vị trí trưng bày của từng hiện vật, vấn
đề về tính tốn va chạm gi ữa hiện vật ảo với môi trường thật, v.v.
Vấn đề quan trọng nhất trong các ứng dụng đồ họa ba chiều thời gian thực
nói chung và trong các ứng dụng trưng bày ảo nói riêng là tạo ra những hình ảnh

chân thật. Để có được những hình ảnh như vậy điều quan trọng là tính tốn được


2
các tác động của môi trường lên biểu diễn bề mặt đối tượng. Các tác động của
môi trường lên bề mặt đối tượng có thể phân thành hai loại chính: một là các tác
động không làm thay đổi bản chất bề mặt của đối tượng mà chỉ làm thay đổi
hình ảnh từ người quan sát; hai là các tác động làm thay đổi kết cấu, tính chất,
đặc điểm bề mặt thậm chí là đặc điểm hình học của đối tượng.
Với loại thứ nhất, thể hiện các tác động làm thay đổi hình ảnh quan sát
của đối tượng. Việc tính tốn các tác động này về bản chất, chính là quá trình
kết xuất ảnh hai chiều từ đối tượng, góc quan sát và các điều kiện mơi trường,
tồn bộ q trình này được gọi là (Rendering) [7, 22]. Trong Rendering ngoài
yếu tố nội tại của đối tượng, ánh sáng là yếu tố quan trọng và có ảnh hưởng
nhiều đến việc biểu diễn bề mặt đối tượng, đây là yếu tố mà mọi ứng dụng ba
chiều đều không thể bỏ qua. Việc tính tốn ảnh hưởng của ánh sáng lên biểu
diễn bề mặt đối tượng được thể hiện thông qua hai hiệu ứng chính đó là hiệu
ứng bóng bề mặt (Shading) và hiệu ứng bóng đổ (Shadow).
Nghiên cứu về bóng bề mặt là các nghiên cứu cơ bản và quan trọng trong
đồ họa ba chiều thời gian thực. Có nhiều kỹ thuật tơ bóng đã được đề xuất và
đang được sử dụng rộng rãi hiện nay có thể kể đến như kỹ thuật tơ bóng
Gouraud [7] được đề xuất năm 1971 đây chính là kỹ thuật nền tảng cho mọi
kỹ thuật tiếp theo; kỹ thuật tơ bóng Phong [12] và Phong Blinn [2] là hai kỹ
thuật được cài đặt và sử dụng rộng rãi nhất hiện nay.
Ngoài các kỹ thuật trên hiện nay các kỹ thuật sử dụng bản đồ phụ trợ
như Normal Mapping, Parallax Mapping, Displacement Mapping [5, 16, 18]
nhằm làm tăng độ chi tiết của bề mặt đối tượng nhưng không làm thay đổi số
lượng đa giác biểu diễn cũng đang được sử dụng rộng rãi.
Vấn đề tơ bóng là vấn đề kinh điển và đã được nghiên cứu từ rất lâu tuy
nhiên do phải đáp ứng yêu cầu thời gian thực nên việc tơ bóng cho các đối

tượng như như lơng, tóc, khói, mây, các đối tượng lỏng, v.v. hoặc việc thể
hiện các hiệu ứng gương, khúc xạ, thấu kính, v.v. là những vấn đề khó và tiếp
tục được nghiên cứu. Các cơng trình nghiên cứu tiêu biểu có thể xem trong
các tài liệu tham khảo [9, 10, 11, 14, 20] .


3
Một trong những vấn đề quan trọng cần nghiên cứu để xây dựng các ứng
dụng trưng bày ảo đó là ảnh hưởng của môi trường đến biểu diễn bề mặt đối
tượng đặc biệt là ảnh hưởng của ánh sáng thông qua các nguồn sáng đến biểu
diễn bề mặt đối tượng. Ảnh hưởng của nguồn sáng lên biển diễn bề mặt đối
tượng như đã biết gồm hai phần chính do là ảnh hưởng đến việc hiển thị đối
tượng và ảnh hưởng thứ hai là làm thay đổi bề mặt đối tượng. Ảnh hưởng của
nguồn sáng lên hiển thị đối tượng thông qua chiếu sáng là việc khơng thể
thiếu được vì phải có chiếu sáng thì mời có đồ họa ba chiều và trưng bày ảo
đồng thời trưng bày ảo có một số đặc điểm riêng biệt của nó vì vậy nghiên
cứu về chiếu sáng và chiếu sáng trong trưng bày ảo là một vấn đề cần thiết.
Trên thực tế các đối tượng thay đổi theo thời gian do đó nghiên cứu ảnh
hưởng của nguồn sáng và các điều kiện môi trường đến bề mặt đối tượng
khơng chỉ có tác đụng làm tăng chất lượng hình ảnh của ứng dụng trưng bày
ảo mà các kết quả nghiên cứu này cịn có thể sử dụng làm công cụ để trợ giúp
cho việc trưng bày đối tượng thực làm để cho chúng ít bị thay đổi, phá hủy
theo thời gian dưới sự tác động của ánh sáng và môi trường.
Nhận biết được sự quan trọng đó, với mục đích mơ phỏng được sự ảnh
hưởng của các nguồn sáng vào biểu diễn bề mặt của đối tượng ba chiều trên
cơ sở đó phát triển hệ thống trưng bày ảo các hiện vật ảo ba chiều. Mục tiêu
cụ thể là nghiên cứu các kỹ thuật chiếu sáng và hiệu ứng bóng bề mặt của vật
thể trưng bày trong không gian ba chiều
Tôi đã lựa chọn đề tài:” Nghiên cứu kỹ thuật tạo bóng bề mặt của vật
thể và ứng dụng”. Đề tài nghiên cứu các thuật tốn để cài đặt mơ phỏng cho

một số hiện vật trong Nhà bảo tàng văn hóa các dân tộc Việt Nam tại thành
phố Thái Nguyên.
Ứng dụng kết quả đã nghiên cứu vào xây dựng một phần mềm trưng bày
ảo cho một số hiện vật tại Bảo tàng Văn hóa các dân tộc Việt Nam tại TP Thái
Nguyên với các lý thuyết phân tích về tác động của mơi trường lên hiện vật.


4
2. Mục tiêu
- Nghiên cứu các thuật toán đã và đang được vận dụng tại Việt Nam
và thế giới để khái qt hóa lựa chọn cơng cụ phù hợp nhất cho việc cài đặt.
- Lựa chọn các vật thể và khơng gian thích hợp để phân tích các hình
ảnh thực tiễn làm cơ sở đối chứng cho kết quả cài đặt
- Đánh giá rút kinh nghiệm về thuật toán để có thể cải tiến việc mơ
phỏng tốt hơn.
3. Đối tượng và phạm vi nghiên cứu của đề tài
+ Đối tượng nghiên cứu:
 Đối tượng nghiên cứu là các kỹ thuật chiếu sáng, các kỹ thuật biểu
diễn sự biến đổi của đối tượng dưới sự tác động của ánh sáng và điều kiện
môi trường trong lĩnh vực thực tại ảo và đồ họa ba chiều.
+ Phạm vi nghiên cứu:
 Tập trung nghiên cứu các kỹ thuật tính tốn bản đồ chiếu sáng và
ứng dụng kết hợp bản đồ chiếu sáng cho các ứng dụng trưng bày ảo. Ảnh
hưởng của ánh sáng lên sự biến đổi bề mặt một số loại chất liệu phổ biến
trong lĩnh vực trưng bày ảo.


5
Chương 1
TỔNG QUAN VỀ MƠ PHỎNG VÀ BÀI TỐN HIỂN THỊ

MƠ HÌNH BĨNG BỀ MẶT
1.1. Tổng quan về thực tại ảo
1.1.1.Thực tại ảo là gì
Thực tại ảo (Virtual reality- VR) là một hệ thống mơ phỏng trong đó đồ họa
máy tính được sử dụng để tạo ra một thế giới "như thật". Hơn nữa, 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 (tín hiệu vào) của
người sử dụng (nhờ hành động, lời nói,..). Điều này xác định một đặc tính chính của
VR, đó là tương tác thời gian thực. Thời gian thực ở đây có nghĩa là máy tính có
khả năng nhận biết được tín hiệu vào của người sử dụng và thay đổi ngay lập tức
thế giới ảo. Người sử dụng nhìn thấy sự vật thay đổi trên màn hình ngay theo ý
muốn và bị thu hút bởi sự mô phỏng này. Tương tác và khả năng thu hút của VR
góp phần lớn vào cảm giác đắm chìm, cảm giác trở thành một phần của hành động
trên màn hình mà người sử dụng đang trải nghiệm. Nhưng VR còn đẩy cảm giác
này "thật" hơn nữa nhờ tác động lên tất cả các kênh cảm giác của con người. Trong
thực tế, người dùng khơng những nhìn thấy đối tượng đồ họa 3D nổi, điều khiển
(xoay, di chuyển,..) được đối tượng trên màn hình (như trong game), mà cịn sờ và
cảm thấy chúng như có thật. Ngồi khả năng nhìn (thị giác), nghe (thính giác), sờ
(xúc giác), các nhà nghiên cứu cũng đã nghiên cứu để tạo các cảm giác khác như
ngửi (khứu giác), nếm (vị giác). Tuy nhiên hiện nay trong VR các cảm giác này
cũng ít được sử dụng đến. Như vậy: “Thực tại ảo là công nghệ sử dụng các kỹ thuật
mơ hình hố 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”, [3,4,6,7,8]

1.1.2. Lịch sử phát triển của thực tại ảo
Thực tại ảo là một thuật ngữ mới xuất hiện khoảng đầu thập kỷ 90, nhưng ở
Mỹ và châu Âu VR đã 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 (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



6
(trong dân dụng, qn sự) của nó. VR khơng phải là một phát minh mới, mà ngay từ
năm 1962 Morton Heilig (Mỹ) đã phát minh ra thiết bị mô phỏng SENSORAMA.
Tuy nhiên 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à máy tính (phần cứng). Thuật ngữ “virtual reality – thực tại ảo được đưa ra
bởi Jaron Lanier (người sáng lập công ty VPL Research, tại Redwood – California,
một trong những công ty đầu tiên cung cấp các sản phẩm cho mơi trường ảo).
Sự hình dung liên quan đến các tác động đầu ra mà máy tính tạo ra về thị giác,
thính giác hay các giác quan khác khi người sử dụng tương tác với thế giới bên
trong máy tính. Thế giới này có thể là các mơ hình được thiết kế với sự trợ giúp của
máy tính, là sự mơ phỏng hay là cách nhìn nhận một cơ sở dữ liệu. Hệ thống có thể
có tính động, các mô phỏng vật lý hay các hoạt cảnh.

1.1.3 .Ứng dụng của thực tại ảo
Tại các nước phát triển, chúng ta có thể nhận thấy VR được ứng dụng trong
mọi lĩnh vực: Khoa học kỹ thuật, kiến trúc, quân sự, giải trí, du lịch,... và đáp ứng
mọi nhu cầu: Nghiên cứu- Giáo dục- Thương mại-dịch vụ.
Y học, du lịch là lĩnh vực ứng dụng truyền thống của VR. Bên cạnh đó VR
cũng được ứng dụng trong giáo dục, nghệ thuật, giải trí, du lịch ảo (Virtual Tour),
bất động sản... Trong lĩnh vực quân sự, VR cũng được ứng dụng rất nhiều ở các
nước phát triển. Bên cạnh các ứng dụng truyền thống ở trên, cũng có một số ứng
dụng mới nổi lên trong thời gian gần đây của VR như: VR ứng dụng trong sản xuất,
VR ứng dụng trong ngành rôbốt, VR ứng dụng trong hiển thị thông tin (thăm dị dầu
mỏ, hiển thị thơng tin khối, ứng dụng cho ngành du lịch, ứng dụng cho thị trường
bất động sản....) VR có tiềm năng ứng dụng vơ cùng lớn. Có thể nói tóm lại một
điều: Mọi lĩnh vực "có thật " trong cuộc sống đều có thể ứng dụng "thực tế ảo" để
nghiên cứu và phát triển hoàn thiện hơn [1].

1.2. Mơ hình 3D trong thực tại ảo

Mơ hình 3D hiện đang ngày càng phổ biến và sử dụng rộng rãi trong các ứng
dụng mô phỏng, thực tại ảo. Ta thấy, với các khoảng cách khác nhau trong khi quan
sát chúng ta sẽ thấy các độ chi tiết khác nhau của mơ hình. Điều này có nghĩa các
mơ hình ở gần sẽ rất chi tiết trong khi các mô hình càng ở xa sẽ càng mờ. Để tối ưu


7
tính tốn chúng ta thường phải có sẵn các mơ hình 3D với các mức độ chi tiết khác
nhau. Khi biểu diễn vật ở mỗi khoảng cách nhất định chương trình sẽ gọi và sử
dụng mơ hình với độ chi tiết tương ứng, kỹ thuật này trong thực tại ảo gọi là LOD
(Level Of Detail) . Kỹ thuật này đã được F. Biljecki , H. Ledoux và J. Stoter trình
bày để biểu diễn các mơ hình 3D các tịa nhà năm 2016 [15], Như vậy, mỗi mơ hình
3D phải thiết kế lại nhiều lần với độ chi tiết khác nhau. Điều này dẫn tới thời gian
và chi phí tạo ra mơ hình ra tăng và đồng nghĩa với tổng chi phí cho một hệ thống
trưng bày ảo là lớn. Để giảm chi phí khi xây dựng mơ hình cần áp dụng các chiến
lược tự động tối ưu mơ hình dựa trên khoảng cách quan sát ngay khi chương trình
đang chạy. Quá trình tối ưu này gọi là LOD tự động. Trong đó, độ chi tiết của mơ
hình được tự động tính tốn dựa trên khoảng cách của nó tới vị trí quan sát.
Có ba phương pháp chính để tạo ra mơ hình 3D: Một là sử dụng các phần
mềm thiết kế 3D tạo ra thư viện mơ hình (do các nhà thiết tạo ra). Hai là sử dụng
các lệnh trong ngơn ngữ lập trình để vẽ ra các mơ hình. Ba là sử dụng các thiết bị
máy quét 3D tạo mơ hình từ vật thể thực. Phương pháp dùng lệnh rất vất vả tốn kém
và hầu như khơng cịn được sử dụng nữa. Phương pháp sử dụng các thiết bị phần
cứng là máy qt để tạo mơ hình 3D mang nhiều ưu điểm như thời gian tạo ra một
mơ hình ngắn, độ chính xác cao, tính ổn định, chi phí rẻ v.v.. Tuy nhiên, mơ hình
tạo ra từ máy qt có một nhược điểm chính là số lượng lưới lớn. Do đó, trên thực
tế đa phần các chương trình mơ phỏng thực tại ảo thường sử dụng các mơ hình sinh
ra từ phần mềm thiết kế 3D.
Khi xây dựng ứng dụng, chúng ta cần giải pháp tiết kiệm các chi phí khi xây
dựng mơ hình. Ý tưởng của giải pháp chúng ta chỉ thiết kế mơ hình 3D của đối

tượng một lần duy nhất còn các cấp độ giảm lưới sẽ tự động tạo ra mơ hình mới
tương ứng.
Đầu tiên, ta phải xây dựng các mơ hình hiện vật 3D ở mức độ chi tiết nhất. Sau đó
dựa vào khoảng cách từ mắt người tham quan ảo đến vị trí của hiện vật 3D sẽ tiến
hành rút gọn bề mặt lưới của mơ hình đó. Quy luật là khoảng cách càng xa thì lưới
của mơ hình đó càng giảm. Chúng tơi chia độ chi tiết của mơ hình thành bốn mức từ
LOD1 tới LOD4. Trong đó, lưới mức độ một (LOD1) ở trong khoảng cách gần nhất
với mức mô tả chi tiết nhất, và lưới cấp độ bốn (LOD4) ở khoảng cách xa nhất.


8
Quá trình chuyển từ LOD1 sang thấp hơn là quá trình rút gọn lưới của các
mơ hình trong cảnh của bảo tàng mà chúng tôi mong muốn [2]. Số lưới của mơ hình
cấp độ LOD2 bằng khoảng 50% số lưới của mơ hình cấp độ LOD1, tương tự ta quy
định số lưới LOD3 bằng khoảng 25% số lưới LOD1, và số lưới LOD4 bằng khoảng
12,5% số lưới LOD1. Với việc giảm lưới này thì các mơ hình sẽ bị biến dạng và đơi
khi sẽ khơng cịn là chính mơ hình đó mà biến thành một mơ hình khác và điều này
khơng chấp nhận được. Do đó, chúng ta cần một thuật toán rút gọn lưới hợp lý sao
cho khi chúng ta giảm lưới ở các cấp độ khác nhau thì việc mơ hình bị biến dạng là
thấp nhất. Trong các phần tiếp theo của bài báo chúng tơi trình bày kỹ thuật tối ưu
lưới và kết quả sau quá trình cài đặt ứng dụng trong bài tồn trưng bày ảo.
Có hai dạng bài tốn tối ưu mơ hình 3D thường được nhắc đến trong lĩnh vực
mô phỏng 3D với đầu vào và đầu ra cùng là mơ hình 3D nhưng mang những đặc
điểm khác nhau giữa mơ hình trước tối ưu và sau tối ưu. Thứ nhất, là tối ưu về mặt
hình ảnh. Ở đó, với đầu vào là một mơ hình 3D đã được thiết kế hoặc thu từ máy
quét người xử lý cần nâng cao chất lượng hình ảnh của mơ hình. Khi đó chúng ta
cần chú ý tới việc tối ưu chất lượng hình ảnh hoặc lưới của mơ hình, điều này dẫn
tới các bài tốn xử lý về ánh sáng, góc cạnh để khi render thu được hình ảnh chân
thực nhất có thể. Trên thực tế quá trình tối ưu này dẫn tới một trường phái thiết kế
siêu thực. Ở đó những nhà thiết kế có thể thay thế nhân vật thực bằng nhân vật thiết

kế ảo. Thứ hai, là tối số lượng lưới (mặt và đỉnh trong mơ hình) với bài tốn này
đầu vào là một mơ hình 3D (thường là mơ hình thu được từ máy qt) và đầu ra là
mơ hình đó với số lượng lưới giảm đi nhưng vẫn đảm bảo hình dạng và hình ảnh
của đối tượng khơng thay đổi nhiều giữa trước và sau tối ưu. Trong nội dung luận
văn tập trung vào giải quyết bài toán thứ hai. Tức là nghiên cứu các kỹ thuật làm
giảm lưới mơ hình 3D nhưng vẫn đảm bảo giữ được hình dạng và hình ảnh của đối
tượng sau khi render.
Đồ họa máy tính 3D thường được nói đến là mơ hình (model) 3D. Ngoài các
đồ họa được kết xuất, model được chứa trong các tập tin dữ liệu đồ họa. Tuy nhiên,
có sự khác biệt. Model 3D là đại diện toán học của bất kỳ đối tượng ba chiều. Một
mơ hình khơng phải là một kỹ thuật đồ họa cho đến khi nó được hiển thị. Một mơ
hình có thể được hiển thị trực quan như là một hình ảnh hai chiều thơng qua một
quá trình gọi là kết xuất 3D, hoặc được sử dụng trong mơ phỏng máy tính phi đồ


9
họa và tính tốn. Đồ hoạ 3D đang được nghiên cứu ứng dụng trong mọi lĩnh vực
một cách mạnh mẽ hiện nay là: Khoa học kỹ thuật, kiến trúc, quân sự, giải trí, du
lịch, địa ốc... và đáp ứng mọi nhu cầu: Nghiên cứu - Giáo dục - Thương mại - dịch
vụ. Bên cạnh các ứng dụng truyền thống ở trên, cũng có một số ứng dụng mới nổi
lên trong thời gian gần đây của đồ hoạ 3D như: đồ hoạ 3D ứng dụng trong sản suất,
trong ngành rôbốt, trong hiển thị thơng tin (thăm dị dầu mỏ, hiển thị thơng tin khối,
…) đồ hoạ 3D có tiềm năng ứng dụng vơ cùng lớn. Có thể nói: Mọi lĩnh vực “có
thật” trong cuộc sống đều có thể ứng dụng “thực tế ảo” để nghiên cứu và phát triển
hoàn thiện hơn.
Một lĩnh vực đầy hứa hẹn là việc sử dụng trưng bày ảo 3D trong giáo dục
- giải trí, cụm từ này đang được sử dụng rộng rãi, nó thể hiện cho một nền giáo dục
hiện đại không theo khuôn phép truyền thống, điều đó có nghĩa là vừa có thể học và
vừa có thể giải trí trong khi học sinh đang tham gia một kịch bản nhập vai nào đó
hoặc có thể tham gia một trị chơi... trên thực tế tương tác nhập vai có thể nắm bắt

được sự chú ý của người sử dụng hệ thống, cùng một lúc có thể cung cấp nhiều
thơng tin khơng giống như phương pháp trước đây khi sử dụng hệ thống không phải
là đa phương tiện. Ngoài ra, trưng bày ảo 3D là một cách thể hiện rất hiện đại của
sự tương tác giữa người dùng và máy tính nó khơng dừng lại ở việc người dùng chỉ
sử dụng máy tính với những mục đích cho cơng việc, mà nó cịn mở ra vô vàn
những thứ hấp dẫn khác với người sử dụng hệ thống mà người dùng như đang hóa
thân thành nhân vật được khám phá nhiều nơi mà mình chưa biết.
Hầu hết các trưng bày, trình diễn từ ảnh tĩnh đến các video hoạt hình đều
biểu diễn trong khơng gian 3D, do vậy việc nghiên cứu các kỹ thuật thể hiện hình
ảnh 3D ngày càng được phát triển rộng rãi. Việc thể hiện 3D với các tác động của
ánh sáng nâng cao hiệu quả thị giác làm cho việc quan sát vật thể rõ hơn tăng
cường, nhấn mạnh những phần trọng tâm của vật thể theo mong muốn của người
quan sát. Do vậy, việc nghiên cứu tổng quan để đưa ra những vấn đề cần phát triển
là cần thiết là mục tiêu đề tài cần đạt được.

+ Ứng dụng chiếu sáng toàn cục và chiếu sáng cục bộ trong trưng
bày ảo
- Trong các ứng dụng trưng bày ảo, chúng ta có thể chia thành hai phần
độc lập một là không gian trưng bày là nơi mà ta sẽ đặt các hiện vật ảo vào


10
đó, hai là các hiện vật được trưng bày. Khơng gian trưng bày thường là các
phòng cố định, các bố trí chiếu sáng trong khơng gian này cũng thường cố
định do đó chúng ta có thể ứng dụng kỹ thuật chiếu sáng toàn cục để tạo trước
bản đồ chiếu sáng cho tồn bộ khơng gian và trong q trình kết xuất ảnh của
không gian chúng ta sẽ sử dụng trực tiếp bản đồ chiếu sáng này để tính ánh
sáng cho từng điểm trong không gian. Các hiện vật ảo được đặt vào các vị trí
cho trước trong khơng gian trưng bày, tại mỗi vị trí ta có thể các hiện vật có
thể thay đổi các hiện vật để tạo ra sự sinh động cho không gian, mỗi hiện vật

được chiếu sáng để làm nổi bật nó trong khơng gian do đó chúng ta có thể sử
dụng kỹ thuật chiếu sáng cục bộ để chiếu sáng cho từng hiện vật.
Với tư tưởng như vậy chúng tôi tiến hành cài đặt và áp dụng nó vào
việc trưng bày các hiện vật trong bảo tàng và dưới đây là một số hình ảnh
minh họa cho kết quả thực nghiệm.

Hình 1.1. Một hình ảnh kết quả thực nghiệm
1.3. Vai trị của việc mơ phỏng không gian 3D
Từ trước tới nay ,các dự án mô phỏng thường hay tập trung vào 2D đơn
giản, từ các hình ảnh 2D, video 2D đã xây dựng, có thể triển khai qua các
kênh truyền thống để tạo ra một một hệ thống mơ phỏng để mọi người có thể
xem, thực hành như trên máy tính, trên nền tảng webstie, hay trên các hệ
thống máy chiếu, phong lab chuyên dụng tùy thuộc từng nội dung.


11

Sự hạn chế của công nghệ 2D trở thành 1 rào cản cho sự phát triển, nó
khơng phát huy được hết các ưu điểm của các hệ thống mô phỏng. Công nghệ
Mô phỏng 3D là bước tiến tiếp theo, về thực tế công nghệ 3D đã hầu như
khắc phục đượ các yếu điểm của công nghệ mô phỏng 2D như : các điểm
khuất, góc khuất khi mơ phỏng lại các vật thể, máy móc,khơng gian. Với
Cơng nghệ 3D, các mơ phỏng, góc nhìn, tương tác khơng cịn bị hạn chế nữa.
Mọi thứ có thể biểu diễn trong khơng gian 3 chiều và xử lý hầu như dưới mọi
góc độ vị trí .
Từ các mơ hình, khơng gian 3D ta có thể triển khai sản phẩm dưới
video 3D, hoặc trực tiếp trên mơi trường 3D của nó. Sự kết hợp giữa không
gian 3D và công nghệ thực tế ảo đã tao nên sự khác biệt đôt phá cho các dự án
mô phỏng thực tế ảo 3D về mặt thực hành, tương tác, thao tác mà các hệ
thống 2D không làm được.

1.4. Mơ hình hóa mơ hình 3D
Để cài đặt lập trình cho mơ phỏng một vật thể nói chung và vật thể 3D,
chúng ta cần phân tích các hướng chiếu của ánh sáng, xây dựng hệ tọa độ để
làm cơ sở tính tốn các kích thước, vị trí tương ứng của vật, bóng và mơi
trường xung quanh. Điều này cịn cần xác định một đặc tính khác đó là tương
tác thời gian thực. Thời gian thực ở đây có nghĩa là người sử dụng nhìn thấy
sự vật thay đổi trên màn hình như trong tự nhiên ví dụ một chiếc lá rơi trong
khơng gian khác với một viên đá rơi…Ở trình độ cao, người dùng khơng
những nhìn thấy đối tượng đồ họa 3D nổi, điều khiển (xoay, di chuyển,..)
được đối tượng trên màn hình (như trong game), mà cịn có thể sờ và cảm
thấy chúng như có thật. Sử dụng các kỹ thuật mơ hình hố 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, ta cần có các mơ đun tính tốn tỉ mỉ chi tiết
các thông số, sự biến thiên trong thời gian thực từ đó mới đưa kết quả tính
tốn vào cơng cụ vẽ để tạo hình.


12
1.4.1. Hệ trục tọa độ
Tọa độ: Trong không gian 3D, phạm vi nhỏ nhất có thể (chiếm chỗ) là điểm.
Mỗi điểm được xác định bằng một bộ duy nhất gồm ba thơng số, gọi là tọa độ. Ví
dụ, tọa độ 0, 0, 0 xác định tâm điểm của không gian 3D, cũng còn gọi là gốc tọa độ.
Mỗi điểm trong khơng gian máy tính có ba giá trị tọa độ, đại diện cho vị trí tại chiều
cao, chiều rộng, chiều sâu của điểm đó. Như vậy mỗi tọa độ đại diện cho một trục
riêng trong khơng gian máy tính.
Trục tọa độ: Trục là một đường thẳng tưởng tượng trong không gian máy
tính nhằm xác định một hướng. Ba trục chuẩn trong MAX gọi là trục X, Y, và

Z (xem hình). Trong MAX bạn có thể xem như trục X là chiều rộng, trục Y là
chiều dài, và trục Z là chiều cao. Giao điểm của ba trục này trong MAX là

gốc tọa độ (0, 0, 0). Nếu bạn vẽ một điểm cách xa mơt đơn vị dọc theo phía
bên phải của trục X, điểm đó sẽ là 1, 0, 0 (một đơn vị có thể là đơn vị bất kỳ
nào bạn muốn – như là một foot, một inch, một milimet, hoặc một centimet).
Nếu bạn dịch chuyển điểm đó thêm một đơn vị nữa về cùng một hướng, tọa
độ của nó sẽ là 2, 0, 0 và v. v… Nếu bạn đi về phía trái của gốc tọa độ, điểm
đầu tiên sẽ là –1, 0, 0, điểm tiếp theo sẽ là (–2, 0, 0) v. v… Tương tự như vậy
cho các trục khác, khi bạn di chuyển lên phía trên của trục Y, toạ độ mang giá
trị dương, ngược lại là giá trị âm…

Hình 1.2. Hệ trục tọa độ Trục
Trục là một đường thẳng tưởng tượng trong không gian 3D nhằm xác định
một hướng. Ba trục chuẩn dùng trong MAX được gọi là X, Y, và Z. .
Khi bạn xoay một đối tượng, ba yếu tố ảnh hưởng đến kết quả là:
- Hệ tọa độ hiện hành (World, View, Local hay Screen...)


13
- Vị trí của điểm làm tâm xoay (cịn gọi là điểm chốt_Pivot Point)
- Trục nào được chọn để xoay đối tượng quanh nó.
Điều này cũng đúng khi sử dụng các lệnh thu phóng khơng đồng nhất, và
lệnh nén…
Các phép biến đổi (Tranform) dựa vào các trục (Axis) và vùng nhìn
(Viewport). Đây là một vấn đề cơ bản rất quan trọng trong MAX, hầu hết các phép
biến đổi như di chuyển (move), xoay (rotate), và thu phóng (scale) đều sử dụng hệ
tọa độ vùng nhìn (View Coordinate) như hệ tọa độ mặc định của chúng. Với hệ tọa
độ view này các trục được thể hiện tại các vùng nhìn phẳng (Top, Front, Left…)
theo cách như sau: trục X_ngang, trục Y_dọc, và trục Z thì vng góc với hai trục

XY, đây chính là hệ trục tọa độ Screen trong MAX. Tại vùng nhìn phối cảnh
(Perspective), hệ tọa độ lại thể hiện trục X chiều ngang, trục Y chiều sâu

(chiều dài), và trục Z là dọc (chiều cao), đây là hệ toạ độ thế giới World trong
MAX.
Tại các vùng nhìn phẳng bạn có thể di chuyển đối tượng theo hai trục
X, hoặc Y, nhưng trục Z thì khơng (điều này hay gây bối rối cho các bạn mới
làm quen với MAX, vì không hiểu sao với công cụ di chuyển, mà lại khơng
xê dịch được đối tượng! một giải thích đơn giản ở đây, là với hệ tọa độ view
thì đối tượng tại các vùng nhìn phẳng khơng thể di chuyển theo trục Z được,
bởi vì bạn khơng thể lơi đối tượng ra khỏi màn hình vi tính! Trục Z vng góc
với hai trục X, Y và hướng ra trước mặt bạn!… trong khi tại vùng phối cảnh
perfective thì khơng gặp trở ngại gì với cả ba trục…)[22, 23]
1.4.2. Kỹ thuật hiển thị mô hình Bump Mapping.
Bên cạnh các kỹ thuật hiển thị truyền thống như chọn lọc có loại bỏ và
thay thế ảnh 3D bằng ảnh 3D phần mềm mô phỏng cịn sử dụng kỹ thuật hiển
thị mới đó là bump mapping [1,2]
Bump mapping là một kỹ thuật đồ họa máy tính, trong đó một sự nhiễu
loạn tới pháp tuyến bề mặt của đối tượng đang được biểu diễn được tìm kiếm
trong một ánh xạ texture tại mỗi điểm ảnh và áp dụng trước khi việc tính tốn
sự chiếu sáng được thực hiện (hãy xem, chẳng hạn như Phong shading). Kết


14
quả thì phong phú hơn, sự mơ tả bề mặt được chi tiết hơn giống với chi tiết
vốn có trong tự nhiên hơn. Ánh xạ pháp tuyến và ánh xạ thị sai là các cách
phổ biến nhất được sử dụng để thực hiện bump, sử dụng các kỹ thuật mới mà
tạo ra bump mapping bằng cách sử dụng thang màu xám cũ kỹ. Bump
mapping là một kỹ thuật đồ họa máy tính để tạo một bề mặt được biểu diễn
nhìn thực tế hơn bằng cách mơ hình hóa một texture bề mặt mấp mô cùng với
các nguồn sáng trong môi trường. Ánh xạ bề mặt mấp mô làm điều này bằng
cách thay đổi độ sáng của điểm ảnh trên bề mặt phản ứng lại với một ảnh
raster heightmap được xác định cụ thể cho mỗi mặt.


Hình 1.3. Bề mặt đá tại nhà thờ đá Phát Diệm
Khi biểu diễn một cảnh 3D, ánh sáng và màu sắc của các điểm ảnh được
xác định bởi sự tương tác của một mơ hình 3D cùng với ánh sáng trong cảnh
[3,4]. Sau khi nó được xác định là một đối tượng có thể nhìn thấy, lượng giác
học được sử dụng để tính tốn pháp tuyến

bề mặt hình học của đối tượng,

được định nghĩa như một vector tại mỗi vị trí điểm ảnh trên đối tượng.Ví dụ,
ánh xạ tẩm phủ tạo gạch cho hình ảnh 3D một bức tường đang rung chuyển
(chỗ ánh xạ rung động cung cấpnhững ám hiệu ánh sáng và bóng tốt để làm
viên gạch nhìn có vẻ như 3D hơn) có thể được mô tả như một sự kết hợp của một
kết cấu căn hộ màu đỏ, hai hoặc ba trạng thái vẽ của va chạm ánh xạ (việc vẽ ánh
sáng và bóng), ánh xạ ánh sáng cho các bóng tồn cục và có thể ánh xạ hiệu ứng
chiếu sáng lóng lánh nếu đối tượng được gắn kính hoặc những mẩu kim loại nhỏ.


15
Bóng có thể được biểu thị bằng lập trình, những giải thuật, hoặc bằng “cây đổ bóng”
nơi các bóng nhỏ cấu thành được chia nhỏ dần trong mẫu phân cấp, giống như sự
biến đổi khơng gian. Cây đổ bóng này có thể hiện, nếu scenegraph cơ bản hỗ trợ
những khái niệm cao cấp như vậy, hoặc nó có thể ẩn, như sự trình bày trừu tượng của
một số đoạn mã được dịch trước.

Simulated Bump-Mapping

H/W hỗ trợ
Bump-Mapping


O1

O2

Pass 1:
Kết cấu cơ bản

Pass 2:
Vùng sáng

Pass 3:
Vùng tối

“Bump”
O1

O2

Hình 1.4. Cây đổ bóng
Nó quan trọng để nhận thấy rằng cây đổ bóng có thể dễ dàng thay đổi từ
nền phần cứng này đến nền tảng phần cứng kia, phụ thuộc vào những khả năng đồ
họa và những hệ số khác. Ví dụ, phần cứng nào hỗ trợ ánh xạ va chạm cấp cao
trong một quá trình đơn - như nút cây trạng thái trong trường hợp là một nút. Phần
cứng khác có thể khơng hỗ trợ ánh xạ bề mặt mấp mô chút nào, nhưng vẫn có thể
đạt được những hiệu ứng ánh xạ bề mặt mấp mô bằng một tác động đối với kết
cấu, một cho những vùng sáng và một cho những vùng tối. Như vậy cây đổ bóng
trong trường hợp đó có thể có một nút cha với ba nút con, đại diện cho ba sự
chuyển đổi qua lại. (Ghi chú : ở đây, những cái hộp là những trạng thái và những
vòng tròn đang vẽ những đối tượng). Các cây đổ bóng sẽ thay đổi từ phần mềm
API đến phần mềm API. Nhưng từ đó phân ra khái niệm Spatial View (khung

cảnh có trong khơng gian) từ State View (khung cảnh trạng thái), tạo điều kiện đặt
điều khiển giao diện với các API đồ họa cơ sở có thể sử dụng (như Intrinsic
Alchemy hay tiêu chuẩn, hay OpenGL hay Direct X).


16
Pháp tuyến bề mặt hình học sau đó định nghĩa cách đối tượng có khả năng
tương tác với ánh sáng đến từ một hướng nhất định bằng cách sử dụng Phong
shading hoặc một thuật toán chiếu sáng tương tự. Ánh sáng đi vng góc với một
bề mặt có khả năng tương tác nhiều hơn so với ánh sáng song song với bề mặt.
Sau khi tính tốn hình học ban đầu, một texture được tô màu thường xuyên được
áp dụng cho mơ hình để tạo đối tượng xuất hiện thực tế hơn [3,4,5].
Sau khi kiến tạo, một tính tốn được thực hiện cho mỗi điểm ảnh trên bề
mặt của đối tượng. Ở phần này sẽ đề cập chi tiết vào qui trình chiếu sáng trên điểm
ảnh được các thư viện đồ họa hiện nay hỗ trợ. Qui trình chiếu sáng trên điểm ảnh
chủ yếu phân ra làm 2 công đoạn riêng biệt: thực hiện tính tốn màu chính (diffuse
color) và tính tốn màu phản chiếu (specular color). Thuật tốn tính tốn sự chiếu
sáng tương tự trong cảnh tại mỗi điểm ảnh trên bề mặt của đối tượng.
 Tính tốn màu diffuse (có bump bề mặt bằng normal map): Trước khi đi
chi tiết vào thuật toán ta cần xem qua 1 số khái niệm mới dùng trong phần này:
Không gian tiếp tuyến của vật thể (tangent space); Tọa độ texture tại mỗi đỉnh
(vertex) hình thành một hệ trục tọa độ 3 chiều với trục U (tiếp tuyến), trục W (pháp
tuyến) và trục V (binormal = UxW). Hệ trục tọa độ này gọi là không gian tiếp tuyến
hay không gian texture của vật thể tại các đỉnh (vertex).
 Tính tốn Normal map: Normal map là một texture nhưng có đặc tính khá
đặc biệt, thay vì chứa thơng tin về điểm màu như texture thông thường, normal map
lai chứa thông tin về không gian tiếp tuyến (tangent space) hay không gian texture
(texture space) của vật thể, hay nói cách khác nếu các điểm ảnh của texture biểu
diễn màu sắc của vật thể tại 1 điểm thì normal map sẽ biểu diễn khơng gian tiếp
tuyến của vật thể tại điểm đó. Mỗi điểm ảnh của normal map có định dạng là RGBA

trong đó 3 thành phần RGB có giá trị [0..1] được ánh xạ từ 3 trục U, V, W có giá trị
trong khoảng [-1, 1]. Normal map có thể tạo ra bằng 2 cách, dùngheight map
(texture dạng graycale chứa thông tin độ sâu về bề mặt của vật thể trong đó màu
sáng hơn biểu thị độ cao lớn hơn). Cách thứ 2 phức tạp hơn do phải tạo thêm 1 vật
thể khác có độ chi tiết cao hơn, sau đó ta so sánh sự khác nhau giữa 2 vật thể để tạo
ra normal map (q trình này có thể được thực hiện bằng tool Melody của NVidia).


17

U
W
V

Hình 1.5. Khơng gian tiếp tuyến
 Bump bề mặt sử dụng normal map, Bump bề mặt chủ yếu được thực hiện
trên Pixel Shader cho từng điểm ảnh. Thuật toán này sử dụng giá trị normal trong
normal map để xác định mức độ của ánh sáng tác động vào điểm ảnh đó bằng cách
nhân tích vơ hướng giá trị normal trên với vector hướng ánh sáng trong không gian
tiếp tuyến. Sau đó giá trị này được nhân với màu sắc của vertex và màu lấy mẫu từ
texture để tính ra màu diffuse (màu của vertex được tính trong Vertex Shader)
Trong đó:
- Normal. Vector pháp tuyến (normal vector) tại điểm đó, normal vector có
được do lấy mẫu từ normal map.
- Light vector. Vector hướng ánh sáng trong không gian tiếp tuyến (tangent
space), vector này được tính trong Vertex Shader và được truyền vào Pixel Shader
để sử dụng. vertex color. Màu của vertex sau khi thực hiện chiếu sáng trên vertex
(pervertex lighting) trong Vertex Shader. Texture color. Màu của texture chính, có
được do lấy mẫu texture.
- Tính tốn màu specular (sử dụng specular map), specular map là texture

dạng grayscale, specular map có tác dụng cho biết vùng nào của vật thể phản chiếu
nhiều ánh sáng vùng nào phản chiếu ít ánh sáng (tương ứng với màu trong specular
map từ sáng tới tối).
- Tính độ phản chiếu của ánh sánh, Độ phản chiếu (phản xạ) của ánh sáng
trên vật thể thì phụ thuộc vị trí của mắt (hay camera). Khi mắt nằm ngay trên đường
phản xạ của ánh sáng thì mắt sẽ nhìn thấy một vùng ánh sáng chói do tồn bộ năng
lượng của ánh sáng được truyền thẳng vào mắt. Muốn tính màu specular của điểm


18
ảnh ta phải xác định được mức độ ánh sáng phản chiếu tại điểm đó. Cơng thức tính
vector phản chiếu (phản xạ) như sau:
R = 2(L dot N)N - L
Trong đó:
L. Light vector
R. Reflection vector
N. Normal

Hình 1.6. Sự phản xạ của tia sáng trên bề mặt
Mức độ phản chiếu của ánh sáng phụ thuộc rất nhiều vào chất liệu bề mặt
của vật thể,các bề mặt nhẵn bóng có độ phản chiếu lớn trong khi các bề mặt gồ ghề
lại có độ phảnchiếu thấp. Để tránh công việc phải phân rã vật thể ra thành nhiều
thành phần để dựng hình với các mức phản chiếu khác nhau người ta dùng specular
map như một lookup table để xác định mức độ phản chiếu của ánh sánh trên từng
điểm ảnh.
Seflection vector = 2 * dotproduct (normal, light vector) * normal - light vector.
Specular factor = dotproduct (reflection vector, view vector).
Specular color = (specular factor ^ specular constant) * specular lookup.
Trong đó:
- Normal. Vector pháp tuyến (normal vector) tại điểm đó, normal vector có

được do lấy mẫu từ normal map.
- Light vector. Vector hướng ánh sáng trong không gian tiếp tuyến (tangent
space), vector này được tính trong Vertex Shader và được truyền vào Pixel Shader
để sử dụng.


19
- View vector. Vector tính từ mắt đến điểm nhìn (tọa độ trong khơng gian
tiếp tuyến), vector này được tính trong Vertex Shader và truyền vào Pixel Shader để
sử dụng specular constant. Hằng phản chiếu, giá trị càng lớn thì vùng phản chiếu
càng nhỏ.
- Specular lookup. Cho biết mức độ phản chiếu của điểm đó, giá trị này có
được do lấy mẫu từ specular map. Sau khi thêm độ phản chiếu anh sáng vào xe
trông như là được cấu tạo từ kim loại, do đó sự phản chiếu góp phần tăng đáng kể
chất lượng đồ họa.
Thuật toán gồm các bước:
Bước 1: Tìm kiếm vị trí trên ảnh raster heightmap mà tương xứng với vị trí trên
bề mặt.
Bước 2: Tính tốn pháp tuyến bề mặt của heightmap.

Bước 3: Thêm pháp tuyến bề mặt từ bước 2 tới pháp tuyến bề mặt hình học
miễn là pháp tuyến trỏ tới một hướng mới.
Bước 4: Tính tốn sự tương tác của bề mặt mấp mơ mới cùng với ánh sáng
trong cảnh sử dụng, ví dụ Phong shading.
1.4.3. Kỹ thuật xử lý ảnh hoa văn
Kết quả là một bề mặt xuất hiện có chiều sâu thực sự thuật toán cũng
đảm bảo rằng sự xuất hiện bề mặt thay đổi như ánh sáng trong cảnh di
chuyển xung quanh. Ánh xạ pháp tuyến là kỹ thuật ánh xạ bề mặt mấp mô
được sử dụng phổ biến nhất, nhưng có một phương án thay thế khác, chẳng
hạn như ánh xạ thị sai.

Đối với mục đích của việc dựng hình trong thời gian thực, ánh xạ bề
mặt mấp mơ thường được hướng theo như một “sự chuyển tác”, trong việc
dựng hình nhiều sự chuyển tác, và có thể được thực hiện như nhiều sự chuyển
tác (thông thường là 3 hoặc 4) để giảm số lượng các phép tính lượng giác mà
được yêu cầu.


×