XÂY DỰNG đồ họa 3d dựa TRÊN CÔNG NGHỆ FLASH DÀNH CHO THIẾT bị NHÚNG PHƯƠNG PHÁP xử lý 3d của PAPERVISION3D - Pdf 12

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
XÂY DỰNG ĐỒ HỌA 3D DỰA TRÊN CÔNG NGHỆ
FLASH DÀNH CHO THIẾT BỊ NHÚNG
PHƯƠNG PHÁP XỬ LÝ 3D CỦA PAPERVISION3D
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
i
Lời cám ơn
Trưóc tiên, em muon gúi lòi cám ơn sâu sac nhat đen hai thay giáo. Các thay đã tận
tình hưóng dan chúng em

trong hoc tập, đong thòi tao đieu kiện trong công việc nghiên
cúu tai phòng thí

nghi¾m Toshia- Coltech suot hai năm qua.
Chúng em xin bày tó lòng cám ơn đen nhung thay cô giáo công tác, giáng day
tai trưòng đai hoc Công Ngh¾ - Đai hoc Quoc Gia Hà N®i. Nhung kien thúc, phương
pháp qúy báu thay cô truyen đat se là hành trang giúp chúng em vung 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 ban đã
cho tôi nhieu ý kien qúy báu khi thnc hi¾n khóa lu¾n.
Cuoi cùng con xin gúi tói bo me và toàn the gia đình lòng biet ơn và tình cám
yêu thương sâu sac nhat.
i
Tóm tat n®i dung
Ngày nay, thiet b% di đ®ng tró nên pho bien và mang lai nhieu ti¾n ích trong cu®c
song. Vói sn phát trien cúa đo hoa máy tính, giao di¾n các úng dnng ngày càng đep mat
và thân thi¾n vói ngưòi dùng. Đo hoa ba chieu đưoc sú dnng r®ng rãi trên máy tính

1.4
Cau

t r

úc

khoá

lu¾n 3
2 Cơ sé lý thuyet

4
2.1
Công ngh¾ Flash 4
2.1.1
Giói thi¾u 4
2.1.2
Ngôn ngu

ActionScr ipt

2.2.3
Cơ c he hoat đ®ng 8
2.3
T ama r

in - A VM2 9
2.3.1
Giói thi¾u 9
2.3.2
Kien

trúc,

nguyên



hoat

đ®ng


2.4
Papervision3D 15
i
MUC LUC
2.4.1
Giói thi¾u . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2
Kien trúc, thành phan
. . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3
M®t so ket lu¾n . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 22
2.5
Môi

trưòng

đo

hoa

OpenGLES

trên

Po w erVR 23

nghi¾m

27
4.1
Ket quá

thnc

thi 28
4.1.1
Cau

tao

cúa

ABC 28
4.1.2
Cau hình phan cúng can thiet 28
4.2
Minh hoa thnc nghi¾m


tat

t¾p

l¾nh

A VM2 31
B Công cn Abcdump / Tamarin

33
C Mã nguon c hương trình Papervision3D

35
Tham kháo

36
iv
Danh sách hình ve
1.1
Bieu đo hien
th% tr

nc q uan 3D

t¾p

SWF 6
2.3
Hoat đ®ng cúa A dobe Flash Pla yer phiên bán 9 7
2.4
Mô hình Flash player thnc thi Papervision3D 8
2.5
Cơ c he hoat đ®ng cúa Gnash 9
2.6
Kien t r

úc A VM 10
2.7
Minh

Loi

tham c hieu

vòng 14
2.11


dnng

thu¾t

toán

ba

màu 15
2.12
K y

thu¾t

đo


19
2.16
Scene3D 19
2.17
Camera trong Papervision3D 21
2.18
Vie wport trong Papervision3D 21
2.19
Xâ y

dnng

R ender 22
3.1 Mô hình ket hop tamarin và Gnash 26
v
29
vi
Báng tN viet tat
Ký hi¾u Dang đay đú
2D
2 Dimension
3D
3 Dimension
ABC
ActionScript Bytecode
AVM
ActionScript Virtual Machine
AS
ActionScript
JIT
Just-In-Time
MMgc
Memory manager, garbage collector
OpenGL Open Graphics Library
OpenGLES
OpenGL Embeded Systems
SWF
Small Web Format
VM
Virtual Machine
v
C
HƯƠNG

1
1.2 Pham vi nghiên cNu
Khóa lu¾n này đưoc trình bày trong khuôn kho dn án xây dnng h¾ thong xú lý
đo hoa 3D và framework sú dnng các thu¾t toán xú lý, sap xep du li¾u. Mnc tiêu khóa
lu¾n là chúng minh đưoc tính khá thi cũng như tính công ngh¾ áp dnng trong dn án.
Dn án đưoc đe xuat thnc hi¾n trong thòi gian 3 vói các giai đoan như sau:

