DANH MỤC TÀI LIỆU
Nghiên cứu phát triển 3D Flash cho thiết bị di động. Sử dụng Gnash làm máy Flash trên “Beagle Board”2 môi trường Linux hỗ trợ đồ họa OpenGLES.
ĐẠI HC QUC GIA HÀ NI
TRƯỜNG ĐẠI HC CÔNG NGH
Lê Viết Sơn
XÂY DỰNG ĐỒ HA 3D DA TRÊN CÔNG NGH
FLASH DÀNH CHO THIT B NHÚNG
PHƯƠNG PHÁP XỬ3D CA PAPERVISION3D
KHOÁ LUN TT NGHIỆP ĐẠI HC H CHÍNH QUY
Ngành: Công Ngh Thông Tin
HÀ NI - 2010
Lời cảm ơn
Trước tiên, em muốn gửi lời cảm ơn sâu sắc nhất đến hai thầy giáo PGS-TS Nguyễn
Việt Hà và Th.S Vũ Quang Dũng. Các thầy đã tận tình hướng dẫn chúng em trong học
tập, đồng thời tạo điều kiện trong công việc nghiên cứu tại phòng thí nghiệm Toshia-
Coltech suốt hai năm qua.
Chúng em xin bày tỏ lòng cảm ơn đến những thầy cô giáo công tác, giảng dạy tại
trường đại học Công Nghệ - Đại học Quốc Gia Hà Nội. Những kiến thức, phương pháp
qúy báu thầy cô truyền đạt sẽ là hành trang giúp chúng em vững bước trong tương lai.
Tôi xin cảm ơn các thành viên phòng thí nghiệm Toshiba-Coltech, các bạn đã cho
tôi nhiều ý kiến qúy báu khi thực hiện khóa luận.
Cuối cùng con xin gửi tới bố mẹ và toàn thể gia đình lòng biết ơn và tình cảm yêu
thương sâu sắc nhất.
Hà Nội, 19 tháng 5 năm 2010
Sinh viên
Lê Viết Sơn
i
Tóm tắt nội dung
Ngày nay, thiết bị di động trở nên phổ biến và mang lại nhiều tiện ích trong cuộc
sống. Với sự phát triển của đồ họa máy tính, giao diện các ứng dụng ngày càng đẹp mắt
và thân thiện với người dùng. Đồ họa ba chiều được sử dụng rộng rãi trên máy tính cá
nhân hay những thiết bị có cấu hình mạnh và mang lại hiệu quả to lớn. Tuy nhiên, thiết
bị nhúng có cấu hình thấp hơn bởi vy chúng ta cần phải xây dựng hệ thống phù hợp để
đáp ứng được nhu cầu về tốc độ xử lý và hiển thị.
Khóa luận tập trung tìm hiểu phương pháp xử lý đồ họa 3D cho thiết bị di động.
ii
Mục lục
1 Đặt vấn đề 1
1.1 Thực trạng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Phạm vi nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Cách tiếp cận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Cấu trúc khoá luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Cơ sở lý thuyết 4
2.1 Công nghệ Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Ngôn ngữ ActionScript . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Tệp tin SWF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.4 Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Gnash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 hình y dựng . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3 chế hoạt động . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Tamarin - AVM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Kiến trúc, nguyên lý hoạt động . . . . . . . . . . . . . . . . . . . 9
2.3.3 Bộ biên dịch JIT . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.4 Bộ thông dịch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.5 Quản lý bộ nhớ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Papervision3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iii
MC LC
2.4.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2 Kiến trúc, thành phần . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3 Một số kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Môi trường đồ họa OpenGLES trên PowerVR . . . . . . . . . . . . . . . 23
3 Kỹ thuật xử lý đồ họa 3D Flash 25
3.1 tả bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 hình đề xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1 Ý tưởng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.2 Giải pháp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Thực nghiệm 27
4.1 Kết quả thực thi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.1 Cấu tạo của ABC . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.2 Cấu hình phần cứng cần thiết . . . . . . . . . . . . . . . . . . . . 28
4.2 Minh họa thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Kết luận và hướng phát triển 30
5.1 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
A Kiểu và tập lệnh trong AVM2 31
A.1 Một số kiểu dữ liệu trong AVM2 . . . . . . . . . . . . . . . . . . . . . . . 31
A.2 Tóm tắt tập lệnh AVM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
B Công cụ Abcdump / Tamarin 33
C Mã nguồn chương trình Papervision3D 35
Tham khảo 36
iv
Danh sách hình v
1.1 Biểu đồ hiển thị trực quan 3D . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Tổng quan dự án . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Cấu trúc tệp Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Minh họa thẻ trong tệp SWF . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Hoạt động của Adobe Flash Player phiên bản 9 . . . . . . . . . . . . . . . 7
2.4 hình Flash player thực thi Papervision3D . . . . . . . . . . . . . . . . 8
2.5 chế hoạt động của Gnash . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6 Kiến trúc AVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7 Minh họa đoạn mã được thực thi bởi AVM2 . . . . . . . . . . . . . . . . . 11
2.8 Hoạt động của Nanojit trong tamarin . . . . . . . . . . . . . . . . . . . . 12
2.9 Minh họa thuật toán mark/sweep . . . . . . . . . . . . . . . . . . . . . . . 13
2.10 Lỗi tham chiếu vòng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.11 Sử dụng thuật toán ba màu . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.12 Kỹ thuật đồ họa 3D trong đồ họa máy tính . . . . . . . . . . . . . . . . . 16
2.13 hình y dựng thư viện Papervision3D . . . . . . . . . . . . . . . . . 17
2.14 Thành phần 3D trong đồ họa y tính . . . . . . . . . . . . . . . . . . . . 17
2.15 Quan hệ giữa các gói trong Papervision3D . . . . . . . . . . . . . . . . . 19
2.16 Scene3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.17 Camera trong Papervision3D . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.18 Viewport trong Papervision3D . . . . . . . . . . . . . . . . . . . . . . . . 21
2.19 y dựng Render . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1 hình kết hợp tamarin và Gnash . . . . . . . . . . . . . . . . . . . . . . 26
v
thông tin tài liệu
Ngày nay các thiết bị điện tử trở nên phổ biến và mang lại nhiều lợi ích trong cuộc sống. Từ những hệ thống công cộng, dịch vụ tự động như bán vé tàu xe cho đến các thiết bị trong gia đình như tivi, máy giặt, tủ lạnh thậm chí đến từng cá nhân như điện thoại di động, PDAs1. Với sự phát triển của công nghệ, ứng dụng đồ họa trên trên các thiết bị nhúng ngày càng đòi hỏi cao về tốc độ xử lý, khả năng tương tác nhanh và đáp ứng được nhu cầu của người dùng. Đặc biệt, sử dụng đồ họa 3D cho các ứng dụng mang lại nhiều hiệu quả về tính thân thiện, dễ sử dụng, và đẹp mắt. Flash là một công nghệ có nhiều ưu điểm để phát triển trên các thiết bị nhúng bởi tính gọn nhẹ, đơn giản, hơn nữa Flash hỗ trợ đồ họa 3D khá tốt. Hình 1.1 minh họa ứng dụng biểu đồ sử dụng phương pháp hiển thị trực quan 3D.
Mở rộng để xem thêm
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×