ThS37 013 nghiên cứu các thuật toán tạo bóng trong đồ hoạ ba chiều tương tác thời gian thực

70 252 0
ThS37 013 nghiên cứu các thuật toán tạo bóng trong đồ hoạ ba chiều tương tác thời gian thực

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

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

Thông tin tài liệu

TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ TRI THỨC TP H C M oOo TN LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 H ĐẾ TÀI ho a C N TT -Ð H K NGHIÊN CỨU CÁC THUẬT TOÁN TẠO BÓNG TRONG ĐỒ HỌA BA CHIỀU TƯƠNG TÁC THỜI GIAN THỰC K HƯỚNG DẪN : THỰC HIỆN : Th.S ĐINH NGUYỄN ANH DŨNG NGUYỄN VĂN THÀNH 9912072 NGUYỄN THANH SƠN 9912062 Tp Hồ Chí Minh, 7/2003 Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 LỜI CẢM ƠN Chúng 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 Khoa học tự nhiên, người ân cần dạy dỗ cho M chúng em kiến thức bổ ích quý giá suốt năm học qua, H C người trang bị cho chúng em hành trang quý giá để bước vào đời TP Chúng em xin gửi lời cảm ơn sâu sắc tới thầy Đinh Nguyễn Anh Dũng, TN người tận tình bảo hướng dẫn chúng em thực tốt luận văn tốt H nghiệp K Chúng em xin gửi lời cảm ơn tới gia đình bạn bè, hậu phương vững -Ð H 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 TT hoàn thành tốt luận văn tốt nghiệp C N Chúng em xin gửi lời cảm ơn tới giúp đỡ anh Trần Thế Vinh dành K ho a cho chúng em thời gian thực luận văn -2- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 MỤC LỤC LỜI CẢM ƠN MỤC LỤC M PHẦN : MỞ ĐẨU BÓNG TRONG ĐỒ HỌA BA CHIỀU TƯƠNG TÁC II MỤC TIÊU CỦA LUẬN VĂN H C I CÁC THUẬT NGỮ VÀ CHỮ VIẾT TẮT 10 TN IV TP III CẤU TRÚC CỦA LUẬN VĂN 10 PHẦN : KỸ THUẬT KIỂM TRA STENCIL TRÊN TỪNG ĐIỂM ẢNH 13 GIỚI THIỆU 13 II Ý TƯỞNG CHÍNH 14 K H I -Ð H III KỸ THUẬT KIỂM TRA STENCIL TRÊN TỪNG ĐIỂM ẢNH 15 PHẦN : CÁC THUẬT TOÁN TẠO BÓNG 19 PLANAR SHADOW 19 TT I C N 1) GIỚI THIỆU 19 2) KHÔNG ÁP DỤNG KỸ THUẬT STENCIL TEST 22 ho a 3) ÁP DỤNG KỸ THUẬT STENCIL TEST 23 4) CÁC CẢI TIẾN QUAN TRỌNG 26 5) ƯU ĐIỂM 28 K 6) KHUYẾT ĐIỂM 28 7) NHẬN XÉT 28 II SHADOW VOLUME 29 1) GIỚI THIỆU 29 2) SHADOW VOLUME 30 a TÍNH SILHOUETTE 30 b TÍNH SHADOW VOLUME 33 -3- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 3) THUẬT TOÁN SHADOW VOLUME 33 a THUẬT TOÁN 33 b CÁC CẢI TIẾN QUAN TRỌNG 37 4) ƯU ĐIỂM 49 5) KHUYẾT ĐIỂM 50 6) NHẬN XÉT 50 III PROJECTIVE SHADOW MAPPING 51 M 1) Ý TƯỞNG CHÍNH 51 H C 2) TẠO SHADOW MAP 52 3) CHIẾU SHADOW MAP LÊN VẬT HỨNG BÓNG 57 TP 4) ƯU ĐIỂM 59 5) KHUYẾT ĐIỂM 59 TN 6) NHẬN XÉT 60 H PHẦN : ĐÁNH GIÁ VÀ CÁC HƯỚNG PHÁT TRIỂN 61 HỆ THỐNG ĐIỀU KHIỂN 61 II YÊU CẦU 61 -Ð H K I III ĐÁNH GIÁ VÀ KẾT LUẬN 62 TT PHỤ LỤC 64 K ho a C N TÀI LIỆU THAM KHẢO 68 -4- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 PHẦN : MỞ ĐẦU Trong thực tế, người cảm nhận giới giác quan M Một vật thể cảm nhận xúc giác qua sờ mó hay H C cảm nhận mùi qua khứu giác , nhiên chừng mực nói cảm nhận vật thể thị giác qua màu sắc, đặc TP điểm, hình dạng, … cho người cảm nhận đầy đủ, trực quan TN rõ ràng Vì xây dựng chương trình máy tính mô vật thể, tượng giới thực K vấn đề mà họ xem xét H cung cấp cho người dùng cách tiếp cận thị giác trực quan -Ð H Với công nghệ phần cứng máy tính nay, hạn chế phần cứng chương trình đồ họa ba chiều phần giải quyết, TT công nghệ đồ họa ba chiều quan tâm C N phát triển giới Các nhóm chương trình ứng dụng đồ họa ba chiều kể : ho a ƒ Hỗ trợ thiết kế : Một ứng dụng đồ họa ba chiều máy tính chương trình hỗ trợ thiết kế CAD, 3D K Max, Maya, Poser, … Các chương trình sử dụng cho công việc thiết kế nhà cửa, quần áo, phương tiện giao thông, dụng cụ, mô hình người, … ƒ Giáo dục đào tạo : Các chương trình mô ( thực ảo) : mô sinh họa, hóa học, vật lý học, mô phóng tàu vũ trụ, lái xe, lái máy bay, bảng đồ thông tin địa lý GIS… -5- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 ƒ Giải trí nghệ thuật : Các chương trình thiết kế mỹ thuật, tạo mô hình cho việc quy hoạch,… cho phép tạo dựng hiệu chỉnh kiến trúc công trình, cho phép quan sát nhiều góc độ để có nhìn tổng quan công trình từ đưa chỉnh sửa phù hợp Ngoài đồ họa ba chiều giúp tạo chương trình trò chơi giải trí; hỗ trợ kỹ xảo điện ảnh M ƒ Du lịch ảo : cho du khách tham quan tương tác với H C giới giống giới thật mà không cần phải tới tận nơi, tốn chi phí cho chuyến du lịch TP Vấn đề quan trọng đồ họa ba chiều làm thể TN hình ảnh giới lên hình máy tính cách trung K H thực -Ð H I BÓNG TRONG ĐỒ HỌA BA CHIỀU TƯƠNG TÁC Trên giới thực người nhìn giới qua ánh sáng, ánh sáng lại TT đôi với bóng, đâu có ánh sáng có bóng Do thể hai yếu tố bóng ánh sáng làm tăng tính trung thực C N hình ảnh ba chiều máy tính Khi người dùng giao tiếp với chương trình đồ họa ba chiều máy ho a tính họ thường có cảm giác đối tượng lơ lửng không K gian thực tế chúng nằm bề mặt đó, camera đứng yên chỗ, người dùng khó nhận chiều sâu vị trí tương đối đối tượng Nếu chương trình đồ họa ba chiều có cài đặt kỹ thuật làm bóng cho đối tượng giúp người dùng dễ dàng cảm nhận giới chương trình Chính vậy, chương trình đồ họa ba chiều, cho dù tạo bóng cho đối tượng dở không tạo bóng cho chúng -6- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 .H C M LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 B TP A Chúng ta dễ nhận biết vị trí khối hộp hình B hình A TN Trong thực tế, ánh sáng hạt photon lượng, ánh sáng chiếu vào vật thể đó, hạt photon phần hấp thụ, K H phần phản xạ lại vật thể Nơi hạt photon -Ð H chiếu tới hay chiếu tới với cường độ yếu nơi có bóng Trong đồ họa ba chiều, cách tính toán để tạo bóng tạo bóng giới thực nhiên kỹ thuật phức tạp tốn nhiều chi phí TT Chúng ta phải giải nhiều toán khó cách tiếp cận này, C N toán phản xạ, hấp thụ, toán giao tia đa giác,… quan trọng phải tính toán điểm ảnh ho a không gian giới ba chiều, không gian giới rộng lớn tốc độ xử lý chậm, hệ thống phần cứng máy tính thông dụng K cón hạn chế nên kỹ thuật thực hệ thống thời gian thực Các kỹ thuật tạo bóng thực thường áp dụng thiết bị chuyên dụng đặc biệt xuất thành phim hay dựng lên mô hình ba chiều tĩnh Có hai kỹ thuật tạo bóng thực tiếng Ray Trace Radiosity nhiên luận văn không trọng tới việc xây dựng thuật toán tạo -7- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 bóng mà tập trung vào nghiên cứu thuật toán tạo bóng hệ thống mang tính thời gian thực Trong hệ thống thời gian thực, phải áp dụng thuật toán tạo bóng giả, thuật toán độ xác 100% nhiên chúng cho bóng chấp nhận thị giác người Độ phức tạp chi phí tính toán thuật toán thấp nhiều so với M thuật toán tạo bóng thực thuật toán khả thi hệ H C thống máy tính thông thường áp dụng chương trình đồ họa ba chiều mang tính tương tác, thời gian thực Từ phần luận TP văn nói thuật toán tạo bóng, xin hiểu thuật toán tạo bóng giả TN Các thuật toán tạo bóng (giả) đồ họa ba chiều nghiên cứu từ năm 80 kỷ trước Có thể kể thành tựu lớn việc K H nghiên cứu bóng thời gian này, : -Ð H ƒ Thuật toán tạo bóng dựa phép chiếu Jim Blinn năm 1988 cải tiến vào năm 1996 ƒ Thuật toán tạo bóng mặt phẳng Thant Tessman năm 1989 TT ƒ Ý tưởng sơ khai shadow volume Pllippe Bergeron năm 1986 C N ƒ Ý tưởng việc sử dụng thành phần độ sâu William Reeves, David Salesin Robert Cook năm 1987 ho a Tuy nhiên ý tưởng thuật toán sơ khai, chưa hoàn chỉnh thiếu hỗ trợ mặt công nghệ nên chưa thể thực tốt K thời gian phải tới thập kỷ 1990 vấn đề việc tạo bóng đồ họa ba chiều tương tác thực theo thuật toán máy tính Từ thập kỷ 1990 tới thời gian có nhiều thành tựu to lớn bóng với : -8- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 ƒ Thuật toán tạo bóng mặt phẳng (Planar Shadow) Schilling, Andreas, G.Knittel Wolfgang năm 1996 ƒ Thuật toán vùng bóng (shadow volume) Heidmann năm 1991 – cải tiến Tom McReynolds David Blythe năm 1997 – Yen Kwoon, Eric Lengyel năm 2002, cải tiến Tom Hall năm 2003 M ƒ Thuật toán Shadow Mapping Mark J.Kilgard năm 2000 H C ƒ Thuật toán Projective Shadow Mapping Mark A.Deloura năm 2000 TP Mặc dù vậy, tính phức tạp cài đặt thuật toán giới TN rộng lớn thuật toán có ưu điểm khuyết điểm, khó để áp dụng trường hợp tổng quát nên thực tế có số -Ð H K H chương trình có cài đặt kỹ thuật tạo bóng II MỤC TIÊU CỦA LUẬN VĂN TT Bài toán tạo bóng giả toán khó đồ họa ba chiều thời gian thực, đề tài thu hút nhiều quan tâm C N trung tâm nghiên cứu trường đại học giới Đây lĩnh vực chưa giải trọn vẹn, mở nhiều hướng ho a nghiên cứu, phát triển tương lai Trước thực trạng đề tài K hướng tới mục tiêu sau ƒ Nghiên cứu cài đặt thử nghiệm thuật toán tạo bóng phổ biến hiệu cao đồ họa ba chiều thời gian thực nay, bao gồm : o Thuật toán tạo bóng phẳng Planar Shadow o Thuật toán tạo bóng Shadow Volume o Thuật toán Projective Shadow Mapping -9- Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 ƒ Xây dựng mô hình nhà tù Chuồng Cọp thuộc Bảo Tàng Di Tích Chiến Tranh thành phố Hồ Chí Minh, cài đặt thuật toán tạo bóng mô hình nhằm minh họa bóng giới tương tác thời gian thực III CẤU TRÚC CỦA LUẬN VĂN H C M Nội dung luận văn chia làm phần ƒ Phần – Phần mở đầu TP ƒ Phần – Kỹ thuật kiểm tra stencil điểm ảnh : Phần trình bày kỹ thuật kiểm tra stencil điểm ảnh áp TN dụng cho thuật toán tạo bóng để giới hạn vùng bóng Đây H phần tùy chọn mô tả kỹ thuật đồ họa ba chiều bỏ qua K biết -Ð H ƒ Phần – Các thuật toán tạo bóng : Giới thiệu thuật toán tạo bóng nghiên cứu luận văn, đưa đánh giá ưu TT khuyết điểm thuật toán ƒ Phần – Đánh giá hướng phát triển : Đánh giá kết đạt C N luận văn hướng phát triển ho a IV.THUẬT NGỮ VÀ CHỮ VIẾT TẮT Ý nghĩa K Thuật ngữ Một điểm ảnh không gian ba chiều, có Pixel thuộc tính màu, độ sâu, độ alpha giá trị stencil Texture Các hình ảnh dán lên bề mặt đó, làm cho bề mặt giống thật - 10 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 ƒ Nếu Zlight = (0.381, 0.889, 0.254) V = (0.0, 0.0, 1.0) ƒ Nếu Zlight = (-0.889, 0.254, 0.381) V = (0.0, 1.0, 0.0) Kết tích hữu hướng Zlight V vector vuông góc H C M với hai, sau chuẩn hóa ta Xlight TN TP Sau có Xlight Zlight ta tính Ylight H Vì X-Zlight vector đơn vị nên không cần chuẩn hóa Ylight K Từ Xlight, Ylight, Zlight, Plight biết, ta tạo ma trận ho a C N TT -Ð H ánh xạ điểm từ hệ tọa độ giới thực sang hệ tọa độ nguồn sáng K Bước tính ma trận để chuyển đổi từ hệ tọa độ vật chắn sáng sang hệ trục tọa độ nguồn sáng Ta có : MBlockerLocalToLight = MBlockerLocalToWorld * MWorldToLight Với MBlockerLocalToLight ma trận để chuyển đổi từ hệ tọa độ vật chắn sáng sang hệ trục tọa độ nguồn sáng, MBlockerLocalToWorld ma trận để chuyển đổi từ hệ tọa độ vật chắn sáng sang hệ trục tọa độ - 56 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 giới thực, MWorldToLight ma trận để chuyển đổi từ hệ tọa độ giới thực sang hệ trục tọa độ nguồn sáng Vì mặt phẳng ảo dùng phép chiếu tạo shadow map song song với mặt phẳng X-Ylight nên ta xác định ma trận chiếu để tạo shadow map Xác định phép chiếu phối cảnh H C M Để xác định phép chiếu ta cần góc chiếu hay tỷ lệ chiếu trục X, Y Các tỷ lệ chiếu RX, RY cho đỉnh vật chắn sáng xác TP định qua phép biến đổi với ma trận MBlockerLocalToLight chia kết Phép chiếu thích hợp -Ð H K H TN trục X, Y cho trục Z TT Chúng ta luôn thực phép chiếu để tạo shadow map, C N nhiên silhouette vật chắn sáng bị thay đổi ta thay đổi vị trí nguồn sáng xa lại gần hay kích cỡ vật chắn sáng bị ho a thay đổi Sự thay đổi silhouette dẫn tới ảnh chiếu nhỏ silhouette shadow map hay lớn shadow map, kích K thước silhouette vật chắn sáng không vừa khớp với shadow map, chiếu lên vật hứng bóng cho bóng không thích hợp - 57 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 A B C M Không thích hợpA-B, thích hợp C H C Để thực phép chiếu thích hợp cho ánh xạ vật chắn sáng vừa vặn vào shadow map ta sử dụng giá trị lớn RX (RXmax) TP làm tỉ lệ ngang phép chiếu RY (RYmax) làm tỉ lệ dọc phép -Ð H K H TN chiếu Ta tìm ma trận chiếu sau TT Với SMapWidth SMapHeight độ phân giải theo chiều ngang C N dọc shadow map, Znear, Zfar khoảng cách tới mặt phẳng near far view frustum nguồn sáng ho a Nhân ma trận với ma trận MBolckerLocalToLight ta ma trận phép chiếu vật thể từ hệ tọa độ cục thành hệ tọa độ texture K Shadow Map MBolckerLocalToShadowMap = MBolckerLocalToLight* MBolckerProjection Chiếu Shadow map lên vật hứng bóng Từ bước xử lý bên ta có shadow map vật chắn sáng ứng với nguồn sáng Shadow map chiếu lên hay - 58 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 nhiều vật hứng bóng cho dù vật hứng bóng có hình dáng shadow map áp lên texture Chúng ta sử dụng lại phép chiếu để tạo shadow map để chiếu shadow map lên vật hứng bóng Ma trận chiếu thay đổi hệ số viền tỷ lệ để phù hợp cho việc chiếu shadow map lên vật hứng bóng, ta có TN TP H C M ma trận chiếu shadow map lên vật hứng bóng MReceiverProjection sau H Nhân ma trận với ma trận MWorldToLight ta ma trận phép K chiếu từ hệ tọa độ giới thực sang hệ tọa độ texture Shadow Map -Ð H MWorldToShadowMap = MWorldToLight* MReceiverProjection Nhân tiếp ma trận MWorldToShadowMap với ma trận TT MReceiverLocalToWorld để ma trận phép chiếu từ hệ tọa độ cục C N vật hứng sáng sang hệ tọa độ texture Shadow Map MReceiverLocalToShadowMap = MReceiverLocalToWorld * MWorldToShadowMap ho a Chúng ta sử dụng hệ số viền 0.98 0.49 thay cho 0.5 hai ma trận MBlockerProjection MReceiverProjection để không ánh xạ K shadow map lên viền texture bóng vật hứng bóng, tránh tượng tự động lặp lại texture viền toàn bề mặt vật hứng bóng Render vật hứng bóng - 59 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 ƒ Cách render Single-pass : Nếu vật hứng bóng texture render vật thể với texture shadow map đen trắng chiếu sáng vật hứng bóng ƒ Cách render Multi-pass : Nếu vật hứng bóng thân có sẵn texture phải dán thêm texture shadow map lên vị trí thích hợp Render đối tượng nhiều lần với texture M khác trộn chúng lại theo cách thức khác Nếu H C phần cứng có hỗ trợ kỹ thuật multitexture dán TP texture shadow map vào, sau blend hai texture với TN Ưu điểm H Đổ bóng mặt cong, mặt hình học phức tạp K Do trình tạo shadow map trình render bình thường nên -Ð H render vật chắn sáng với độ suốt hay độ mờ đục TT Khuyết điểm C N Tốn thêm thời gian cho trình render shadow map: ƒ Thời gian xoá frame buffer ho a ƒ Thời gian chép liệu từ frame buffer sang nhớ (cả CPU GPU phải đồng thời xử lý) K Chất lượng bóng phụ thuộc vào ƒ Kích thước texture làm shadow map, trình render vật chắn sáng tạo shadow map : Có thể xảy tượng hình ảnh vật chắn sáng nằm phần nhỏ shadow map dẫn đến lãng phí nhớ đạt chất lượng bóng tương đương với shadow map có độ phân giải thấp đường cạnh vật - 60 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 chắn sáng không song song với phương ngang phương thẳng đứng => hình thành đương biên nghiêng gây cưa shadow map ƒ Độ xa gần bề mặt đổ bóng ƒ Kích thước vật chắn sáng Thời gian render bóng phụ thuộc vào vật hứng bóng Vì chất M chức multitexture trình render đối tượng nhiều lần với H C texture khác trộn chúng lại theo cách thức khác nên trình render bóng lên đối tượng hình học phức tạp lâu TP bề mặt đơn giản TN Không có khả tự đổ bóng lên vật thể chắn sáng K H Có tượng đổ bóng ngược -Ð H Nhận xét Đâ thuật toán thường áp dụng giới có vật dụng TT thủy tinh bề mặt đơn giản, đổ bóng vật thể phức tạp tốn chi phí, bóng phụ C N thuộc vào kích thước shadow map nên muốn bóng chất lượng cao K ho a phải tốn nhớ để tăng kích thước texture - 61 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 TP H C M LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 TN PHẦN : KẾT QUẢ CÀI ĐẶT VÀ -Ð H K H ỨNG DỤNG Luận văn xây dựng giới ba chiều tương đối hoàn hảo TT giống với thực tế, cho phép người dùng tương tác với giới Các hiệu ứng mặt ánh sáng, tính chất vật lý rơi, dụng chạm hiệu ứng C N bóng cài đặt để làm tăng tính trung thực tăng cảm nhận ho a xác người dùng giới I.HỆ THỐNG ĐIỀU KHIỂN K Chuột : Quay góc nhìn W : Di chuyển tới S : Di chuyển lui A : Di chuyển sang trái D : Di chuyển sang phải H / F1 : Bật hình trợ giúp - 62 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 P : Chuyển đổi qua lại trạng thái không bóng, shadow volume, planar shadow projective shadow mapping C : Bật tắt chế độ xét va chạm camera với giớI > / < : Tăng giảm tốc độ V : Bật tắt chế độ quan sát silhouette/ shadow volume/ shadow thuật toán shadow volume M I : Thay đổi kích thước shadow map H C L : Bật tắt dao động đèn TP II YÊU CẦU TN CPU Pentium III 750 MHz H Hệ điều hành : Windows ME, Windows 2000, Windows XP K Bộ nhớ 128 MB RAM -Ð H Card đồ họa GeForce3 32MB nhớ( đề tài có sử dụng hàm mở rộng phần cứng GenOcclusionQueriesNV nằm phần cứng TT card đồ họa GeForce trở lên ) C N Driver card đồ họa có hỗ trợ OpenGL ho a III ĐÁNH GIÁ VÀ KẾT LUẬN Luận văn hoàn thành mục tiêu ban đầu đề nghiên cứu cài K đặt hoàn chỉnh thuật toán tạo bóng phổ biến hiệu planar shadow, shadow volume projective shadow mapping Không dừng lại chương trình minh họa đơn giản cục bộ, cài đặt thuật toán tạo bóng nguyên thủy, đề tài tập trung nghiên cứu ưu khuyết điểm, hướng cải tiến thuật toán tạo bóng để thuật toán tạo bóng áp dụng vào giới - 63 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 ba chiều tương tác rộng lớn thời gian thực Điều chứng minh qua việc cài đặt thành công thuật toán tạo bóng mô hình nhà tù Chuồng Cọp thuộc Bảo Tàng Di Tích Chiến Tranh thành phố Hồ Chí Minh Trong trò chơi ba chiều phổ biến nay, việc tạo bóng cho nhân vật vật thể giới toán chưa giải trọn vẹn chưa khắc phục triệt để khuyết điểm thuật toán M tạo bóng áp dụng vào môi trường ứng dụng thực tế Các trò chơi H C ba chiều công ty tiếng phát triển : NeverWinter Nights năm 2002, Tiger Wood 2002, Enter the Matrix năm 2003, … TP bộc lộ số hạn chế sai sót kỹ thuật tạo bóng Luận văn TN đưa hướng giải tương đối phù hợp cho việc đưa thuật toán tạo bóng vào chương trình đồ họa ba chiều tương tác thời K H gian thực Trong hướng giải kết hợp thuật toán -Ð H nguyên thủy với cải tiến xuất phát từ nhiều công trình nghiên cứu khoa học giới Tuy thời gian thực hạn hẹp, luận văn đạt thành TT công đáng khích lệ định Có thể nói thành công bắt C N tay vào đề tài mẻ Việt Nam nói riêng đề tài quan tâm, nghiên cứu nhiều công ho a nghệ đồ họa ba chiều giới nói chung Thông qua trình nghiên cứu nhận thấy rằng dành cho đồ họa ba chiều K quan tâm mức, chúng ta, người Việt Nam, hoàn toàn đủ sức để khai phá lĩnh vực này, chí với công nghệ tiên tiến Mô hình luận văn mở rộng theo nhiều hướng để tạo chương trình ứng dụng thực tế : Tham quan Bảo Tàng Di Tích Chiến Tranh, mô hình giới trò chơi, mô hình mô phỏng,… mục tiêu phấn đấu tương lai - 64 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 K H TN TP H C M LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 -Ð H PHỤ LỤC TT GIÁ TRỊ HIỆN HÀNH VÀ DỮ LIỆU LIÊN QUAN C N Biến giá trị Khởi tạo mặc Hàm lấy giá định trị GL_FALSE GL_STENCIL_FUNC GL_ALWAYS glGetIntegerv() 1’s glGetIntegerv() GL_STENCIL_REF glGetIntegerv() GL_STENCIL_FAIL GL_KEEP glGetIntegerv() GL_STENCIL_PASS_DEPTH_FAIL GL_KEEP glGetIntegerv() GL_STENCIL_PASS_DEPTH_PASS GL_KEEP glGetIntegerv() 1’s glGetIntegerv() ho a GL_STENCIL_TEST K GL_STENCIL_VALUE_MASK GL_STENCIL_WRITEMASK - 65 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 glIsEnable() LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 GL_STENCIL_CLEAR_VALUE glGetIntegerv() GL_DEPTH_TEST GL_FALSE GL_DEPTH_FUNC GL_LESS glIsEnable() glGetIntegerv() CÁC MA TRẬN CHUYỂN ĐỔI Tịnh tiến : TN TP H C M Tịnh tiến tới tọa độ (x,y,z,1) TT -Ð H K H Ma trận khả nghịch : C N Biến đổi tỷ lệ : K ho a Thay đổi tỷ lệ x,y,z trục Ma trận khả nghịch : - 66 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 M LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 H C Quay : K H TN TP Quay quanh trục x góc a : C N TT -Ð H Quay quanh trục y góc a : K ho a Quay quanh trục z góc a : Phép chiếu phối cảnh : - 67 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 Phép chiếu phối cảnh với chóp nhìn (view frustum) có giá trị trái l, TP H C M phải r, b, t, gần n, xa f : TT -Ð H K H TN Ma trận khả nghịch : C N Phép chiếu song song : ho a Phép chiếu song song với khối nhìn (view volume) có giá trị trái l, phải K r, b, t, gần n, xa f : - 68 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 M LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 TT -Ð H K H TN TP H C Ma trận khả nghịch : ho a C N TÀI LIỆU THAM KHẢO [1] : Ashu Rege, Occlusion (HP and NV Extensions) (HP and NV K Extensions), NVIDIA Corporation, 1/2003 [2] : Tom Hall, Silhouette Tracking, www.geocities.com/tom_j_hall, 5/2003 [3] : Eric Lengyel, The Mechanics of Robust Stencil Shadows, Gamasutra, http://www.gamasutra.com/features/20021011/lengyel_01.htm, 10/2002 [4] : Yen Kwoon Hun, The Theory of Stencil Shadow Volumes, Gamedev, http://www.gamedev.net/reference/articles/article1873.asp , 3/2002 - 69 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 LUẬN VĂN TỐT NGHIỆP CỬ NHÂN TIN HỌC KHÓA 99 [5] : Tom Davis, Dave Shreiner, Mason Woo Jackie Neider, OpenGL Programming Guide, Third Edition, Addison Wesley Longman Inc, 1999 [6] : Tomas Moller Eric Haines, Realtime Rendering, A K Peters Ltd, Natick, 1999 [7] : Mark J Kilgard, Improving Shadows and Reflections via the Stencil Buffer, NVIDIA Corporation, 7/2000 M [8] : Mark A.DeLoura, Game Programming Gem, Charles River Media Inc, H C Rockland, Massachusetts, 2000 [9] : Mark J.Kilgard, Shadow Mapping with Today’s OpenGL Harware, TP NVIDIA Corporation, 2001 Shadow Volumes for TN [10] : Cass Everitt Mark J Kilgard, Practical and Robust Stenciled Hardware-Accelerated NVIDIA K H Corporation, 12/2002 Rendering, -Ð H [11] : Tiago Sousa, Real Time Shadow Techniques, Real Time Computer Graphics, 1/2003 Corporation, 12/2002 TT [12] : D Sim Dietrich Jr, Projective Shadows Shadows, NVIDIA C N [13] : Tiago Sousa, Projective Texturing based FX, Real Time Computer Graphics, 12/2002 ho a [14] : Các website nói vấn đề tạo bóng đồ họa ba chiều : www.nehe.gamedev.com, www.gameprogramming.com, www.gamedev.net K , www.gamasutra.com, www.opengl.org - 70 - Viết thuê luận văn thạc sĩ Luanvanaz@mail.com - 0972.162.399 [...]... đặc TT Thuật toán tính silhouette là một phần tính toán tốn nhiều chi phí của thuật toán tạo shadow volume, do đó việc tính toán ra silhouette ảnh C N hưởng rất lớn đối với bóng, nhất là bóng trong thời gian thực ( bóng được tính lại trong mọi thời điểm ) ho a Thuật toán của Yen Kwoon, Hun : K Thuật toán này không xem xét hết tất cả các cạnh trên lưới tam giác của vật chắn sáng mà chỉ xem xét các cạnh... hướng bóng, shadow volume được tạo ra bởi nguồn sáng và vật chắn sáng sẽ chia không gian ra thành các vùng có bóng các vùng không có bóng Ý tưởng chính của thuật toán shadow volume là sử dụng kỹ thuật stencil test để gán các giá trị stencil khác nhau cho các điểm ảnh thuộc vùng bóng và không bóng Để tạo ra các M điểm và các giá trị stencil tương ứng ta sử dụng kết quả của các toán H C tử trong kỹ thuật. .. phải có một kỹ thuật mạnh hơn kỹ thuật planar shadow M để tạo ra bóng trong trường hợp này đó là kỹ thuật tạo bóng dựa vào H C vùng bóng (shadow volume) Trong thế giới thực khi một vật thể chắn một nguồn sáng nó sẽ tạo ra TP một vùng không gian không được chiếu sáng bởi nguồn sáng đó, vùng TN không gian này này được gọi là shadow volume Ý tưởng chính của thuật toán tạo bóng dựa vào vùng bóng (shadow... tiếp, các xử lý tương ứng sẽ được thực hiện đối với từng sự thay đổi TN Trong một thế giới ba chiều bóng, một điểm ảnh có thể ở một trong hai H trạng thái, nằm trong vùng bóng hay nằm ngoài vùng bóng Chúng ta sẽ K gán giá trị stencil tương ứng cho tất cả cả các điểm ảnh, sau đó điều chỉnh -Ð H các hàm của kỹ thuật stencil test sao cho chỉ cập nhật giá trị stencil của các điểm ảnh nằm trong vùng bóng. .. giới ba chiều này mà TT không có ánh sáng Sau đó lại điều chỉnh các hàm của kỹ thuật stencil test sao cho chỉ cập nhật giá trị stencil cuả các điểm ảnh nằm ngoài vùng bóng, C N render lại thế giới ba chiều một lần nữa với ánh sáng Các điểm ảnh nằm trong vùng bóng sẽ được render trong trạng thái không có ánh sáng và các ho a điểm ngoài vùng bóng sẽ được render trong trạng thái có ánh sáng và tạo ra K bóng. .. tự các đỉnh ngược chiều kim đồng hồ Các cạnh được render đứt Thuật toán được phát biểu như sau : K H Đầu vào : TN các cạnh được xét TP đoạn là các cạnh ta không quan tâm tới, các cạnh render liền nét là -Ð H ƒ Vật thể chắn sáng với các mặt đã được chuẩn hóa đưa về dạng lưới các tam giác ƒ Lưới tam giác của vật thể khép kín C N Thuật toán : TT ƒ Một stack lưu các cạnh ƒ Duyệt qua tất cả các tam giác trong. .. Đối với bóng tạo với kỹ thuật stencil, nếu phần cứng có hỗ trợ stencil K 6 Khuyết điểm -Ð H Chỉ tạo được bóng trên các mặt phẳng Bóng của vật thể hình chiếu của vật thể nên có số lượng đa giác và độ TT phức tạp và tốn chi phí render như nhau trong khi bóng trong thực tế C N đơn giản hơn vật chắn sáng nhiều ho a Không có khả năng tự đổ bóng lên chính vật thể chắn sáng 7 Nhận xét K Thuật toán tạo bóng Planar... vật hứng sáng, một mặt hứng bóng thì các TN thuật toán tạo bóng rất đơn giản do chỉ có một bóng duy nhất đổ lên một mặt, tuy nhiên khi chúng ta dựng lên một thế giới ba chiều mô phỏng thế H giới thực thì thế giới ba chiều đó không chỉ có một mà có rất nhiều nguồn K sáng, vật chắn sáng và mặt hứng bóng, do đó có rất nhiều bóng đổ lên -Ð H nhiều mặt khác nhau và có khi một bóng đổ lên rất nhiều mặt Vấn... chỉ render bóng tại điểm ảnh nào có giá trị stencil là 1 Bóng được tạo ra sẽ chỉ nằm trong vùng giới hạn bởi mặt phẳng hứng bóng mà không được render ở các vùng nằm ngoài mặt phẳng hứng bóng M Thuật toán phát biểu như sau : H C Đầu vào : ƒ Một nguồn sáng điểm TP ƒ Một mặt phẳng TN ƒ Một vật chắn sáng Thuật toán : K H ƒ Tính toán ma trận Model View trong phép biến đổi view -Ð H tranform ƒ Bật chế độ kiểm... trên từng điểm ảnh (stencil test) là một kỹ thuật thực hiện trên từng điểm ảnh tương tự như kỹ thuật kiểm tra độ sâu của từng điểm ảnh trong đồ họa ba chiều (depth test), depth test kiểm tra và điều chỉnh giá trị độ sâu của điểm ảnh trong depth buffer còn stencil test kiểm tra và điều chỉnh giá trị stencil của điểm ảnh trong stencil bufer .H C M Trong kỹ thuật stencil test khi render, mỗi một điểm

Ngày đăng: 13/07/2016, 15:50

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan