Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
2,12 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ISO 9001:2008 TÌM HIỂU KỸ THUẬT TẠO BĨNG CỨNG SHADOW VOLUME ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Sinh viên thực hiện: Giáo viên hƣớng dẫn: Nguyễn Tiến Dũng PGS.TS Đỗ Năng Toàn Mã số sinh viên: 1351010036 HẢI PHÒNG – 2013 Mangh■■ng Luôn 123doc Th■a thu■n l■icam s■ tr■ h■u k■t s■ nghi■m t■im■t d■ng s■website mang kho m■i th■ m■ l■i d■n CH■P vi■n nh■ng cho ■■u kh■ng ng■■i NH■N quy■n chia dùng, l■ CÁC s■l■i v■i và■I■U t■t công h■n mua nh■t 2.000.000 ngh■ bán KHO■N cho tàihi■n ng■■i li■u TH■A tài th■ hàng li■u dùng hi■n THU■N ■■u ■ t■t Khi ■■i, Vi■t c■ khách b■n l■nh Nam Chào online hàng v■c: Tác m■ng tr■ không tài phong thành b■n khác chun ■■n thành tíngì d■ng, v■i so nghi■p, viên 123doc v■i cơng c■a b■n hồn ngh■ 123doc g■c h■o, thơng B■n và■■ n■p có tin, cao th■ ti■n ngo■i tính phóng vào ng■, Khách trách tài to,kho■n nhi■m thu nh■ c■a ■■i hàng tùy123doc, v■i ý cót■ng th■b■n d■ ng■■i dàng s■ dùng ■■■c tra c■u M■c h■■ng tàitiêu li■u nh■ng hàng m■t■■u quy■n cáchc■a l■i123doc.net sau xác,n■p nhanh ti■n tr■ chóng thành website th■ vi■n tài li■u online l■n nh■t Vi■t Nam, cung c■p nh■ng tài li■u ■■c khơng th■ tìm th■y th■ tr■■ng ngo■i tr■ 123doc.net Nhi■u event thú v■, event ki■m ti■n thi■t th■c 123doc luôn t■o c■ h■i gia t■ng thu nh■p online cho t■t c■ thành viên c■a website Mangh■n Luôn Th■a Xu■t Sau Nhi■u 123doc h■■ng phát thu■n l■i event cam s■ nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thông dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p khơng tài phong v■c cao thành b■n email nh■t tài online khác chun ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n hoàn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thơng B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mô nguyên b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Lnh■n 123doc Sau Th■a Xu■t h■■ng phát thu■n cam nh■n m■t t■k■t s■ t■i ýxác n■m t■■ng d■ng s■ nh■n website mang ■■i, t■o t■l■i c■ng ■■ng d■n 123doc CH■P nh■ng ■■u ■■ng h■ NH■N ■ã quy■n th■ng chia t■ng ki■m CÁC s■s■ l■i b■■c ti■n vàchuy■n ■I■U t■t mua online kh■ng nh■t bán KHO■N sang b■ng cho tài ■■nh ng■■i li■u ph■n tài TH■A v■ li■u hàng thơng dùng tríTHU■N hi■u c■a ■■u tin Khi qu■ Vi■t xác khách nh■t, minh Nam Chào hàng uy tài l■nh Tác m■ng tín kho■n tr■ phong v■c cao thành b■n email nh■t tàichuyên ■■n li■u thành b■n Mong v■i nghi■p, viên kinh ■ã 123doc 123doc.net! mu■n ■■ng c■a doanh hoàn mang 123doc kýonline v■i h■o, Chúng l■ivà 123doc.netLink cho Tính ■■ n■p tơi c■ng cao ■■n cung ti■n tính ■■ng th■i vào c■p trách xác tài ■i■m D■ch xãkho■n th■c nhi■m h■itháng V■ m■t s■ c■a (nh■ ■■i ■■■c ngu■n 5/2014; 123doc, v■i ■■■c g■i t■ng tài 123doc v■ mô nguyên b■n ng■■i ■■a t■s■ v■■t d■■i tri dùng ■■■c ch■ th■c m■c ■ây) email M■c h■■ng quý 100.000 cho b■n tiêu báu, b■n, nh■ng ■ã hàng phong l■■t tùy ■■ng ■■u quy■n truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau vuingày, n■p lòng “■i■u giàu ti■n s■ ■■ng tr■ giá Kho■n h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i không t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Luônh■n Th■a Xu■t Sau Nhi■u 123doc Mang h■■ng phát thu■n l■i event cam s■ nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thơng dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p khơng tài phong v■c cao thành b■n email nh■t tài online khác chuyên ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n cơng ■■ng c■a c■ doanh b■n hồn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thông B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mô nguyên b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t u■t phát Nhi■u Mang Luôn 123doc Th■a Xu■t Sau h■n h■■ng phát thu■n l■i event s■ cam nh■n t■ m■t tr■ t■ h■u ýk■t s■ thú nghi■m t■i ýt■■ng xác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event t■o kho m■i ■■i, t■o t■ c■ng th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■ng ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia ki■m t■ng ki■m dùng, l■ CÁC s■ th■c ti■n s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công online h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N b■ng sang b■ng cho tài ■■nh hi■n tài ng■■i li■u ph■n tài TH■A li■u tài v■ th■ li■u hàng t■o li■u thơng dùng trí hi■u hi■n THU■N hi■u c■ c■a ■■u ■ tin qu■ t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia nh■t, b■n nh■t, minh l■nh Nam t■ng Chào online uy hàng uy tài v■c: l■nh thu Tác tín m■ng tín kho■n tr■ cao nh■p khơng tài phong v■c cao thành b■n nh■t email nh■t tài online khác chuyên ■■n li■u thành tín Mong b■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã mu■n t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n mang hoàn mang ngh■ 123doc ký g■c online thành v■i l■i h■o, Chúng l■i thông B■n cho 123doc.netLink cho viên Tính ■■ n■p có c■ng tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i ■■ng tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác xã tài ■i■m D■ch xã to,h■i kho■n th■c nhi■m h■i thum■t tháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ngu■n ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cótài g■i t■ng th■ tài 123doc nguyên v■ mô nguyên b■n d■ ng■■i ■■a t■ dàng s■ v■■t tri d■■i tri dùng ■■■c ch■ th■c tra th■c m■c ■ây) email c■u quý M■c h■■ng quý 100.000 cho tài báu, b■n tiêu báu, li■u b■n, nh■ng phong ■ã hàng phong m■t l■■t tùy ■■ng ■■u phú, quy■n cách truy thu■c phú, ky, c■a c■p ■a ■a l■i b■n vào d■ng, 123doc.net m■i d■ng, sau xác, vuingày, n■p giàu lòng “■i■u nhanh giàu ti■n giá s■ ■■ng tr■ giá Kho■n chóng h■u tr■ thành tr■ nh■p ■■ng 2.000.000 website ■■ng Th■a th■ email th■i vi■n th■i Thu■n mong c■a thành mong tài v■ li■u mu■n viên mu■n S■ online ■■ng D■ng t■o click t■o l■n ■i■u ký, D■ch ■i■u vào nh■t l■t link ki■n ki■n V■” vào Vi■t 123doc cho top sau cho Nam, cho 200 ■ây cho ■ã cung các (sau g■i users website c■p users ■âynh■ng có ■■■c cóph■ thêm thêm tài bi■n g■i thu thu li■u t■t nh■p nh■t nh■p ■■c T■it■i Chính khơng t■ng Chính Vi■tth■i vìth■ Nam, vìv■y v■y ■i■m, tìm 123doc.net t■123doc.net th■y l■chúng tìm ki■m tơi th■ racó ■■i thu■c ■■i tr■■ng th■ nh■m nh■m c■p top ngo■i ■áp 3nh■t ■áp Google ■ng tr■ ■KTTSDDV ■ng 123doc.net nhu Nh■n nhuc■u c■u ■■■c chia theo chias■ quy■t danh s■tàitài hi■u li■u li■uch■t ch■t c■ng l■■ng l■■ng ■■ng vàvàki■m bình ki■mch■n ti■n ti■nonline online website ki■m ti■n online hi■u qu■ uy tín nh■t Nhi■u Mang Ln 123doc Th■a Xu■t Sau h■n h■■ng phát thu■n l■i event s■ cam nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thơng dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p khơng tài phong v■c cao thành b■n email nh■t tài online khác chuyên ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n hoàn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thông B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mơ ngun b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng LỜI CẢM ƠN Em xin gửi lời cảm ơn tới thầy cô khoa Công nghệ thơng tin trường Đại học Dân Lập Hải Phịng, người ân cần dạy dỗ cho chúng em kiến thức bổ ích quý giá suốt năm học qua, người trang bị cho chúng em hành trang quý giá để bước vào đời Em xin gửi lời cảm ơn sâu sắc tới thầy Đỗ Năng Tồn, người tận tình bảo hướng dẫn chúng em thực tốt đồ án tốt nghiệp Chúng em xin gửi lời cảm ơn tới gia đình bạn bè, hậu phương vững cho tiền tuyến chúng em suốt năm học gian khổ, gần cho chúng em nguồn động viên to lớn tinh thần vật chất để chúng em hồn thành tốt đồ án tốt nghiệp Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng Mục Lục LỜI NÓI ĐẦU CHƢƠNG 1: KHÁI QUÁT VỀ ĐỒ HỌA BA CHIỀU VÀ BÀI TOÁN TẠO BÓNG 1.1 Khái quát đồ họa chiều 1.1.1 Hiển thị 3D(3D Viewing) 1.1.2 Bộ đệm phép kiểm tra 11 1.2 Bài tốn tạo bóng 12 1.2.1 Bóng dạng nguồn sáng 12 1.2.2 Một số cách tiếp cận tạo bóng 17 CHƢƠNG 2: KỸ THUẬT TẠO BÓNG CỨNG BẰNG PHƢƠNG PHÁP SHADOW VOLUME 19 2.1 19 20 2.3 24 2.4 Tạo bóng khối thuật tốn Z-Pass 27 2.5 Tạo bóng thuật tốn Z-Fail 30 2.5.1 Tất mặt trƣớc bóng từ vị trí điểm nhìn 31 2.5.2 Tất mặt sau bóng từ vị trí điểm nhìn 32 2.5.3 Vẽ bóng đậy nắp đầu khối 33 2.6 35 CHƢƠNG III: CHƢƠNG TRÌNH THỰC NGHIỆM 36 3.1 Bài toán 36 3.2 Phân tích, lựa chọn cơng cụ 36 3.2.1 Giới thiệu ngơn ngữ lập trình 36 3.2.2 Lựa chọn công cụ 37 3.3 Kết chƣơng trình 37 KẾT LUẬN 39 TÀI LIỆU THAM KHẢO: 39 Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phịng LỜI NĨI ĐẦU Đồ họa máy tính lĩnh vực phát triển nhanh tin học Nó đƣợc áp dụng rộng rãi nhiều lĩnh vực khác thuộc khoa học, kỹ nghệ, y khoa, kiến trúc giải trí… Năm 1966, Sutherland Học viện Công nghệ Massachusetts ngƣời đặt bóng cho đồ họa 3D việc phát minh thiết bị hiển thị trùm đầu (head-amounted display) đƣợc điều khiển máy tính Nó cho phép ngƣời nhìn thấy đƣợc hình ảnh dƣới dạng lập thể 3D Từ đến đồ họa 3D trở thành lĩnh vực phát triển rực rỡ đồ họa máy tính Nó đƣợc ứng dụng rộng rãi hầu hết tất lĩnh vực nhƣ Điện ảnh, Hoạt hình, kiến trúc ứng dụng xây dựng mơ hình thực ảo… Và khơng thể khơng nhắc đến vai trị tối quan trọng đồ họa 3D việc tạo game sử dụng đồ họa nhƣ Doom, Halflife….Có thể nói đồ họa 3D tạo nên công nghiệp game phát triển mạnh mẽ Mục đích đồ họa 3D tạo mơ tả đối tƣợng, mơ hình giới thật máy tính cho giống với thật tốt Việc nghiên cứu phƣơng pháp kỹ thuật khác đồ họa 3D hƣớng đến mục tiêu cho nhân vật, đối tƣợng, mô hình đƣợc tạo máy tính giống thật Và phƣơng pháp tạo bóng cho đối tƣợng Xuất phát từ vấn đề đồ án em xây dựng gồm chƣơng: CHƢƠNG 1: KHÁI QUÁT VỀ ĐỒ HỌA BA CHIỀU VÀ BÀI TỐN TẠO BĨNG 3D, biểu diễn điểm phép biến đổi CHƢƠNG 2: KỸ THUẬT TẠO BÓNG CỨNG BẰNG PHƢƠNG PHÁP SHADOW VOLUME Shadow Volume dạng nguồn sáng CHƢƠNG 3: CHƢƠNG TRÌNH THỰC NGHIỆM Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng CHƢƠNG 1: KHÁI QUÁT VỀ ĐỒ HỌA BA CHIỀU VÀ BÀI TỐN TẠO BĨNG 1.1 Khái quát đồ họa chiều 1.1.1 Hiển thị 3D(3D Viewing) 1.1.1.1 Tổng quan Các đối tƣợng giới thực phần lớn đối tƣợng chiều thiết bị hiển thị chiều Do vậy, muốn có hình ảnh chiều ta cần phải giả lập Chiến lƣợc chuyển đổi bƣớc Hình ảnh đƣợc hình thành từ từ, ngày chi tiết Các đối tƣợng mơ hình 3D đƣợc xác định với tọa độ giới Cùng với tọa độ đối tƣợng, ngƣời dùng phải xác định vị trí hƣớng camera ảo khơng gian 3D xác định vùng nhìn (là vùng khơng gian đƣợc hiển thị hình) Việc chuyển từ tọa độ giới sang tọa độ hình đƣợc thực theo bƣớc : Bƣớc thực phép biến đổi để đƣa camera ảo trở vị trí hƣớng tiêu chuẩn Khi điểm nhìn (eyepoint) đƣợc đặt gốc tọa độ, hƣớng nhìn trùng với hƣớng âm trục Z Trục X phía phải trục Y lên phía hình Hệ tọa độ đƣợc gọi Hệ tọa độ Mắt (Eye Coordinate System) Phép biến đổi từ tọa độ giới sang tọa độ mắt phép biến đổi affine, đƣợc gọi phép biến đổi hiển thị (Viewing Transformation) Cả tọa độ giới tọa độ mắt đƣợc biểu diễn tọa độ đồng (Homogeneous Coordinates) với w=1 Bƣớc thứ Tọa độ mắt đƣợc chuyển qua tọa độ thiết bị chuẩn hóa (Nomalized Device Coordinates) vùng không gian mà ta muốn nhìn đƣợc đặt khối lập phƣơng tiêu chuẩn: Các điểm gần điểm nhìn (điểm đặt camera) có thành phần z nhỏ Bƣớc cuối cùng, phép biến đổi cổng nhìn (Viewport Transformation) kết hợp phép co giãn tuyến tính phép tịnh tiến Sẽ chuyển thành phần x Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng y tọa độ thiết bị chuẩn hóa x 1, y sang tọa độ Pixel hình Thành phần z ( z ) đƣợc chuyển sang đoạn [0,1] đƣợc sử dụng nhƣ giá trị chiều sâu (Depth-Value) thuật toán Z-Buffer (bộ đệm Z) đƣợc sử dụng cho việc xác định mặt đƣợc hiển thị Bƣớc thứ bao gồm bƣớc : - Một phép chiếu chuyển từ vùng nhìn sang khối lập phƣơng tiêu chuẩn với tọa độ đồng nhất: x 1, y 1, z Trong trƣờng hợp sử dụng phép chiếu trực giao, vùng nhìn có dạng ống song song 3D với mặt song song với mặt hệ tọa độ mắt Trong trƣờng hợp sử dụng phép chiếu đối xứng, vùng nhìn hình tháp cụt với đầu mút gốc tọa độ hệ tọa độ mắt Hệ tọa độ đồng (4 thành phần) thu đƣợc sau phép chiếu đƣợc gọi hệ tọa độ cắt (Clipping Coordinate System) Phép chiếu phép biến đổi affine trƣờng hợp phép chiếu phép chiếu trực giao Nếu phép chiếu phép chiếu phối cảnh phép biến đổi affine (Vì w nhận giá trị khác 1) Bƣớc tiếp theo, vùng không gian hiển thị mà khơng nằm khối tiêu chuẩn (Khối cịn đƣợc gọi khối nhìn tiêu chuẩn) bị cắt Các đa giác, đƣờng thẳng đƣợc chứa có phần đƣợc thay đổi để phần nằm khối nhìn tiêu chuẩn đƣợc giữ lại Phần cịn lại khơng cần quan tâm nhiều Sau cắt gọt, tọa độ đồng đƣợc chuyển sang tọa độ thiết bị cách chia x,y,z cho w Nếu w nhận giá trị qua phép chiếu, phép chia cho động phối cảnh mong muốn hình Vì lý đó., phép chia cịn đƣợc gọi phép chia phối cảnh (Perspective Division) Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phịng Hình 1.1: Tổng quan hiển thị 3D phép chiếu 1.1.1.2 Phép biến đổi hiển thị (Viewing Transformation) Phép biến đổi hiển thị đƣa camera ảo đƣợc cho tùy ý camera với điểm nhìn trùng với gốc tọa độ hƣớng nhìn dọc theo chiều âm trục Z (xem hình 2.1) Trục Y sau phép biến đổi tƣơng ứng lên phía hình Trục X phía phải Một cách thuận tiện để xác định vị trí camera ảo cho sãn vị trí điểm nhìn E , Một điểm khung nhìn R (điểm tham chiếu) hƣớng V lên phía hình Phép biển đổi hiển thị gồm bƣớc: Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng ● Một phép tịnh tiến đƣa điểm nhìn E gốc tọa độ Ma trận biến đổi tƣơng ứng M t ( E ) Kết nhƣ sau: ● Một phép quay chuyển hƣớng nhìn ngƣợc trục Z, quay vectơ V mặt phẳng YZ Vector V đƣợc quay trùng với trục Y V vng góc với hƣớng nhìn Trƣớc hết ta xây dựng tập véc tơ chuẩn tắc phù hợp tọa độ giới n u v E R E R V n V n n u Ngƣợc với hƣớng nhìn Z ( Oz ) Chỉ phía phải, vng góc với n X Chỉ lên giống V , nhƣng vuống góc với n u Y Nhƣ ma trận phép quay là: M r (u,v, n) Và ma trận phép biến đổi là: Trong u, v v đƣợc tính từ E , R V Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng 1.1.1.3 Phép chiếu trực giao (Orthographic Projection) Trong trƣờng hợp phép chiếu trực giao, vùng không gian hiển thị ống song song hệ tọa độ mắt Các mặt ống song song song song với mặt hệ tọa độ mắt Kích thƣớc vị trí vùng không gian hiển thị đƣợc xác định tọa độ mắt xleft, xright, ybottom, ytop, zfront zback (xleft, ybottom) (xright, ytop) xác định cửa sổ mặt phẳng chiếu (hoặc mặt song song với mặt XY) mà vùng không gian hiển thị đƣợc hiển thị Cửa sổ phải đƣợc đƣa dạng hình vng [-1,+1]2 zfront zback định nghĩa mặt phẳng cắt trƣớc cắt sau Tọa độ tất điểm không gian (hoặc điểm ta muốn nhìn) phải thỏa mãn zback z zfront Khoảng giá trị z phải đƣợc đƣa giá trị chiều sâu (depth value) nằm đoạn [-1,+1] Các điểm gần mắt có giá trị chiều sâu nhỏ Hình 1.2 : Vùng không gian hiển thị phép chiếu trực giao Phép chiếu trực giao thu đƣợc cách thực phép biến đổi sau theo thứ tự: ● Phép tịnh tiến M t ( M ) đƣa tâm vùng không gian hiển thị gốc tọa độ hệ tọa độ mắt ● Một phép co giãn để đƣa kích thƣớc vùng hiển thị đơn vị chiều Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng ● Một phép đối xứng qua mặt XY để điểm nằm gần nhận giá trị z nhỏ Phép co giãn phép đối xứng thu đƣợc phép biển đổi đơn: M s (S ) với: Nhƣ ma trận phép chiếu trực giao là: Thành phần z khơng thay đổi, phép chiếu trực giao phép biến đổi affine Phép chiếu đƣợc sử dụng ứng dụng cần đến quan hệ hình học (các tỉ số khoảng cách) nhƣ CAD 1.1.1.4 Phép chiếu phối cảnh (Perspective Projection) Phép chiếu phối cảnh phù hợp gần với quan sát ngƣời (bằng mắt) giới 3D Tất điểm đƣờng thẳng qua điểm nhìn đƣợc ánh xạ lên điểm hình 2D Điểm ảnh đƣợc xác định tọa độ thiết bị chuẩn hóa x y Nếu điểm đƣợc ánh xạ vào điểm hình, ta cần phải xác định điểm đƣợc hiển thị thuật toán Zbuffer, nghĩa so sánh chiều sâu chúng Vì lý cần định nghĩa thành phần tọa độ khác thiết bị chuẩn hóa z cho hàm tăng đơn điệu khoảng cách từ điểm đến mặt phẳng mắt XY Khoảng cách từ điểm không gian đến mặt phẳng XY khơng với khoảng cách từ điểm đến điểm nhìn (đƣợc đặt gốc tọa độ), nhƣng đƣợc tính tốn đơn giản đủ để xác định đƣợc mặt đƣợc hiển thị Nhƣ vậy, phép chiếu trực giao đƣa điểm (với tọa độ đồng nhất) hệ tọa độ mắt (x,y,z,1) điểm (tọa độ đồng nhất) hệ tọa độ cắt (x’,y’,z’,w’) Sau tọa độ thiết bị chuẩn hóa (affine) (x”,y”,z”) thu đƣợc cách chia x’,y’,z’ cho w’ (Phép chia phối cảnh): Nguyễn Tiến Dũng- CT1301 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng v4.y = (v2.y - L.y) * He_so_chieu; v4.z = (v2.z - L.z) * He_so_chieu; 2.5 Từ điểm ta vẽ đƣợc tứ giác bao ngồi bóng khối Vấn đề cịn lại cần phải giải với bóng khối phải “đậy nắp” (Capping) đầu khối lại để trở thành khối kín Lúc ta thực phép kiểm tra cách xác Để “nấp” phía trƣớc đơn giản ta dùng ln mặt trƣớc vật thể vị trí ánh sáng Nấp mặt sau ta cần chiếu mặt sau vật thể với ánh sáng vơ cực Phần khơng cần thiết ta chiếu gần nhƣ vơ cực Nên điểm khơng cần xét đến nhiều 2.6 Nguyễn Tiến Dũng- CT1301 25 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng Code để xác định tứ giác bao quanh bóng khối isFacingLight=new bool[numTriangles]; if(!isFacingLight) { errorLog.OutputError("Unable to allocate memory for %d booleans", numTriangles); return false; } //Create space for connectivity data neighbourIndices=new GLint[numTriangles*3]; if(!neighbourIndices) { errorLog.OutputError("Unable to allocate memory for %d neighbour indices", numTriangles*3); return false; } //Create space for "is silhouette edge" booleans isSilhouetteEdge=new bool[numTriangles*3]; if(!isSilhouetteEdge) { errorLog.OutputError("Unable to allocate memory for %d booleans", numTriangles*3); return false; } //Calculate the neighbours SetConnectivity(); return true; } Nguyễn Tiến Dũng- CT1301 26 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng 2.4 Tạo bóng khối thuật tốn Z-Pass Để xác định xem đoạn cắt mặt trƣớc, mặt sau ta dùng đếm cho điểm cần kiểm tra, mà tăng lên đơn vị xuyên qua mặt trƣớc giảm đơn vị xuyên qua mặt sau bóng khối Khi đếm cho giá trị điểm khơng nằm phần bóng, Cịn lớn có nghĩa điểm nằm vùng bóng không đƣợc đƣợc vẽ Và Stencil Buffer thực điều Stencil Buffer cung cấp cho pixel hình “bộ đếm” tăng giảm pixel đƣợc ghi vào Frame Buffer Sau hồn tồn kiểm tra đếm để xác định xem điểm đƣợc ghi hình hay khơng Khi ta tạo đƣợc lƣới đa giác bao ngồi bóng khối Chúng ta phải thực vẽ bóng vật thể ra, hay nói xác vẽ vật thể với bóng Để làm đƣợc việc ta phải xác định đƣợc pixel có nằm vùng bóng khối hay khơng Thuật tốn xác định pixel có nằm vùng bóng khối hay khơng đơn giản Tƣ tƣởng là, nối điểm cần kiểm tra với điểm đặt camera (mắt nhìn) Nếu số mặt trƣớc số mặt sau bóng khối mà cắt điểm khơng nằm vùng bóng khối Nếu cắt số mặt trƣớc bóng khối nhiều số mặt sau mà cắt có nghĩa điểm nằm vùng bóng khối Thuật tốn đƣợc mơ tả mã giả nhƣ sau: Procedure IN_SHADOW_TEST // Z-pass For {tất vật thể cần đổ bóng} - Xây dựng danh sách cạnh viền - Tính tốn tứ giác bao quanh bóng khối dựa cạnh viền từ vị trí nguồn sáng End for For {Tất mặt trƣớc bóng khối nhìn từ vị trí điểm nhìn} if Depth test passes then - Tăng giá trị Stencil Buffer End if End for Nguyễn Tiến Dũng- CT1301 27 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng For {Tất mặt sau bóng khối nhìn từ vị trí điểm nhìn} if Depth test passes then - Giảm giá trị Stencil Buffer End if End for 2.7 2.8 Nguyễn Tiến Dũng- CT1301 28 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phịng 2.9 2.10 : Khơng Các bƣớc thực nhƣ sau: Xóa hết Z-buffer Stencil-Buffer, Chắc chắn Chế độ ghi vào Zbuffer chế độ Stencil test đƣợc bật Tạo ảnh toàn khung cảnh (bao gồm vật thể mặt hứng bóng) với Ambient Light Z-buffer đƣợc cập nhật - Tắt chế độ ghi vào Z-buffer - Vẽ mặt trƣớc bóng khối, Nếu chúng thực đƣợc vẽ (Có nghĩa Depth Pass) tăng giá trị Stencil Buffer Nguyễn Tiến Dũng- CT1301 29 Đồ án tốt nghiệp - Trƣờng ĐH Dân Lập Hải Phịng Vẽ mặt sau bóng khối, Nếu chúng thực đƣợc vẽ ra.(Có nghĩa Depth Pass) giảm giá trị Stencil Buffer Bật chế độ Stencil test (chỉ điểm có giá trị Stencil = đƣợc vẽ hình), Xóa Z-buffer, bật chế độ ghi vào Z-buffer, bật nguồn sáng - Vẽ tồn khung cảnh điểm có giá trị stencil Buffer 2.5 Tạo bóng thuật tốn Z-Fail Thuật tốn Z-Pass có nhƣợc điểm lớn chƣa xử lý đƣợc trƣờng hợp điểm nhìn (viewpoint) nằm vùng bóng khối Có giải pháp để xử lý trƣờng hợp này: Trừ giá trị Stencil Buffer đơn vị cho phần bóng khối mà điểm nhìn nằm (trong trƣờng hợp có nhiều vật thể) Tuy nhiên làm nhƣ chi phí tính tốn đắt Tạo mặt phẳng nằm trƣớc gần điểm nhìn cho phần bóng khối mà điểm nhìn nằm Cách vậy, phức tạp chi phí tính tốn đắt Cách thứ sử dụng thuật tốn Z-Fail Thay tính tốn giá trị Stencil việc tăng mặt trƣớc bóng khối giảm giá trị mặt sau ZBuffer Pass, tồn q trình đƣợc thay đổi để đếm từ vơ cực thay đếm từ điểm nhìn Vì thuật tốn cịn gọi Z-Fails Thuật toán Z-fail đƣợc thể đoạn mã giả sau: Procedure IN_SHADOW_TEST // Z-fail For {tất vật thể cần đổ bóng} - Xây dựng danh sách cạnh viền - Tính tốn tứ giác bao quanh bóng khối dựa cạnh viền từ vị trí nguồn sáng End for For {Tất mặt trƣớc bóng khối nhìn từ vị trí điểm nhìn} if Depth test fails then - Giảm giá trị Stencil Buffer End if Nguyễn Tiến Dũng- CT1301 30 Đồ án tốt nghiệp Trƣờng ĐH Dân Lập Hải Phòng End for For {Tất mặt sau bóng khối nhìn từ vị trí điểm nhìn} if Depth test fails then - Tăng giá trị Stencil Buffer End if End for 2.5.1 Tất mặt trƣớc bóng từ vị trí điểm nhìn Void SHADOW_MODEL::SetConnectivity() { //set the neighbour indices to be -1 for(unsigned int i=0; i