Tải bản đầy đủ (.pdf) (24 trang)

báo cáo bài tập lớn chủ đề đồ họa trong lập trình c

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.57 MB, 24 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>Đại Học Bách Khoa Hà Nội Khoa Toán Ứng Dụn và Tin Học</b>g

<b>BÁO CÁO BÀI TẬP LỚN Mơn học: Kỹ Thuật Lập Trình Chủ đề : Đồ Họa Trong Lập Trình C</b>

<b>Giáo viên hướng dẫn: Nguyễn Thị Thanh Huyền Sinh viên thực hiện: Hoàng Thái Duy </b>

Mã sinh viên: 20227224

<i>Hà Nội, ngày 5/16/2024 </i>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<small>2 </small>

<b>Lời Mở Đầu </b>

Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như các kĩ thuật để cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính. Về bản chất: đó là một q trình xây dựng và phát triển các công cụ trên cả hai lĩnh vực phần cứng và phần mềm hỗ trợ cho các lập trình viên thiết kế các chương trình có khả năng đồ họa cao. Việc mô tả dữ liệu thơng qua các hình ảnh và màu sắc đa dạng của nó, các chương trình đồ họa thường thu hút người sử dụng bởi tính thân thiện, dễ dùng,… kích thích khả năng sáng tạo và nâng cao năng suất làm việc. Do vậy, đồ họa máy tính được ứng dụng trong nhiều lĩnh vực: giáo dục, thương mại… Là sinh viên được tìm hiểu và làm quen với một số kĩ thuật đồ họa trên máy tính thơng qua tài liệu, bài giảng do cô Nguyễn Thị Thanh Huyền giáo viên giảng dạy. Với những - kiến thức đã học em đã quyết định chọn đề tài: Đồ Họa Trong Lập Trình C.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<small>3 </small>

<b>Mục Lục </b>

Phần I: Giới Thiệu ... 4

<b>I.1. Mục Đích và Ý Nghĩa Của Báo Cáo ... 4 </b>

<b>I.2. Tầm Quan Trọng Của Đồ Họa Trong Lập Trình C ... 4 </b>

<b>I.3. Ngôn Ngữ C và Đồ Họa ... 5 </b>

<b>I.4. Kết Luận ... 5 </b>

Phần II: Tổng Quan Đồ Họa Máy Tính ... 6

<b>II.1. Khái Niệm và Phân loại Đồ Họa Máy Tính... 6 </b>

<b>II.2. Đồ Họa 2D (Two-Dimensional Graphics): ... 6 </b>

<b>II.3. Đồ Họa 3D (Three-Dimensional Graphics): ... 6 </b>

<b>II.4. Các Thành Phần Cơ Bản Của Hệ Thống Đồ Họa Máy Tính ... 6 </b>

<b>II.5. Các Kỹ Thuật và Công Nghệ Đồ Họa ... 7 </b>

Phần III: Các Thư Viện Đồ Họa Trong C ... 9

<b>III.1. Thư viện ‘graphics.h’ ... 9 </b>

III.2. OpenGL ... 12

Phần IV: So Sánh Các Thư Viện Đồ Họa Graphic.h và OpenGL ... 17

<b>IV.1. Mức Độ Phức Tạp... 17 </b>

<b>IV.2. Khả Năng Tương Thích ... 17 </b>

<b>IV.3. Hiệu Suất ... 18 </b>

<b>IV.4. Tính Linh Hoạt và Khả Năng Mở Rộng </b>... 19

Phần V: Ứng Dụng Của Đồ Họa Trong C ... 20

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<small>4 </small>

<b>Phần I: Giới Thiệu </b>

Đồ họa máy tính đã trở thành một phần không thể thiếu trong nhiều lĩnh vực khác nhau như giải trí, giáo dục, y tế, thiết kế và khoa học kỹ thuật. Khả năng tạo ra các hình ảnh đẹp mắt và trực quan khơng chỉ giúp cải thiện trải nghiệm người dùng mà cịn đóng vai trị quan trọng trong việc truyền đạt thơng tin một cách hiệu quả. Ngơn ngữ lập trình C, mặc dù được ra đời từ những năm 1970, vẫn là một trong những ngôn ngữ phổ biến và mạnh mẽ nhất nhờ vào tính đơn giản, hiệu suất cao và khả năng tiếp cận trực tiếp với phần cứng.

