Nội dung

Một phần của tài liệu Kỹ thuật xây dựng đồ họa 3D dựa trên công nghệ Plash dành cho thiết bị nhúng (Trang 32 - 33)

3 Bài toán

3.2.2Nội dung

• Hỗ trợ Gnash thực thi đồ họa 3D, sử dụng thư viện đồ họa PaperVision3D, bằng cách cải tiến hoặc thêm mới lớp as_object để phù hợp với các lớp có trong AS 3. Gnash với những đối tượng as_object được định nghĩa cho AS 2 trong khi đó, PP3D là thư viện AS được viết dựa vào AS 3. Đối tượng trong AS 3 có thuộc tính dựa trên đặc điểm và được thiết kế theo tính kế thừa, cùng khuôn dạng. Trong khi đó, AS 2 thiết kế đối tượng dựa vào những phương thức để thiết lập trạng thái cho đối tượng. • Cải tiến máy ảo có trong Gnash.

CHƯƠNG3: BÀI TOÁN

Mặc dù Gnash hiện tại có hai máy ảo chạy độc lập nhau là VM và Machine2. Đối với VM đã được thiết kế tương đối đầy đủ và hỗ trợ đầy đủ cho AS 1/2 nhưng với Machine thì không phải vậy. Machine chưa thực thi một cách đúng đắn đối với mã máy có nguồn gốc AS 3. Hiện tại Machine vẫn coi những mã máy AS 3 thực thi như đối với mã máy AS 2. Do đó chúng tôi cần phải thay đổi Machine để thực thi một cách đúng đắn AS 3 bằng cách cải tiến Machine( tốn rất nhiều công sức và thời gian) hoặc bằng cách chuyển quyền điều khiển mã máy AS 3 sang cho Tamarin. • Cung cấp lớpDisplayObject choTamarin.

Tamarin được cung cấp chỉ bao gồm máy ảo AS 2( AVM2) và NanoJIT. Tamarin chỉ cung cấp những lớp cơ bản có trong AS 3 mà không đưa ra một lớp rất quan trọng trong việc hiển thị hình ảnh của Flash đó là DisplayObject. Bằng cách viết lại DisplayObject dựa trên thuộc tính của đối tượng và đặc điểm của chương trình quản lý màn hình(X11, Gtk. . . ) hoặc bằng cách cải tiến, cài đặt DisplayObject được cung cấp sẵn trong Gnash để tương thích với đối tượng hiển thị trong AS 3.

• Cải tiến phầnrenderercủa Gnash hỗ trợ thêm lựa chọn OpenGLES.

Hiện tại Gnash mới chỉ hỗ trợ việc dùng các thư viện đồ họa: AGG, Cairo và mặc định là GTK.

Dựa trên các hướng giải quyết trên, chúng tôi rút ra phương án tốt nhất là sử dụng Tamarin để hỗ trợ Gnash, tức là đưa ra giải pháp để Tamarin hoạt động cùng Gnash. Vì Gnash đã cung cấp sẵn những đối tượng thực thi phần hiển thị như DisplayObject, DisplayList. . . và cơ bản Gnash cũng đã hỗ trợ OpenGL và chúng tôi sẽ không phải xử lý nhiều tới máy ảo AVM2 vì quá phức tạp nếu chỉnh sửaMachine. Trong những phần tiếp theo của khóa luận sẽ nói tới giải pháp này.

Một phần của tài liệu Kỹ thuật xây dựng đồ họa 3D dựa trên công nghệ Plash dành cho thiết bị nhúng (Trang 32 - 33)