Môi trường đồ họa cho hệ thống nhúng

Một phần của tài liệu 043_Tom tat khoa luan tot nghiep K48CNPM.pdf (Trang 56 - 58)

- Phát triển hệ thống dựa trên hệ thống định

4. Môi trường đồ họa cho hệ thống nhúng

Đối tượng được nghiên cứu trong chương này là giao diện lập trình ứng dụng OpenGL ES và mơi trường đồ họa ảo EGL đều do nhóm Khronos phát triển.

1. OpenGL ES là một tập con của API đồ họa 3D OpenGL, được thiết kế dành cho các hệ thống nhúng. Đây là một API đồ họa có nhiều ưu điểm và phù hợp để chạy trên các hệ thống nhúng:

- Được xây dựng thành một chuẩn chung và miễn phí, OpenGL ES mang tính mở, trung lập nên có khả năng chạy trên nhiều hệ thống nhúng khác nhau.

- Tiết kiệm năng lượng và năng lực tính tốn của hệ thống.

- Chuyển tiếp liền mạch với phần cứng, ngoài đường ống xử lý đồ họa của mình, OpenGL ES cho phép thực hiện các lời gọi hàm riêng biệt trên các phần cứng chuyên dụng, được thực thi giống như những chương trình thường trú trên CPU hệ thống.

- Khả năng mở rộng và phát triển cao với hệ thống các extension.

-55- 2. EGL là một lớp giao diện trung gian giữa OpenGL ES và hệ thống nền tảng bên dưới (chẳng hạn là hệ điều hành như Windows CE, Symbian, Embedded Linux). EGL đóng vai trị chính sau:

- Khởi tạo và quản lý các ngữ cảnh đồ họa của các client API như OpenGL ES.

- Khởi tạo và quản lý các drawing surface, buffer. Dựa trên đó, OpenGL ES có thể thực hiện q trình vẽ của mình.

- Đồng bộ hóa q trình vẽ của API đồ họa (OpenGL ES) với API đồ họa của hệ điều hành. Việc đồng bộ hóa này giúp tránh khả năng quá trình vẽ bị chồng chéo giữa các API như OpenGL ES và API của hệ điều hành.

5. Thực nghiệm

Trong khóa luận này, chương trình thử nghiệm được xây dựng trên mơi trường giả lập Windows CE 2003, ngôn ngữ thực hiện Embedded Visusal C++ 4.0 SP4, thư viện đồ họa là GLUT|ES. Chương trình minh họa được xây dựng để kiểm thử các chức năng cơ bản của một thư viện thực thi theo chuẩn OpenGL ES bao gồm : Các chức năng quản lý cửa sổ, các chức năng xử lý sự kiện ( Bắt chuột, bắt phím), quản lý các đối tượng (tạo, hủy, …), các chức năng dựng hình, Màu sắc và định dạng hình cần dựng, làm việc với không gian 3D, quản lý các Texture.

Cấu trúc cơ bản của quá trình dựng hình trong một chương trình sử dụng OpenGL ES là: - Khởi tạo chương trình: bước này sẽ khởi tạo các cơng cụ của OpenGL ES.

- Tạo một cửa sổ làm việc (window). - Khởi tạo dữ liệu của chương trình. - Bước lặp:

.Dựng hình.

.Xử lý sự kiện (intput/output…).

.Kiểm tra yêu cầu kết thúc chương trình. - Kết thúc chương trình: hủy các dữ liệu đã được tạo trong quá trình chạy ứng dụng.

Kết quả thử nghiệm là chương trình chạy ổn định, chất lượng hình ảnh tốt.Việc cấu hình và lập trình đơn giản.

Các vấn đề cần tiếp tục nghiên cứu: nghiên cứu ứng dụng OpenGL ES trong việc phát triển

các phần mềm đa phương tiện cho thiết bị nhúng, đồng thời phải nghiên cứu nắm bắt kỹ thuật phát triển các thư viện thực thi theo chuẩn của OpenGL ES để chủ động trong việc tối ưu hóa hệ thống đồ họa trên các môi trường phần cứng cụ thể.

6. Kết luận

Khóa luận này đã đưa ra được lý thuyết tổng quan về môi trường đồ họa cho thiết bị nhúng nói chung và OpenGL/ES nói riêng. Từ tầng thấp nhất là lý thuyết về các hệ thống nhúng, hệ thống thời gian thực cho tới các lớp phần mềm phía trên: thế nào là API đồ họa OpenGL ES; cấu trúc, thiết kết và các tính năng mà giao diện được xây dựng thành tiêu chuẩn công nghiệp này đưa ra bao gồm những gì; thiết kế và cơ chế hoạt động của mơi trường ảo EGL hỗ trợ thế nào cho việc xây dựng các thư viện đồ họa theo chuẩn OpenGL ES…

Trong chương cuối của khóa luận cũng đã thực hiện được một chương trình demo thể hiện việc phát triển và chạy các ứng dụng đồ họa trên thiết bị nhúng. Tuy nhiên phần thực nghiệm còn thiếu sự nghiên cứu về việc phát triển các hệ thống phần mềm đồ họa, chẳng hạn làm thế nào để viết một thư viện thực thi theo các API như OpenGL ES hay EGL? Đó là một thiếu sót cần phải được nghiên cứu trong các đề tài sau này.

Tài liệu tham khảo

[1] Frank Vahid and Tony Givargis. Embedded

System Design:A Unified Hardware/Software Approach. Wiley; I.S.ed edition 10/2001.

[2] Paul Yao and David Durant. .NET Compact

Framework Programming with C#. Addison

Wesley Professional 05/2004.

[3] Nick Grattan and Marshall Brain.

Windows® CE 3.0 Application Programming.

Prentice Hall 10/2000.

[4] Khronos Group. OpenGL ES 1.1.10

Specification. www.khronos.org 04/2007.

[5] Khronos Group. OpenGL ES 2.0

Specification. www.khronos.org 03/2007.

[6] Khronos Group. EGL 1.3 Specification. www.khronos.org 12/2006.

-56-

Một phần của tài liệu 043_Tom tat khoa luan tot nghiep K48CNPM.pdf (Trang 56 - 58)

Tải bản đầy đủ (PDF)

(83 trang)