Giai đoan m®t: hưóng vào nghiên cúu phát trien 3D Flash cho thiet
b%
di đ®ng.
Sú dnng Gnash làm máy Flash trên “Beagle Board”
2
môi trưòng Linux ho tro đo

hoa
OpenGLES.

Giai đoan hai: xây dnng các thu¾t toán, mau xú lý du li¾u 3D.

Giai đoan ba: làm m%n các ket quá ó giai đoan hai.
Input
Flash code

Visualization
data
Flash Engine 3D
Framework
User
Interface


liên quan bao gom: ngôn ngu AS, trình chơi Flash
4
, máy áo, t¾p tin. Tuy

nhiên,
công ngh¾ Flash cúa Adobe khép kín và mang tính thương mai nên gây cán

tró cho
vi¾c tìm hieu. Nguon tài li¾u tham kháo rat han che. Do v¾y, lna chon cúa

chúng tôi là
tiep c¾n nhung phan mem nguon mó, dna vào đó đe phát trien cho dn án.
1.4 Cau trúc khoá lu¾n
Các phan còn lai cúa khóa lu¾n có cau trúc như sau:

Chương 2 là cơ só lý thuyet công ngh¾ Flash, mô hình và nguyên tac hoat đ®ng

cúa các dn án nguon mó chúng tôi quan tâm: Gnash, Tamarin, Papervision3D.

Chương 3 mô tá bài toán xú lý 3D Flash trên thiet b% di đ®ng, đong thòi đe xuat

ý
tưóng, giái pháp và mô hình cho bài toán đó.

Chương 4 trình bày ve thnc nghi¾m đe chúng minh tính khá thi, đúng đan cho

giái pháp đã nêu trong chương 3.

Chương 5 tong ket nhung gì đã đat đưoc trong quá trình nghiên cúu, đong thòi


đe tao hoat hoa. Flash ho tro hai luong âm thanh, hình ánh đong thòi xú lý sn ki¾n vói
đau vào là tương tác ngưòi dùng thông qua thiet
b%
ngoai vi.
Các t¾p Flash thnc thi đưoc trên Flash Player ó nhieu nen táng h¾ đieu hành
(Win- dows, Linux, Mac OS). Ngôn ngu tao Flash là AS[4]
1
Công ty lón chuyên ve phan mem xú lý đo hoa
4
2.1.2
Ngôn ngÑ ActionScript
AS là ngôn ngu theo k%ch bán dna vào ECMAScript, đưoc thiet ke bói công
ty Macromedia
2
. Hi¾n tai, AS đưoc só huu bói Adobe. Tù năm 1998 đen nay, ngôn ngu
AS đã có ba phiên bán. Phiên bán mói nhat ActionScript 3.0 có nhieu cái tien và khác
bi¾t hoàn toàn so vói hai phiên bán trưóc đó.
L¾p trình ngôn ngu AS tao ra đưoc chương trình là các t¾p SWF ve giái trí, đo

hoa
thông qua các công cn phát trien l¾p trình và b® biên d%ch asc
3

.
2.1.3
T¾p tin SWF
T¾p SWF[5] có đ%nh dang t¾p nham đưa các du li¾u đo hoa véc tơ, văn bán,
phim hình và âm thanh lên Internet. Flash Player là phan mem ho tro chơi t¾p SWF,
Gnash cũng là phan mem nguon mó chúc năng tương tn.
Đ%nh dang t¾p SWF đưoc thiet ke ti¾n dnng cho vi¾c truyen du li¾u qua

XML
và tách ra dang ABC. Chúng ta có the nh¾n thay cau trúc này bao gom tuan tn

các
thé
2
Công ty sán xuat phan mem xú lý đo hoa
3
ActionScript Compiler
CHƯƠNG 2: CƠ S6 LÝ

1
liên tiep và giá tr%. Ví dn như thé tiêu đe (header) có các thu®c tính chính cho t¾p
Flash là so lưong khung hình, tí l¾ khung. Thé thu®c tính t¾p (file attribute tag) chí có
ó SWF phiên bán 8 tró đi.
6
hình 2.2 thay thé DoABC, thé này chúa thông tin ve các
hang, thé DoABC chí có ó AS 3.
Hình 2.2: Minh hoa thé trong t¾p SWF
2.1.4 Flash Player
Flash Player [6] là phan mem chơi các
t¾p
SWF, đưoc sú dnng trong trình

duy¾n
Web ho¾c cài
đ¾t
trnc tiep trên

đieu hành. Flash Player dùng ky thu¾t hien

quyet
đ%nh giao quyen xú lý cho máy áo nào.

Sau đó, các thé đieu khien đưoc đưa vào Display List
4

.

