• Thứ Hai, 22/12/2003 10:42 (GMT+7)

    Câu hỏi :
    Xin giới thiệu 1 ngôn ngữ lập trình mạnh về đồ họa, khi chuyển chương trình thành file *.exe để cài vào máy người dùng thì dung lượng nhẹ và không phải thêm bất cứ file nào khác.

    Trả lời :
     

    Về nguyên tắc, không có ngôn ngữ nào hỗ trợ trực tiếp khả năng xử lý đồ họa (cũng như khả năng I/O khác). Khả năng xử lý đồ họa được thực hiện bởi các thư viện lập trình và/hoặc các hàm API của môi trường hỗ trợ ứng dụng chạy. Thí dụ trên Windows, bạn có thể lập trình xử lý đồ họa bằng cách:

    1. Điều khiển trực tiếp card đồ họa, cách này chạy nhanh nhất nhưng phụ thuộc vào từng card đồ họa cụ thể, bạn phải tốn nhiều công sức nghiên cứu đặc tính phần cứng của từng card đồ họa mà bạn dự định lập trình trên nó. Ứng dụng dùng cách này sẽ không phụ thuộc vào môi trường hỗ trợ, nên dễ cài đặt vào máy khác với điều kiện máy đó phải dùng cùng card video.

    2. Gọi các hàm API của Windows (chủ yếu nằm trong thư viện gdi32.dll), tuy nhiên các hàm API này chỉ cung cấp dịch vụ đồ họa đơn giản, chưa đủ mạnh để có thể lập trình dễ dàng đồ họa phức tạp, nhất là xử lý 3D. Ứng dụng dùng cách này sẽ không thể chạy nhanh, khó viết nhưng độc lập với phần cứng và dễ dàng cài vào máy khác vì nó chỉ đòi hỏi có Windows là đủ.

    3. Dùng thư viện OpenGL, cách này rất dễ xử lý các phần tử 3D phức tạp nhưng thường chạy chậm. Ứng dụng dùng cách này sẽ dễ viết, độc lập phần cứng nhưng không thể chạy nhanh và phụ thuộc vào thư viện OpenGL. Để cài ứng dụng dùng OpenGL vào máy khác, bạn phải cài kèm theo thư viện OpenGL nếu máy khác chưa có thư viện này.

    4. Dùng giao tiếp lập trình DirectX của Microsoft. Đây là cách thỏa mãn được 3 yêu cầu chính gần như mâu thuẩn nhau: xử lý nhanh như điều khiển trực tiếp phần cứng, độc lập với phần cứng, cung cấp các hàm xử lý rất mạnh để xử lý dễ dàng ngay cả các đối tượng 3D. Để cài ứng dụng dùng DirectX vào máy khác, bạn phải cài kèm theo thư viện DirectX nếu máy khác chưa có thư viện này.

    Chuyên mục: Lập trình