I.1. <b>Mục Đích và Ý Nghĩa Của Báo Cáo</b>

<small>• </small> Báo cáo này nhằm cung cấp một cái nhìn tổng quan về việc sử dụng đồ họa trong ngơn ngữ lập trình C, giới thiệu các thư viện đồ họa phổ biến, so sánh chúng và đánh giá ứng dụng của chúng trong các lĩnh vực khác nhau. Qua đó, giúp người đọc hiểu rõ hơn về các công cụ và kỹ thuật hiện có, cũng như cách lựa chọn thư viện phù hợp cho từng loại dự án.

I.2. <b>Tầm Quan Trọng Của Đồ Họa Trong Lập Trình C</b>

<small>• </small> <i>Phát Triển Game: Đồ họa là một yếu tố không thể thiếu trong phát </i>

triển game. Các trò chơi từ đơn giản đến phức tạp đều yêu cầu các hình ảnh, hiệu ứng và giao diện đồ họa để thu hút người chơi và mang lại trải nghiệm tốt nhất.

<small>• </small> <i>Mơ Phỏng và Mơ Hình Hóa: Trong các ngành công nghiệp như kỹ </i>

thuật, y học và khoa học, đồ họa được sử dụng để tạo ra các mô phỏng và mơ hình hóa phức tạp, giúp các nhà nghiên cứu và kỹ sư hiểu rõ hơn về các hiện tượng và quy trình.

<small>• </small> <i>Thiết kế và Sáng Tạo: Các ứng dụng đồ họa như thiết kế đồ họa, tạo </i>

hình ảnh 2D/3D, và thiết kế giao diện người dùng đều cần đến các thư viện đồ họa mạnh mẽ và linh hoạt.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<small>5 </small>

<small>• </small> <i>Giáo Dục và Học Tập: Đồ họa giúp các học viên và sinh viên dễ dàng </i>

hình dung và hiểu các khái niệm phức tạp thông qua các hình ảnh minh họa, biểu đồ và mơ phỏng trực quan.

<small>• </small> <i>Giáo Dục và Học Tập: Đồ họa giúp các học viên và sinh viên dễ dàng </i>

hình dung và hiểu các khái niệm phức tạp thơng qua các hình ảnh minh họa, biểu đồ và mơ phỏng trực quan.

<b>I.3. Ngôn Ngữ C và Đồ Họa </b>

<small>• </small> Ngơn ngữ C nổi bật với hiệu suất cao và khả năng tiếp cận gần với phần cứng, là sự lựa chọn lý tưởng cho các ứng dụng yêu cầu hiệu suất cao như đồ họa. Tuy nhiên, việc lập trình đồ họa trực tiếp bằng C khơng phải lúc nào cũng dễ dàng, do đó các thư viện đồ họa đã ra đời để giúp đơn giản hóa q trình này.

<small>• </small> Báo cáo này sẽ xem xét một số thư viện đồ họa nổi bật cho ngôn ngữ C, bao gồm graphics.h, SDL, OpenGL, Allegro, Cairo và SFML. Mỗi thư viện sẽ được giới thiệu về các tính năng, ưu điểm, nhược điểm và các ứng dụng thực tế, giúp người đọc có cái nhìn tổng quan và lựa chọn cơng cụ phù hợp nhất cho dự án của mình.

I.4. <b>Kết Luận</b>

Qua báo cáo này, người đọc sẽ nắm bắt được những kiến thức cơ bản và chuyên sâu về lập trình đồ họa trong C, từ đó có thể áp dụng vào các dự án cụ thể của mình, nâng cao hiệu suất và chất lượng sản phẩm.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small>6 </small>

II.1. <b>Khái Niệm và Phân loại Đồ Họa Máy Tính</b>

Đồ họa máy tính là lĩnh vực nghiên cứu và phát triển liên quan đến việc tạo ra, xử lý và thao tác các hình ảnh bằng máy tính. Đồ họa máy tính có thể được phân loại thành hai lĩnh vực chính: đồ họa 2D và đồ họa 3D.

II.2. <b>Đồ Họa 2D (Two</b>-Dimensional Graphics):