Cuoi cùng, ket quá xú lý cúa máy áo ket hop vói Display List chuyen sang bưóc
ve đau ra cho chương trình.
Hình 2.3: Hoat đ®ng cúa Adobe Flash Player phiên bán
9
Hoat đ®ng cúa Flash Player véi Papervision3D
Flash Player ho tro thnc thi Papervision3D vì nó có hai máy áo hoat đ®ng bên
trong. Máy áo thnc thi 3D Flash là AVM2. Hình 2.4 minh hoa cơ chet hoat đ®ng
cúa Flash Player thnc thi 3D Flash - Papervision3D.
2.2 Gnash
2.2.1
Giéi thi¾u
Gnash là m®t úng dnng nguon mó đưoc phát trien bói dn án GPLFlash. Phan
mem này thnc thi các t¾p tin Flash đ®c l¾p ho¾c là plug-in
5
đe thnc thi Flash đưoc
nhúng vào Web. Chúc năng cúa Gnash cũng như Adobe Flash Player đã giói thi¾u ó
trên.
4
Thành phan trong xú lý Flash
5
Phan mem cài thêm vào trình duy¾n
Papervision3D Code

trình. Hình 2.5 mô tá hoat đ®ng cúa Gnash
6
Se đưoc nêu rõ trong phan tiep theo
SWF swf parser
abc parser
Gnash
render
Displaying
Events
AMV1
Virtual Machine
AVM2
AS1,2
AS3(not full)
Hình 2.5: Cơ che hoat đ®ng cúa Gnash
2.3 Tamarin - AVM2
2.3.1
Giéi thi¾u
Tamarin là 1 dn án nguon mó cúa Mozilla
7
. Mnc đích cúa dn án là xây dnng máy
áo AVM2[7] thnc thi ngôn ngu AS 3.0 vói hi¾u suat cao. Máy áo Tamarin đưoc sú
dnng bên trong phan mem Adobe Flash Player đã đe c¾p ó trên, và còn có the đưoc
sú dnng vói các dn án khác ngoài Adobe. Mnc đích cúa Mozilla là xây dnng tamarin đe
đưa vào bên trong Mozilla TraceMonkey - máy JavaScript dùng cho trình duy¾t
Web Mozilla Firefox.
8
Ngoài ra, mnc đích dn án Tamarin là ho tro đa nen táng phan cúng, bao gom cá
ARM
9

MIR Code Generator
Interpreter
(x86, PPC, ARM, etc.)
Runtime System
(Type System, Object Model)
Memory Manager / Garbage Collector
Hình 2.6: Kien trúc AVM
Thnc thi t¾p Flash qua nhieu giai đoan, chi tiet như sau. Đau tiên, tù mã nguon
AS đưoc tao ra bói ngưòi l¾p trình, tiep theo trình biên d%ch asc cúa FlexSDK sú dnng
và tao ra mã trung gian có trong t¾p ABC và MIR. Các mã trung gian vói mnc đích tao
ra tính di đ®ng cho chương trình Flash mà không phn thu®c vào nen táng h¾ đieu
hành khác nhau. Tù các mã trung gian này, b® biên d%ch JIT sinh ra mã th¾t tùy thu®c
vào nen táng b® xú lý cúa phan cúng sú dnng. Ví dn 2.7 minh hoa quá trình chuyen đoi,
sinh mã trung gian và mã máy cho hai b® xú lý khác nhau.
Đe hieu thêm ve t¾p l¾nh và kieu du li¾u, có the xem ó phn lnc A
MIR là mã trung gian dùng trong AVM, mã này đ®c l¾p vói mã máy th¾t. Ưu
điem

cúa MIR là đơn gián, gan vói mã máy v¾t lý, là thành phan trung gian giua
bytecode. MIR đưoc thiet ke đe toi ưu quá trình biên d%ch giua mã chương trình vói


máy, do đó vi¾c l¾p trình trên nen táng h¾ đieu hành không
b%
ràng bu®c bói môi
trưòng.
T¾p ABC đưoc xú lý AVM2 qua bon bưóc chính gom nap, liên ket, xác thnc
và thnc thi như sau:

Quá trình nap, t¾p ABC đưoc đoc vào b® nhó, giái mã và phân tích;

eax, (eax+4)

add
eax, 10
ret
ARM
mov r0,
#(eap+8)

mov
r1, #r0
add r2, r0,
r1

ret
Hình 2.7: Minh hoa đoan mã đưoc thnc thi bói AVM2
liên ket các đoi tưong cùng nhau;

Quá trình xác thnc là tương tác giua đoi tưong, đoi tưong phái đưoc goi tưòng

minh;

Quá trình thnc thi, mã bytecode trong t¾p ABC đưoc biên d%ch trong quá trình
tính toán. Vi¾c xác thnc vói các luong l¾nh xáy ra liên tnc: l¾nh này không đưoc
nam ngoài máng bytecode;

Quá trình xác thnc đưoc thnc hi¾n ó tat cá các bưóc trên. Tai moi bưóc, neu
xuat hi¾n loi, AVM đưa ra thông đi¾p Verify Error đe có the bat loi chương

trình;


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status