Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

đồ hoạ

Câu hỏi đồ họa và hiện thực ảo:

Câu 1:

Game Engine là gì? Hãy kể tên một số Game Engine mà bạn biết?

Trả lời:

- Game Engine là thành phần phần mềm cốt lõi trong một Game Video. Nó thông thường điều khiển quá trình tô trát (render) các đối tượng đồ họa, nhưng đồng thời nó cũng có thể kiểm soát các công việc khác như là: trí thông minh của Game (game AI), phát hiện va chạm giữa các đối tượng trong game, ... Thành phần chung nhất mà hầu hết các game engine đều cung cấp là các tiện nghi trong quá trình render các đối tượng đồ họa (2D và 3D). Một đặc tính chung các của các game engine là sự trừu tượng hóa phần nền (platform), chính nhờ đặc tính này mà một game co thể chạy trên nhiều nền khác nhau (ví dụ như: game console, Windows game, ...) với rất ít thay đổi hoặc thậm chí không cần thay đổi phần mã nguồn của game.

- Một số game engine:

Một số Game engine thương mại Một số Game engine miễn phí (Open Source)

Torque Game Engine OGRE

TV3D SDK 6 Crystal Space

3DGameStudio Irrlicht

Reality Engine jME

Deep Creator Panda3D

Cipher Reality Factory

Câu 2:

Xén tỉa (Clipping) là gì? Nêu tên của các giải thuật xén tỉa?

Trả lời:

- Xén tỉa: Xén tỉa là tiến trình xác định các điểm của một đối tượng nằm trong hay ngoài cửa sổ hiển thị. Xén tỉa là việc di chuyển tất cả các đối tượng hoặc các phần của đối tượng thuộc mô hình ngữ cảnh ra bên ngoài cửa sổ thế giới thực. Việc loại từng điểm ảnh của đối tượng thường chậm nhất là khi đối tượng mà phần lớn nằm ngoài cửa sổ hiển thị.

Có hai loại xén tỉa:

+ Xén tỉa điểm:

xmin £ x £ xmax

ymin £ y £ ymax

+ Xén tỉa đoạn thẳng:

Các đoạn thẳng được xác định bởi các điểm đầu cuối, do đó chúng có thể được kiểm tra dựa trên 2 điểm này mà không cần quan tâm đến tất cả các điểm trên đoạn thẳng.

Hầu hết các đoạn thẳng nằm hoàn toàn bên ngoài hoặc trong

Giải thuật quan trong xoay quanh việc chấp nhận hay loại bỏ các đoạn thẳng.

- Tên một số giải thuật xén tỉa:

+ Giải thuật Cohen Sutherland Outcode

+ Giải thuật Cyrus-Beck Lyang Barsky

+ Giải thuật Nicholl-Lee-Nicholl

+ Giải thuật đường biên (Boundary - File Algorithm)

Câu 3:

Trình bày về Giải thuật Cohen Sutherland Outcode?

Trả lời:

- Giải thuật Cohen Sutherland Outcode:

+ Thuật toán xén tỉa đoạn thẳng Cohen-Sutherland thực hiện đặc biệt nhanh cho các trường hợp "ít quan trọng"(trivial), ví dụ việc thực hiện các đoạn thẳng bên trong hoặc bên ngoài cửa sổ.

+ Với các đoạn quan trọng (Non-trivial), một ví dụ về đường biên giao của các cửa sổ, nó được xén tỉa bởi sự tính toán phối hợp của các điểm kết thúc biên mới của đoạn thẳng nơi mà nó giao với cạnh của cửa sổ.

+ Mỗi điểm trên tất cả các đoạn thẳng được gán trước tiên một mã ngoài(outcode) xác định vị trí của chúng có liên quan tới việc xén tỉa hình chữ nhật.

- Cụ thể như sau:

1001 1000 1010

0001 0000 0010

0101 0100 0110

Nếu mã của P1 và P2 đều = 0000 thì toàn bộ đoạn thẳng thuộc phần hiển thị.

If P1.Mã OR P2.Mã == 0000 then " cả đoạn thẳng thuộc cửa sổ hiển thị"

Nếu mã của P1 và P2 có cùng một vị trí mà ở đó ¹ 0 thì P1 và P2 => cùng phía

If P1.Mã AND P2.Mã != 0000 then " 2 điểm nằm về 1 phía của cửa sổ"

Câu 4:

Trình bày về Giải thuật Cyrus-Beck Lyang Barsky?

Trả lời:

- Giải thuật Cyrus-Beck Lyang Barsky:

Thuật toán Cohen-Sutherland yêu cầu cửa sổ phải là hình chữ nhật, với các cạnh thẳng hàng với các toạ độ trục.

Cần một số yêu cầu cần thiết cho việc xén tỉa các cửa sổ đa giác lồi như hình tam giác, lục giác, hình bánh xe.

Xén tỉa đoạn thẳng Liang-Barsky thực hiện tốt hơn các tính toán điểm giao trong xén tỉa biên cửa sổ

Xén tỉa biên Nicholl-Lee-Nicholl làm giảm bớt các dư thừa do việc xác định các cạnh và góc của các vùng đó.

x = x1 + (x2 - x1)u = x1 + uDx