<small>• </small> <i>Khái niệm: Đồ họa 2D bao gồm các hình ảnh và hình vẽ nằm trên </i>

một mặt phẳng hai chiều. Các đối tượng trong đồ họa 2D thường được biểu diễn bằng các điểm, đường thẳng, hình chữ nhật, hình trịn, và các hình dạng đa giác khác.

<small>• </small> <i>Ứng dụng: Đồ họa 2D được sử dụng rộng rãi trong thiết kế giao </i>

diện người dùng, trình chiếu, biểu đồ, hoạt hình 2D và các trị chơi điện tử 2D.

II.3. <b>Đồ Họa 3D (Three</b>-Dimensional Graphics):

<small>• </small> <i>Khái niệm: Đồ họa 3D liên quan đến việc tạo ra các hình ảnh có </i>

chiều sâu, giúp mơ phỏng khơng gian ba chiều thực tế. Các đối tượng trong đồ họa 3D được biểu diễn bằng các mơ hình đa giác (polygons) và các kỹ thuật chiếu sáng, đổ bóng để tạo ra hiệu ứng chân thực.

<small>• </small> <i>Ứng dụng: Đồ họa 3D được sử dụng trong các lĩnh vực như thiết </i>

kế kiến trúc, kỹ thuật, mô phỏng y khoa, hoạt hình 3D, và các trị chơi điện tử 3D.

<b>II.4. Các Thành Phần Cơ Bản Của Hệ Thống Đồ Họa Máy </b>

Tính

<b>a. Phần Cứng Đồ Họa (Graphics Hardware): </b>

<small>• </small> GPU (Graphics Processing Unit): GPU là bộ xử lý chuyên dụng được tối ưu hóa cho việc thực hiện các phép tính đồ họa phức tạp. Nó giúp tăng tốc q trình xử lý hình ảnh, video và mô phỏng 3D.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>7 </small>

<small>• </small> Màn Hình (Monitor): Màn hình là thiết bị đầu ra hiển thị hình ảnh đồ họa. Các loại màn hình phổ biến bao gồm LCD, LED, và OLED.

<b>b. Phần Mềm Đồ Họa (Graphics Software): </b>

<small>• </small> <i>Thư Viện Đồ Họa (Graphics Libraries): Các thư viện đồ họa </i>

cung cấp các hàm và công cụ để lập trình viên có thể dễ dàng tạo ra các hình ảnh đồ họa. Các thư viện phổ biến bao gồm OpenGL, DirectX, SDL, và ‘graphics.h’.

<small>• </small> <i>Ứng Dụng Đồ Họa (Graphics Applications): Các phần mềm như </i>

Adobe Photoshop, Autodesk Maya, Blender, và Unity cho phép người dùng tạo và chỉnh sửa các hình ảnh đồ họa phức tạp.

II.5. <b>Các Kỹ Thuật và Công Nghệ Đồ Họa</b>

a. Raster Graphics và Vector Graphics:

<small>• </small> Raster Graphics: Cịn được gọi là đồ họa điểm ảnh (bitmap graphics), bao gồm các hình ảnh được tạo thành từ lưới các điểm ảnh (pixels). Mỗi điểm ảnh có một màu sắc xác định, và tồn bộ hình ảnh được lưu trữ dưới dạng mảng các điểm ảnh.

<small>• </small> Vector Graphics: Đồ họa vector sử dụng các đối tượng hình học như đường thẳng, đường cong, và hình đa giác để biểu diễn hình ảnh. Đồ họa vector có thể được phóng to hoặc thu nhỏ mà khơng làm mất chất lượng.

<b>b. Kỹ Thuật Chiếu Sáng và Đổ Bóng </b>

(Lighting and Shading Techniques)

<small>• </small> Phong Shading: Một kỹ thuật đổ bóng giúp tạo ra các hiệu ứng ánh sáng mượt mà trên bề mặt của đối tượng 3D.

<small>• </small> Gouraud Shading: Kỹ thuật này tính tốn ánh sáng tại các đỉnh của đa giác và sau đó nội suy giá trị ánh sáng cho các điểm trong nội bộ đa giác.

c. Mô Hình Hóa 3D (3D Modeling)

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>d. Kỹ Thuật Kết Xuất (Rendering Techniques) </b>

