Beginning DirectX9 - Chương 4
Số trang: 15
Loại file: pdf
Dung lượng: 349.47 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
NHỮNG KIẾN THỨC CƠ BẢN VỀ 3Dhắc các bạn cũng thấy game 2D đang dần bị tụt hậu trong một vài năm gần đây. Đa số các game bây giờ đều cố sử dụng được sức mạnh của các loại card 3D mới nhất, cố gắng làm cho game thật hơn. Direct3D là một thành phần quan trọng trong trào lưu này. Nó cho phép hàng triệu khách hàng của Microsoft Windows được thưởng thức những công nghệ game mới nhất. Những gì bạn sẽ được học ở chương này: ■ Không gian 3D được sử dụng thế nào....
Nội dung trích xuất từ tài liệu:
Beginning DirectX9 - Chương 4 Dịch bởi TransTeam diễn đàn Gamedev.VNBeginning DirectX9 CHƯƠNG 4NHỮNG KIẾN THỨC CƠ BẢN VỀ 3DC hắc các bạn cũng thấy game 2D đang dần bị tụt hậu trong một vài năm gần đây. Đa số các game bây giờ đều cố sử dụng được sức mạnh của các loại card 3D mới nhất, cố gắng làm cho game thật hơn. Direct3D là một thành phần quan trọngtrong trào lưu này. Nó cho phép hàng triệu khách hàng của Microsoft Windows đượcthưởng thức những công nghệ game mới nhất.Những gì bạn sẽ được học ở chương này: ■ Không gian 3D được sử dụng thế nào. ■ Hệ thống toạ độ là gì. ■ Cách dựng những điểm của một đa giác. ■ Khái niệm vecto trong Direct3D. ■ Vertex buffer là gì. ■ Khái niệm khung cảnh 3D (3D scene) . ■ Những cấu trúc cơ bản bạn có thể sử dụng.Không gian 3DPhần trước, tôi đã nói về những game chỉ cho phép di chuyển theo 2 phương, tức là trongkhông gian phẳng. Khái niệm (sprites) mà bạn dùng ở trên chủ yếu là cho không gian vớichiều rộng và chiều cao nhưng không có chiều sâu.DIrect3D cho bạn khả năng đưa thêm một chiều không gian nữa vào thế giới game với sựbổ sung của chiều sâu. Chiều sâu là khả năng của vật thể có thể di chuyển ra xa hoặc lạigần người quan sát. Nhân vật ở trong thế giới 3D sẽ thật hơn nhiều bản sao của chúngtrong không gian 2D.Không gian 3D cho phép nhân vật di chuyển vòng quanh theo cách tương tự như thế giớithực. Trước khi bạn tận dụng được lợi thế của không gian 3D, bạn cần biết cách xây dựngnó, và cách đặt các vật thể vào đó.Hệ thống toạ độHệ thống toạ độ là cách để định nghĩa điểm trong không gian. Nó bao gồm các đườngthẳng vuông góc với nhau gọi là các trục toạ độ. Hệ toạ độ 2D chỉ gồm 2 trục toạ độ, còn 58 Dịch bởi TransTeam diễn đàn Gamedev.VNBeginning DirectX9hệ 3D thì có thêm một trục nữa. Tâm điểm của hệ toạ độ, nơi mà các trục toạ độ giaonhau, được gọi là gốc toạ độ. Hình 4.1 biểu hiện hệ trục toạ độ 2D. Hai trục của hệ toạ độ2D được kí hiệu là X và Y. X là trục nằm ngang, còn Y là trục thẳng đứng.Xác định một điểm trong không gian 2DMột điểm được xác định như một vị trí duy nhất trên một trục. Một điểm ở trong khônggian 1D, (chỉ có duy nhất một trục), có thể được biểu diễn qua một giá trị. Hình 4.2 biểudiễn điểm trong không gian 1D. Gốc của đường thẳng có giá trị là 0. Hướng sang bênphải của gốc toạ độ là các giá trị dương, ngược lại, ở bên trái gốc toạ độ là các giá trị âm.Trong hình 4.2, điểm biểu diễn có giá trị là dương 4. Hình 4.1 Hình 4.2Hệ toạ độ 2D, vì nó có 2 trục toạ độ, nên đòi hỏi thêm một giá trị nữa để biểu diễn mộtđiểm. Để biểu diễn một điểm trong không gian 2D, bạn cần xác định vị trí dọc theo trục Xvà Y của nó. Ví dụ, một điểm trong hệ toạ độ 2D có thể được xác định bằng 2 số là X vàY, mỗi số xác định một vị trí trên trục tương ứng. Giống như ví dụ 1D ở hình 4.2, nhữnggiá trị trên trục X tăng dần từ trái qua phải, nhưng những giá trị trên trục Y lại tăng dần từdưới lên trên. Hình 4.3 cho thấy hệ toạ độ 2D với một điểm có toạ độ X=3 và Y=5, ngườita thường viết dưới dạng (X, Y). Trong ví dụ này điểm đó được biểu diễn là (3, 5).Xác định 1 điểm trong không gian 3DNhư đã đề cập ở phần trên, hệ toạ độ 3D có thêm một trục nữa, gọi là trục Z. Trục Zvuông góc với mặt phẳng tạo bởi trục X và Y. Hình 4.4 cho ta thấy vị trí của trục Z.Chú ý rằng trong hệ trục toạ độ này, trục X và Y để thể hiện chiều rộng và chiều cao, còntrục Z thể hiện chiều sâu. Trục Z có cả giá trị âm và dương khi ta di chuyển so với gôc toạđộ tuỳ thuộc vào loại hệ toạ độ. Hệ toạ độ thường được sắp đặt theo cả kiểu tay trái lẫnkiểu tay phải. Hình 4.3 Hình 4.4 59 Dịch bởi TransTeam diễn đàn Gamedev.VNBeginning DirectX9Hệ toạ độ tay tráiHệ toạ độ tay trái: chiều dương trục X hướng về bên phải và chiều dương trục Y hướnglên trên. Sự khác nhau chủ yếu là ở trục Z. Trục Z trong hệ toạ độ này có chiều dươnghướng ra xa người nhìn, và chiều âm hướng về phía người nhìn. Hình 4.5 biểu diễn hệ toạđộ tay trái. Đây là hệ toạ độ được sử dụng trong Direct3D.Hệ toạ độ tay phảiHệ tọa độ tay phải được dùng trong OpenGL, có trục X và trục Y giống như hệ tọa độ taytrái, nhưng trục Z thì theo chiều ngược lại. Chiều dương của trục Z hướng về phía ngườinhìn, trong khi chiều âm thì đi ra xa. Hình 4.6 biểu diễn hệ tọa độ tay trái.Khái niệm về vectorMột vecto tương tự như là một điểm. Vecto bao gồm các thông tin về tọa độ X, Y, Z vàđồng thời cũng chứa đựng những thông tin khác nữa, ví dụ như là màu sắc hoặc texture. Hình 4. ...
Nội dung trích xuất từ tài liệu:
Beginning DirectX9 - Chương 4 Dịch bởi TransTeam diễn đàn Gamedev.VNBeginning DirectX9 CHƯƠNG 4NHỮNG KIẾN THỨC CƠ BẢN VỀ 3DC hắc các bạn cũng thấy game 2D đang dần bị tụt hậu trong một vài năm gần đây. Đa số các game bây giờ đều cố sử dụng được sức mạnh của các loại card 3D mới nhất, cố gắng làm cho game thật hơn. Direct3D là một thành phần quan trọngtrong trào lưu này. Nó cho phép hàng triệu khách hàng của Microsoft Windows đượcthưởng thức những công nghệ game mới nhất.Những gì bạn sẽ được học ở chương này: ■ Không gian 3D được sử dụng thế nào. ■ Hệ thống toạ độ là gì. ■ Cách dựng những điểm của một đa giác. ■ Khái niệm vecto trong Direct3D. ■ Vertex buffer là gì. ■ Khái niệm khung cảnh 3D (3D scene) . ■ Những cấu trúc cơ bản bạn có thể sử dụng.Không gian 3DPhần trước, tôi đã nói về những game chỉ cho phép di chuyển theo 2 phương, tức là trongkhông gian phẳng. Khái niệm (sprites) mà bạn dùng ở trên chủ yếu là cho không gian vớichiều rộng và chiều cao nhưng không có chiều sâu.DIrect3D cho bạn khả năng đưa thêm một chiều không gian nữa vào thế giới game với sựbổ sung của chiều sâu. Chiều sâu là khả năng của vật thể có thể di chuyển ra xa hoặc lạigần người quan sát. Nhân vật ở trong thế giới 3D sẽ thật hơn nhiều bản sao của chúngtrong không gian 2D.Không gian 3D cho phép nhân vật di chuyển vòng quanh theo cách tương tự như thế giớithực. Trước khi bạn tận dụng được lợi thế của không gian 3D, bạn cần biết cách xây dựngnó, và cách đặt các vật thể vào đó.Hệ thống toạ độHệ thống toạ độ là cách để định nghĩa điểm trong không gian. Nó bao gồm các đườngthẳng vuông góc với nhau gọi là các trục toạ độ. Hệ toạ độ 2D chỉ gồm 2 trục toạ độ, còn 58 Dịch bởi TransTeam diễn đàn Gamedev.VNBeginning DirectX9hệ 3D thì có thêm một trục nữa. Tâm điểm của hệ toạ độ, nơi mà các trục toạ độ giaonhau, được gọi là gốc toạ độ. Hình 4.1 biểu hiện hệ trục toạ độ 2D. Hai trục của hệ toạ độ2D được kí hiệu là X và Y. X là trục nằm ngang, còn Y là trục thẳng đứng.Xác định một điểm trong không gian 2DMột điểm được xác định như một vị trí duy nhất trên một trục. Một điểm ở trong khônggian 1D, (chỉ có duy nhất một trục), có thể được biểu diễn qua một giá trị. Hình 4.2 biểudiễn điểm trong không gian 1D. Gốc của đường thẳng có giá trị là 0. Hướng sang bênphải của gốc toạ độ là các giá trị dương, ngược lại, ở bên trái gốc toạ độ là các giá trị âm.Trong hình 4.2, điểm biểu diễn có giá trị là dương 4. Hình 4.1 Hình 4.2Hệ toạ độ 2D, vì nó có 2 trục toạ độ, nên đòi hỏi thêm một giá trị nữa để biểu diễn mộtđiểm. Để biểu diễn một điểm trong không gian 2D, bạn cần xác định vị trí dọc theo trục Xvà Y của nó. Ví dụ, một điểm trong hệ toạ độ 2D có thể được xác định bằng 2 số là X vàY, mỗi số xác định một vị trí trên trục tương ứng. Giống như ví dụ 1D ở hình 4.2, nhữnggiá trị trên trục X tăng dần từ trái qua phải, nhưng những giá trị trên trục Y lại tăng dần từdưới lên trên. Hình 4.3 cho thấy hệ toạ độ 2D với một điểm có toạ độ X=3 và Y=5, ngườita thường viết dưới dạng (X, Y). Trong ví dụ này điểm đó được biểu diễn là (3, 5).Xác định 1 điểm trong không gian 3DNhư đã đề cập ở phần trên, hệ toạ độ 3D có thêm một trục nữa, gọi là trục Z. Trục Zvuông góc với mặt phẳng tạo bởi trục X và Y. Hình 4.4 cho ta thấy vị trí của trục Z.Chú ý rằng trong hệ trục toạ độ này, trục X và Y để thể hiện chiều rộng và chiều cao, còntrục Z thể hiện chiều sâu. Trục Z có cả giá trị âm và dương khi ta di chuyển so với gôc toạđộ tuỳ thuộc vào loại hệ toạ độ. Hệ toạ độ thường được sắp đặt theo cả kiểu tay trái lẫnkiểu tay phải. Hình 4.3 Hình 4.4 59 Dịch bởi TransTeam diễn đàn Gamedev.VNBeginning DirectX9Hệ toạ độ tay tráiHệ toạ độ tay trái: chiều dương trục X hướng về bên phải và chiều dương trục Y hướnglên trên. Sự khác nhau chủ yếu là ở trục Z. Trục Z trong hệ toạ độ này có chiều dươnghướng ra xa người nhìn, và chiều âm hướng về phía người nhìn. Hình 4.5 biểu diễn hệ toạđộ tay trái. Đây là hệ toạ độ được sử dụng trong Direct3D.Hệ toạ độ tay phảiHệ tọa độ tay phải được dùng trong OpenGL, có trục X và trục Y giống như hệ tọa độ taytrái, nhưng trục Z thì theo chiều ngược lại. Chiều dương của trục Z hướng về phía ngườinhìn, trong khi chiều âm thì đi ra xa. Hình 4.6 biểu diễn hệ tọa độ tay trái.Khái niệm về vectorMột vecto tương tự như là một điểm. Vecto bao gồm các thông tin về tọa độ X, Y, Z vàđồng thời cũng chứa đựng những thông tin khác nữa, ví dụ như là màu sắc hoặc texture. Hình 4. ...
Tìm kiếm theo từ khóa liên quan:
lập trình game lập trình C cở bản về DirectX ập trình hướng đối tượng ngành công nghiệp GameGợi ý tài liệu liên quan:
-
Đồ án tốt nghiệp ngành Công nghệ thông tin: Lập trình game trên thiết bị di động
56 trang 148 0 0 -
Luận văn tốt nghiệp: Ứng dụng trí tuệ nhân tạo trong xây dựng GAME
0 trang 129 0 0 -
Giáo trình Kỹ thuật lập trình C: Căn bản & nâng cao - Phần 1
202 trang 127 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 126 0 0 -
Giáo trình Ngôn ngữ lập trình C căn bản
142 trang 100 0 0 -
Program C Ansi Programming Embedded Systems in C and C++ phần 4
12 trang 96 0 0 -
STL lập trình khái lược trong C++ part 1
35 trang 81 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Bài giảng Phát triển phần mềm mã nguồn mở: Lập trình C/Linux - Bùi Minh Quân
29 trang 71 0 0 -
Giáo trình về môn Lập trình C căn bản
131 trang 50 0 0