Xây dựng game engine đa nền tảng hiệu ứng ánh sáng và vật liệu

51 730 2
Xây dựng game engine đa nền tảng hiệu ứng ánh sáng và vật liệu

Đ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

Tài liệu tham khảo công nghệ thông tin Xây dựng game engine đa nền tảng hiệu ứng ánh sáng và vật liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bùi Hoàng Khánh XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG HIỆU ỨNG ÁNH SÁNG VÀ VẬT LIỆU KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thông tin HÀ NỘI – 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Bùi Hồng Khánh XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG HIỆU ỨNG ÁNH SÁNG VÀ VẬT LIỆU KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin Cán hướng dẫn: ThS Vũ Quang Dũng HÀ NỘI – 2009 LỜI CẢM ƠN Lời xin bày tỏ lịng biết ơn chân thành tới thầy giáo Trường Đại học Cơng Nghệ, Đại học Quốc Gia nói chung thầy cô môn công nghệ Phần mềm nói riêng Trong suốt thời gian tơi học trường, thầy ln tận tình dạy dỗ, bảo để tơi có kết ngày hôm Đặc biệt, xin chân thành cảm ơn giảng viên, thạc sĩ Vũ Quang Dũng Cảm ơn thầy định hướng, nhận xét quý báu động viên kịp thời thầy giúp tơi hồn thành khóa luận Tơi xin cảm ơn phịng thí nghiệm Toshiba – Coltech tạo điều kiện cho có mơi trường làm việc q trình thực khóa luận Cuối tơi xin bày tỏ lịng biết ơn sâu sắc tới gia đình bạn bè, người động viên, giúp đỡ vật chất lẫn tinh thần suốt năm tháng qua Hà Nội, ngày 19 tháng 05 năm 2009 Sinh viên Bùi Hồng Khánh i TĨM TẮT Sự phát triển cơng nghệ mơ giải trí, ngày có nhiều ứng dụng đồ họa trị chơi 3D xây dựng nhằm phục vụ mục đích nghiên cứu, mơ giải trí… Cùng với đó, cơng nghệ phần cứng phát triển nhanh, đặc biệt phần cứng xử lý đồ họa lập trình ngơn ngữ lập trình phần cứng Tuy nhiên, để xây dựng ứng dụng đồ họa trò chơi 3D đảm bảo yêu cầu: hỗ trợ dải phần cứng phần mềm (cụ thể hệ điều hành) lớn, có khả lựa chọn API đồ họa mức thấp (OpenGL, OpenGL ES hay DirectX), dễ d àng quản lý phát triển tài nguyên; ứng dụng xây dựng từ game engine, không phát triển từ nguyên thủy Xuất phát từ thực tế đó, khóa luận tập trung nghiên cứu xây dựng hệ thống Game Engine hỗ trợ xây dựng ứng dụng đồ họa trò chơi 3D nhiều tảng khác Hệ thống Game Engine xây dựng cung cấp giao diện lập trình mức cao Khi phát triển ứng dụng đồ họa 3D, người lập trình khơng cần phải quan tâm đến trình quản lý tài nguyên, xử lý đồ họa mức thấp bên Thay vào đó, họ cần tập trung vào quản lý mức lơgíc thành phần ứng dụng, thêm thành phần dựa thành phần sở hệ thống cung cấp Nội dung khóa luận tập trung nghiên cứu vấn đề sau: - Môi trường phát triển hệ thống Game Engine ứng dụng đồ họa trò chơi 3D, gồm tảng phần cứng, phần mềm, công nghệ đồ họa mức thấp (như OpenGL, OpenGL ES, DirectX) - Thiết kế xây dựng hệ thống đồ họa có cấu trúc tương tác với người dùng - Nghiên cứu triển khai kỹ thuật tạo hiệu ứng ánh sáng khung cảnh 3D ii MỤC LỤC LỜI CẢM ƠN i TÓM TẮT ii MỤC LỤC iii BẢNG CÁC TỪ VIẾT TẮT v DANH MỤC HÌNH VẼ vi DANH MỤC BẢNG BIỂU viii MỞ ĐẦU Chương 1: TỔNG QUAN VỀ GEM 1.1 Khái niệm Game Engine 1.2 Mơ hình GEM .3 1.2.1 Các đặc điểm GEM 1.2.2 Kiến trúc tổng thể 1.2.2.1 Thành phần Cấu trúc liệu 1.2.2.2 Thành phần Giao tiếp với Hệ điều hành 1.2.2.3 Thành phần Render Engine 1.2.2.4 Các thành phần lại Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Ánh sáng đồ họa máy tính 2.1.1 Các thành phần ánh sáng 2.1.2 Các mơ hình tạo bóng 11 2.2 Đổ bóng .12 2.2.1 Bóng đối tượng khung cảnh 12 2.2.2 Phương pháp đổ bóng 12 2.3 Đối tượng có bề mặt phức tạp 13 2.3.1 Đối tượng với mạng lưới nhiều đa giác 13 2.3.2 Kỹ thuật sử dụng đồ vector pháp tuyến .13 2.3.3 Không gian Texture 14 iii Chương 3: MƠ HÌNH ĐỀ XUẤT 16 3.1 Các yêu cầu chung mô đun 16 3.2 Các thành phần mô đun 17 Chương 4: THIẾT KẾ CHI TIẾT 19 4.1 Chiếu sáng 19 4.1.1 Vật liệu 19 4.1.2 Chiếu sáng mơ hình OpenGL cung cấp .20 4.1.3 Chiếu sáng mơ hình tự định nghĩa .22 4.1.3.1 Lớp DLightSceneNode 22 4.1.3.2 Sử dụng DLightSceneNode 25 4.2 Hiệu ứng đổ bóng .27 4.3 Hiệu ứng Bump 30 Chương 5: THỰC NGHIỆM 34 5.1 Thực nghiệm chương trình .34 5.1.1 Phương pháp đánh giá 34 5.1.2 Kết đánh giá 34 5.2 Demo chương trình 35 KẾT LUẬN 37 Kết luận 37 Hướng phát triển 37 PHỤ LỤC 38 TÀI LIỆU THAM KHẢO a iv BẢNG CÁC TỪ VIẾT TẮT Ký hiệu Từ tiếng Anh Giải thích CPU Central processing unit Đơn vị xử lý trung tâm GPU Graphics processing unit Đơn vị xử lý đồ họa MMORPG Massively multiplayer online role-playing game Trò chơi nhập vai trực tuyến nhiều người chơi SL Shading language Ngơn ngữ tạo bóng SV Shadow volume Vùng giới hạn bóng v DANH MỤC HÌNH VẼ Hình 1: Kiến trúc phân tầng GEM Hình 2: Kiến trúc tổng thể GEM Hình 3: Biểu đồ lớp thành phần Các kiểu liệu Hình 4: Quá trình điều phối kiện .6 Hình 5: Kiến trúc phân tầng Render Engine Hình 6: Tác động Ánh sáng đồ họa 3D Hình 7: Vẽ vật thể với sáng Ambient 10 Hình 8: Vẽ vật thể với thành phần Diffuse 10 Hình 9: Vẽ vật thể với thành phần Specular 11 Hình 10: Kết số mơ hình tạo bóng 11 Hình 11: Kết mơ hình ánh sáng Vertex Pixel 12 Hình 12: Mơ hình SV .13 Hình 13: So sánh sử dụng đồ pháp tuyến thiết kế mơ hình 14 Hình 14: Mơ hình liên kết với thành phần khác bên 16 Hình 15: Các thành phần mơ đun Hiệu ứng ánh sáng vật liệu 17 Hình 16: Quá trình Chiếu sáng .19 Hình 17: Lớp Material 20 Hình 18: Lớp LightSceneNode .20 Hình 19: Sơ đồ “bật” nguồn sáng 21 Hình 20: Lớp DLightSceneNode 22 Hình 21: Sơ đô trạng thái “bật” nguồn sáng động 23 Hình 22: Lớp DLightEffect 24 Hình 23: Ví dụ lớp sử dụng DLightSceneNode .25 Hình 24: Quá trình chiếu sáng hệ thống ánh sáng động 26 vi Hình 25: Lớp Shadow 27 Hình 26: Sơ đồ trạng thái vẽ bóng 27 Hình 27: Lớp ShadowEffect 28 Hình 28: Cấu trúc liệu tính tốn Vùng đổ bóng 29 Hình 29: Sơ đồ hoạt động renderShadow() 30 Hình 30: Lớp BumpSceneNode 30 Hình 31: Tính ma trận chuyển từ không gian World sang không gian Texture 31 Hình 32: Sơ đồ lớp BumpEffect 32 Hình 33: Sơ đồ hoạt động phương thức render() BumpSceneNode .33 Hình 34: Hình hộp sử dụng hiệu ứng bump 36 Hình 35: Trò chơi cờ vua 36 Hình 36: Khung cảnh bên nhà .36 vii DANH MỤC BẢNG BIỂU Bảng 1: Dòng card đồ họa GEM hỗ trợ Bảng 2: Bảng đánh giá Thực nghiệm 34 Bảng 3: Bảng đánh giá Thực nghiệm 35 Bảng 4: Bảng đánh giá Thực nghiệm 35 viii ... khóa luận ? ?Xây dựng Game Engine đa tảng – Quản lý khung cảnh” - Trương Đức Phương - Hiệu ứng ánh sáng vật liệu mô đun mở rộng thành phần Quản lý khung cảnh để tạo hiệu ứng ánh sáng, vật liệu Mô...ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bùi Hoàng Khánh XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG HIỆU ỨNG ÁNH SÁNG VÀ VẬT LIỆU KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thông... bày ? ?ánh giá thực nghiệm demo tính mà mơ đun Hiệu ứng ánh sáng vật liệu thực Chương 1: TỔNG QUAN VỀ GEM 1.1 Khái niệm Game Engine Game Engine công cụ hỗ trợ, lớp trung gian ứng dụng game tảng

Ngày đăng: 22/11/2012, 14:42

Từ khóa liên quan

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

Tài liệu liên quan