<small>• </small> Ray Tracing: Tạo ra các hiệu ứng ánh sáng và bóng.

<small>• </small> Rasterization: Chuyển đổi các đối tượng hình học 3D thành các điểm ảnh 2D.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<small>9 </small>

<b>Phần III: Các Thư Viện Đồ Họa Trong C </b>

III.1. <b>Thư viện ‘graphics.h’</b>

<b>• Giới Thiệu </b>

o Thư viện graphics.h là một thư viện đồ họa cổ điển, ban đầu được phát triển cho trình biên dịch Borland Turbo C/C++ trên hệ điều hành DOS.

o Mặc dù đã khơng cịn được sử dụng rộng rãi trên các hệ điều hành hiện đại, graphics.h vẫn giữ một vai trò quan trọng trong việc dạy và học lập trình đồ họa cơ bản.

<b>• Tính Năng Chính: </b>

Thư viện graphics.h cung cấp một số hàm cơ bản để tạo ra các hình ảnh đồ họa 2D. Dưới đây là một số tính năng chính của thư viện này:

<i>o Vẽ các hình dạng cơ bản: </i>graphics.h hỗ trợ các hàm để vẽ các hình dạng cơ bản như đường thẳng, hình chữ nhật, hình trịn, hình ellipse và đa giác.

<i>o Màu sắc: Cho phép thiết lập và sử dụng các màu sắc khác </i>

nhau để vẽ các đối tượng đồ họa.

<small>• </small> <i>Chữ viết: Hỗ trợ các hàm để vẽ văn bản trên màn hình đồ họa với </i>

các phơng chữ và kích thước khác nhau.

<small>• </small> <i>Các hàm tiện ích: Cung cấp các hàm để khởi tạo và đóng chế độ </i>

đồ họa, cũng như quản lý các sự kiện đầu vào đơn giản.

<b>• Các Hàm Cơ bản trong thư viện graphics: </b>

o Khởi Tạo và Đóng Đồ Họa:

▪ Initgraph: Khởi tạo chế độ đồ họa. ▪ Closegraph: Đóng chế độ đồ họa. o Vẽ Các Hình Dạng Cơ Bản:

▪ line: Vẽ một đường thẳng giữa hai điểm. ▪ rectangle: Vẽ một hình chữ nhật.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small>10 </small>

▪ circle: Vẽ một hình trịn. ▪ ellipse: Vẽ một hình ellipse. o Thao Tác Với Màu Sắc:

▪ setcolor: Đặt màu cho các hình vẽ.

▪ setbkcolor: Đặt màu nền cho màn hình đồ họa. ▪ setfillstyle: Đặt kiểu và màu để tơ đầy các hình dạng. o Hiển Thị Văn Bản:

▪ outtext: Hiển thị một chuỗi văn bản tại vị trí hiện tại. ▪ outtextxy: Hiển thị một chuỗi văn bản tại vị trí cụ thể. o Thao Tác Với Hình Ảnh:

▪ putpixel: Đặt một điểm ảnh tại vị trí cụ thể.▪ getimage: Lấy hình ảnh từ màn hình đồ họa. ▪ putimage: Đặt hình ảnh lên màn hình đồ họa. o Thao Tác Với Ảnh Bitmap:

▪ readimagefile: Đọc một tệp hình ảnh và hiển thị nó trên màn hình.

▪ putimage: Đặt hình ảnh đã lưu trữ trước đó lên màn hình.

o Thao Tác Với Pixel:

▪ getpixel: Lấy màu của một điểm ảnh tại vị trí cụ thể o Thao Tác Khác:

▪ delay: Tạm dừng chương trình trong khoảng thời gian xác định (mili giây).

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

o Tài liệu và nguồn tài nguyên phong phú: Vì đã tồn tại từ lâu, graphics.h có rất nhiều tài liệu và ví dụ trực tuyến, giúp người học dễ dàng tiếp cận và tìm hiểu.

<b>• Nhược Điểm: </b>

<i>o Tương thích hạn chế: graphics.h được thiết kế cho hệ điều </i>

hành DOS và trình biên dịch Turbo C/C++. Điều này làm cho nó khó sử dụng trên các hệ điều hành hiện đại như Windows, macOS, và Linux.