y = y1 + (y2 - y1)u = y1 + uDy

xmin £ x1 + Dx.u £ xmax Û x Î [xm, xM]

ymin £ y1 + Dy.u £ ymax Û y Î [ym, yM]

Pk u £ qk k = 1, 2, 3, 4

Ta có hệ:

Câu 5:

Trình bày Giải thuật đường biên (Boundary - File Algorithm)?

Trả lời:

- Giải thuật đường biên (Boundary - File Algorithm)

Giải_thuật_đường_biên ( x, y )

Color : biến mầu

Begin

Color = Readpixel ( x, y );

If ( Color = mầu tô ) or ( Color = mầu đường biên )

Kết thúc vì chạm biên

hoặc chạm phần đã tô

Else

Giải_thuật_đường_biên ( x+1, y );

Giải_thuật_đường_biên ( x-1, y );

Giải_thuật_đường_biên ( x, y+1 );

Giải_thuật_đường_biên ( x, y-1 );

// Thực hiện lại giải thuật với các điểm lân cận

End.

Câu 6:

DirectX là gì? Nêu một số thành phần cơ bản của DirectX?

Trả lời:

- Microsoft DirectX là một tập các hàm giao diện lập trình ứng dụng mức thấp (low-level application programming interfaces) ứng dụng vào trong các lĩnh vực thiết kết Game hay là các ứng dụng multimedia. DirectX hỗ trợ đồ hoạ 2-D và 3-D, các hiệu ứng âm thanh, các thiết bị đầu vào và các ứng dụng mạng như là các game nhiều người chơi.

- DirectX bao gồm các thành phần cơ bản sau:

+ Direct Graphics (chứa tất cả các hàm giao diện lập trình dùng cho lập trình đồ hoạ.)

+ Direct Input ( Cung cấp các hỗ trợ cho các thiết bị vào khác nhau.

+ Direct Play (Hỗ trợ cho game nối mạng)

+ Direct Sound (Có thể được dùng trong việc phát triển các ứng dụng về âm thanh mà có khả năng thực hiện tốt.

+ Direct Music (đưa ra một giải pháp hoàn thiện cho cả tín nhạc cụ cũng như không của nhạc cụ

+ Direct Show (dùng trong việc lưu giữ và thể hiện lại các luồng thông tin đa phương tiện với chất lượng cao)

+ Direct Setup

+ Direct Media Object (Cung cấp các hỗ trợ cho việc đọc và ghi dữ liệu sử dụng các đối tượng luồng dữ liệu bao gồm cả bộ mã hoá, giả mã, tạo hiệu ứng của hình ảnh và âm thanh.)

Trong các thành phần này ta quan tâm chủ yếu đến thành phần Direct3D Graphic.

Câu 7:

OpenGL là gì? Thư viện OpenGL hỗ trợ các thao tác nào?

Trả lời:

- OpenGL là một thư viện đồ hoạ tốc độ cao, độc lập với các hệ điều hành, do hãng Silicon Graphics Inc. phát triển cho các máy trạm đồ hoạ tốc độ cao với tên IRIS GL từ năm 1982.

OpenGL đã trở thành một chuẩn công nghiệp và các đặc tính kỹ thuật của OpenGL do Uỷ ban kỹ thuật ARB (Architectural Review Board) phê chuẩn. ARB được những hãng phần mềm hàng đầu như Silicon Graphics Inc, Intel, Microsoft, IBM, Intergraph... lập ra năm 1990. OpenGL đã được triển khai trên nhiều hệ thống khác nhau từ Microsoft Windows 95/ 98/ NT/ 2000, Macintosh, Unix, Linux...

OpenGL cho phép phát triển các ứng dụng đồ hoạ sử dụng những ngôn ngữ lập trình khác nhau, như C/C++, Fortran, Java, Delphi, Ada...

- Về cơ bản thư viện OpenGL bao gồm khoảng 150 hàm hỗ trợ các thao tác:

• Thể hiện các đối tượng cơ bản như điểm, đường, đa giác, và từ đó có thể tạo ra những đối tượng đồ hoạ phức tạp hơn như mặt cầu, mặt nón, mặt hình trụ...hoặc các đối tượng do lập trình viên tạo ra.

• Quan sát đối tượng : các đối tượng sau khi được vẽ ra có thể được quan sát từ những góc nhìn khác nhau thông qua các phép biến hình (transformation)

• Định màu sắc : các đối tượng có thể được thể hiện với màu sắc bằng nhiều cách chỉ định màu khác nhau: RGBA hay color-index...

• Sử dụng ánh sáng : ánh sáng có thể được sử dụng để tạo ra những cảnh "thật" từ những đối tượng đã có. OpenGL cho phép sử dụng nhiều loại nguồn sáng khác nhau như phát xạ (emitted), bao quanh(ambient), phân tán (diffuse) và phản chiếu (specular).

• Các kỹ thuật tăng chất lượng hiện thị ảnh như chống răng cưa (anti-aliasing), trộn màu (blending), sương khói trong ảnh (fog)...

• Thao tác trên các ảnh bitmap : lập trình viên có thể "dán" các ảnh của cảnh thật lên trên bề mặt các đối tượng tạo ra bằng OpenGL (texture mapping), ...

Câu 8:

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: #anh