<i>o Hiệu suất và tính năng hạn chế: So với các thư viện đồ họa </i>

hiện đại như SDL OpenGL, , hoặc SFML, graphics.h có hiệu suất thấp hơn và thiếu nhiều tính năng nâng cao.

<i>o Phụ thuộc vào môi trường cũ: Để sử dụng graphics.h trên </i>

các hệ điều hành hiện đại, người dùng thường phải sử dụng

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<small>12 </small>

các môi trường giả lập như DOSBox hoặc các phiên bản cập nhật của thư viện như WinBGIm.

<b>• Cài Đặt và Sử Dụng graphics.h Trên Hệ Điều Hành Hiện Đại: </b>

(Text editor: Visual Studio Code) o Download tệp zip của WinBGIm

<i>o Giải nén các tệp ‘winbgim.h’ ‘graphics.h’</i>, , và <i>‘libbgi.a’</i> vào thư mục thích hợp

<i>o Chạy chương trình thêm các tham số “lbgi lgdi32 </i>

<i>-lcomdlg32 -luuid -loleaut32 -lole32” giúp trình biên dịch tìm </i>

thấy các định nghĩa hàm trong các tệp thư viện tương ứng.

<b>• Kết Luận </b>

<b>Thư viện ‘graphics.h’ tuy đã lỗi thời nhưng vẫn là một cơng cụ </b>

hữu ích cho việc học lập trình đồ họa cơ bản. Đối với các dự án đồ họa phức tạp hơn hoặc yêu cầu hiệu suất cao trên các hệ điều hành hiện đại, lập trình viên nên xem xét các thư viện đồ họa tiên tiến hơn như SDL OpenGL, , hoặc SFML. Tuy nhiên, graphics.h vẫn là một điểm khởi đầu tốt cho những ai mới làm quen với lập trình đồ họa.

III.2. OpenGL

<b>• Giới thiệu </b>

o OpenGL (Open Graphics Library) là một API tiêu chuẩn và phổ biến để lập trình đồ họa 2D và 3D. Được phát triển vào đầu những năm 1990, OpenGL đã trở thành nền tảng cho nhiều ứng dụng đồ họa chuyên nghiệp, từ trị chơi điện tử đến phần mềm mơ phỏng và thiết kế kỹ thuật. OpenGL là một API độc lập với nền tảng, hỗ trợ trên nhiều hệ điều hành bao gồm Windows, macOS, Linux và các hệ điều hành di động.

<b>• Tính Năng Chính </b>

OpenGL cung cấp một loạt các tính năng mạnh mẽ cho lập trình đồ họa:

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small>13 </small>

<i>o Đồ họa 3D: Cung cấp các hàm để tạo và quản lý các đối tượng </i>

3D phức tạp, bao gồm các phép biến hình, chiếu sáng, và kết cấu.

<i>o Đồ họa 2D: Mặc dù mạnh mẽ với đồ họa 3D, OpenGL cũng </i>

hỗ trợ đầy đủ các hàm để vẽ các hình ảnh 2D.

<i>o Khả năng mở rộng: Hỗ trợ các tiện ích mở rộng cho phép các </i>

nhà phát triển sử dụng các tính năng mới nhất của phần cứng đồ họa.

<i>o Tương thích với nhiều ngơn ngữ lập trình: Có thể được sử </i>

dụng với C, C++, Python, Java, và nhiều ngôn ngữ lập trình khác thơng qua các binding (liên kết).

<i>o Hỗ trợ bởi phần cứng: Tận dụng tối đa sức mạnh của GPU để </i>

tăng hiệu suất đồ họa.

<b>• Các Hàm Cơ Bản Trong Thư Viện GLEW (OpenGL Extension </b>

Wrangler Library) và GLFW (Graphics Library Framework)

<b>o Khởi Tạo và Thiết Lập </b>

▪ glfwInit: Khởi tạo thư viện GLFW.

▪ glfwCreateWindow: Tạo một cửa sổ hiển thị. ▪ glewInit: Khởi tạo GLEW sau khi tạo ngữ cảnh

<b>o Thiết Lập Bộ Đệm Khung (Frame Buffer) </b>

▪ glfwSwapBuffers: Hoán đổi bộ đệm khung, cập nhật màn hình với những gì đã vẽ.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

▪ glCreateShader: Tạo một shader mới. ▪ glShaderSource: Nạp mã nguồn cho shader. ▪ glCompileShader: Biên dịch shader.

▪ glCreateProgram: Tạo một chương trình shader. ▪ glAttachShader: Gắn shader vào chương trình. ▪ glLinkProgram: Liên kết chương trình shader. ▪ glUseProgram: Sử dụng chương trình shader.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<small>15 </small>

<b>• Ưu Điểm </b>

<i>o Hiệu suất cao: OpenGL tận dụng tối đa sức mạnh của GPU, </i>

cho phép thực hiện các phép toán đồ họa phức tạp một cách nhanh chóng và hiệu quả.

<i>o Đa nền tảng: Hỗ trợ trên nhiều hệ điều hành và nền tảng phần </i>

cứng.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<small>16 </small>

<i>o Cộng đồng lớn và hỗ trợ tốt: Với một cộng đồng lớn các nhà </i>

phát triển và tài liệu phong phú, dễ dàng tìm kiếm sự hỗ trợ và các tài nguyên học tập.

<i>o Mở rộng và tương thích ngược: Các phiên bản mới của </i>

OpenGL thường giữ tính tương thích ngược, giúp các ứng dụng cũ vẫn có thể hoạt động trên phần cứng mới.

<b>• Nhược Điểm </b>

<i>o Độ phức tạp cao: Đối với những người mới bắt đầu, OpenGL </i>

có thể khá phức tạp và khó học do số lượng lớn các hàm và khái niệm liên quan.

<i>o Khơng hỗ trợ các tính năng cấp cao: OpenGL cung cấp các </i>

công cụ ở mức độ thấp, nghĩa là bạn cần tự xây dựng nhiều tính năng cao cấp như quản lý tài nguyên, tải mơ hình, và xử lý ánh sáng phức tạp.

<i>o Sự phân mảnh: Mặc dù OpenGL là tiêu chuẩn, sự khác biệt </i>

trong việc triển khai giữa các nhà cung cấp phần cứng đôi khi dẫn đến các vấn đề tương thích và hiệu suất khơng đồng nhất.

<b>• Kết Luận </b>

OpenGL là một cơng cụ mạnh mẽ và linh hoạt cho việc phát triển đồ họa máy tính, đặc biệt là đồ họa 3D. Mặc dù yêu cầu kiến thức và kỹ năng lập trình đồ họa cao, OpenGL cung cấp hiệu suất và khả năng tùy biến mạnh mẽ, là lựa chọn hàng đầu cho các ứng dụng đòi hỏi đồ họa phức tạp và chất lượng cao. Bằng cách sử dụng kết hợp với các thư viện hỗ trợ như GLUT, GLFW, hoặc SDL, các nhà phát triển có thể tạo ra các ứng dụng đồ họa mạnh mẽ và đa nền tảng.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

IV.1. <b>Mức Độ Phức Tạp</b>

• Graphics.h:

<i>o Đơn Giản: graphics.h được thiết kế để dễ sử dụng và thích </i>

hợp cho người mới bắt đầu. Nó cung cấp các hàm cơ bản để vẽ các hình dạng đơn giản như đường thẳng, hình trịn, hình chữ nhật, và các thao tác với màu sắc.

<i>o Giới Hạn: Tuy nhiên, vì tính đơn giản này, graphics.h có các </i>

giới hạn nhất định về mặt chức năng và không hỗ trợ các hiệu ứng đồ họa phức tạp.

• OpenGL:

<i>o Phức Tạp: OpenGL là một thư viện đồ họa mạnh mẽ và linh </i>

hoạt, nhưng đi kèm với đó là độ phức tạp cao. Việc làm quen với OpenGL địi hỏi thời gian và cơng sức để hiểu rõ các khái niệm cơ bản như buffer, shader, và texture.

<i>o Mạnh Mẽ: OpenGL cho phép phát triển các ứng dụng đồ họa </i>

phức tạp, từ các trị chơi 3D đến các phần mềm mơ phỏng khoa<i> học.</i>

IV.2. <b>Khả Năng Tương Thích</b>

• Graphics.h:

</div>

×