1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng game engine đa nền tảng quản lý khung cảnh

47 448 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 3,08 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin Xây dựng game engine đa nền tảng quản lý khung cảnh

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 3

Xin cảm ơn gia đình và những người bạn đã dành cho tôi tình thương yêu và sự

hỗ trợ tốt nhất

Hà nội, ngày 22 tháng 05 năm 2009

Sinh viênTrương Đức Phương

Trang 4

Tóm tắt nội dung

Khái niệm Game Engine xuất hiện ở giữa thập kỉ 90 và ngày này đã trở thànhmột thành phần quan trọng trong quy trình phát triển trò chơi điện tử Sự ra đời và pháttriển của Game Engine đã mang đến cho các game hiện đại những bước tiến nhảy vọt

về mọi mặt : đồ họa, khả năng tương tác, độ chân thực…

Khóa luận này đề cập đến phương pháp triển khai module “Quản lý khung cảnh”trong dự án “Xây dựng Game Engine đa nền tảng” của chúng tôi Cụ thể, chương 1 vàchương 2 mang đến cho người đọc một các nhìn tổng thể về kiến trúc của cả hệ thốngGame Engine Sau đó, chương 3 trình bày chi tiết về module “Quản lý khung cảnh”, đisâu vào cách tổ chức khung cảnh và các giai đoạn trong quá trình render khung cảnh.Cuối cùng là thông tin kiểm thử thực nghiệm về hiệu năng của các kỹ thuật được triểnkhai và hướng phát triển trong tương lai

Trang 5

Mục lục

Tóm tắt nội dung

Bảng các thuật ngữ

Danh mục hình vẽ

Chương 1 Đặt vấn đề 1

1.1 Bối cảnh nghiên cứu 1

1.2 Mục tiêu 1

1.3 Giới thiệu chung 2

Chương 2 Kiến trúc tổng thể 4

2.1 Thành phần Các kiểu dữ liệu cơ bản 5

2.2 Thành phần Giao tiếp với hệ điều hành 7

2.3 Thành phần Render Engine 8

2.4 Các thành phần còn lại 10

Chương 3 Quản lý khung cảnh 11

3.1 Khái niệm khung cảnh và cách tổ chức khung cảnh 11

3.2 Thiết kế cấu trúc 13

3.3 Thiết kế chức năng 21

Chương 4 Tổng kết 34

4.1 Kết quả 34

4.2 Hướng phát triển 37

Trang 6

Bảng các thuật ngữ

Axis aligned bounding box Là một loại bounding volume có dạng

hình hộp, các cạnh dọc theo 3 trục xyz.Bounding Sphere Là một loại bounding volume có dạng

hình cầu

Bounding Volume Là danh từ chung chỉ các loại hình học

đơn giản được sử dụng để mô tả mộtkhông gian bao bọc hoàn toàn một vật thểnào đó

Event Đơn vị truyền thông liên tiến trình được

gửi đến bởi Hệ điều hành

Game Engine Middleware cung cấp một giao diện đơn

giản hơn để phát triển game Mesh Là một mạng lưới các đa giác dùng để mô

tả hình dạng của vật thể trong không gian

3 chiều

OpenGL Một chuẩn 3d graphic API

Render Là việc từ các dữ liệu về khung cảnh, đối

tượng 3D, ta thực hiện các phép biến đổi,các tính toán để đưa ra hình ảnh 2D thuđược tại vị trí nhìn ( giống nhau quá trìnhmắt người hay các camera thu hình ảnh2D từ môi trường )

Texture Là một hoặc một loạt các bức ảnh dùng để

tăng độ chi tiết cho các đối tượng

View Frustum Hình chóp cụt xác định khung nhìn của

camera

Danh mục hình vẽ

Hình 1: Kiến trúc phân tầng của GEM 2

Trang 7

Hình 2: Kiến trúc tổng thể 4

Hình 3: Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản 5

Hình 4: Quá trình điều phối event 7

Hình 5: Kiến trúc phân tầng của Render Engine 8

Hình 6: Biểu đồ gói của Render Engine 9

Hình 7: Axis Aligned Bounding Box và Bounding Sphere trong GEM 12

Hình 8: Ví dụ cây khung cảnh và BHVs tương ứng 12

Hình 9: Biều đồ lớp của module Quản lý khung cảnh 13

Hình 10: Lớp SceneNode 14

Hình 11: Lớp SolidMeshSceneNode 16

Hình 12: Hình ảnh Bàn cờ và các quân cờ dùng SolidMeshNode 17

Hình 13: Lớp CameraSceneNode 18

Hình 14: Lớp SkyboxSceneNode 19

Hình 15: Skybox 20

Hình 16: Lớp SceneGraphManager 20

Hình 17: Lớp RenderList và RenderContext 21

Hình 18: Biều đồ hoạt động của giai đoạn prepare-render 23

Hình 19: Biều đồ hoạt động của giai đoạn Tính lại BVHs 25

Hình 20: Ví dụ minh họa khung hình 27

Hình 21: Biều đồ hoạt động giai đoạn view frustum culling 28

Hình 22: Ví dụ một Bounding Sphere có d > R 29

Hình 23: Biều đồ hoạt động của giai đoạn render từng render-list 32

Hình 24: Ví dụ minh họa một vật thể bị chắn hoàn toàn 33

Trang 8

Chương 1 Đặt vấn đề

1.1 Bối cảnh nghiên cứu

Ngành công nghiệp phát triển game trên thế giới đang phát triển như vũ bão.Cách đây 20 năm, game rất đơn giản và chỉ cần một người hoặc một nhóm nhỏ ngườiphát triển nhưng ngày nay, các game hiện đại với đồ họa và khả năng tương tác ấntượng thường được phát triển bởi một đội ngũ đông đảo người thiết kế game, lập trìnhviên, nghệ sĩ… trong thời gian ròng rã từ một đến ba năm Chính việc game ngày càngtrở nên phức tạp như vậy nên hiện nay, các game thương mại không còn phát triển từnguyên thủy nữa mà được phát triển lên từ game engine Game engine hỗ trợ việc xâydựng game một cách nhanh chóng, đơn giản hơn đồng thời cung cấp khả năng tái sửdụng code cao do có thể phát triển nhiều game từ một game engine

Ở Việt Nam, Game online mới chỉ thực sự thâm nhập vào thị trường cách đây 6năm nhưng chỉ trong khoảng thời gian ít ỏi đó, chúng ta đã có một số lượng nhà pháthành game lên tới con số hàng chục, số game được phát hành cũng tương ứng với sốlượng đó Nhưng theo như chúng tôi được biết, gần như tất cả các game online đangđược phát hành ở Việt Nam là được nhập khẩu từ nước ngoài, chủ yếu là Trung Quốc

và Hàn Quốc ( trừ một số game nhỏ chơi trên web như đánh bài, đánh cờ ) Một câuhỏi mà có lẽ tất cả những người chơi game đều trăn trở là “bao giờ mới được chơigame Việt Nam?”

Chúng tôi chọn đề tài này làm khóa luận tốt nghiệp không phải với một thamvọng quá lớn, chỉ là muốn đi những bước chân chập chững đầu tiên vào thế giới pháttriển game rộng lớn, để thu lượm kiến thức về lĩnh vực khó khăn nhưng đầy thú vị này

và hi vọng ở một tương lai không xa, chúng tôi có thể góp một phần sức lực giái đáptrăn trở của cộng đồng người chơi game Việt Nam

1.2 Mục tiêu

Xây dựng một Game Engine đa nền có thể chạy trên nhiều hệ điều hành khácnhau, hướng đến phân khúc phát triên game nhập vai trực tuyến (MMORPG) Game

Engine này được đặt tên là GEM Đây là mục tiêu dài hạn, còn hiện tại, do thời gian

làm luận văn chỉ khoảng 5 tháng nên nhóm chúng tôi chỉ tập trung hoàn thiện thànhphần Render Engine trong Game Engine ( Xem chi tiết ở chương 2)

Trang 9

1.3 Giới thiệu chung

Như đã giới thiệu ở trên, Game Engine là một lớp trung gian giữa game và nềntảng bên dưới, các thư viện lập trình cấp thấp GEM là một game engine nên dĩ nhiên

nó cũng tuân thủ theo nguyên tắc này

Hình 1: Kiến trúc phân tầng của GEM.

Đặt điểm đầu tiên của GEM là khả năng chạy đa nền.Để đặt được điều đó, GEM

sử dụng các bản build trên các nền tảng khác nhau ( chứ không phải sử dụng thôngdịch ) Các đoạn code phụ thuộc nền tảng sẽ được phân chia bằng việc sử dụng các cờtiền biên dịch, hạn chế tối đa việc sử dụng các lớp abstract – vì việc này sẽ làm giảmhiệu suất chương trình đáng kể [1] Cũng vì lí đo chạy đa nền nên chúng tôi lựa chọnopenGL làm giao diện lập trình đồ họa 3D cấp thấp cho GEM, do chuẩn openGL làchuẩn mở và không bị phụ thuộc vào hệ điều hành

GEM được thiết kế hướng đối tượng và yêu cầu về hiệu năng chạy cao nên chúngtôi sử dụng ngôn ngữ C++ - ngôn ngữ đáp ứng hoàn hảo các điều kiện trên Đa số cácGame Engine trên thế giới hiện nay đều được phát triển bằng ngôn ngữ C++

Chúng tôi thiết kế GEM nhắm đến phân khúc phát triển game nhập vai trựctuyến, nên khả năng tương thích với một phạm vi rộng cấu hình phần cứng là một điềukiện quan trọng, dự kiến sẽ support các card đồ họa hỗ trợ openGL 1.4 và shader 1.0trở lên

Trang 10

Bảng cấu hình tối thiểu dự kiến :

Hãng sãn xuất Dòng card hỗ trợ

nVidia Từ GeForce4 Ti trở lên

ATI Từ Radeon 9500 trở lên

Intel ( card tích hợp ) Từ Intel® GMA 3100 ( chipset G31,Q33) trở lên

Trang 11

Chương 2 Kiến trúc tổng thể

GEM là được chia thành nhiều thành phần để tiện cho việc phát triển và bảo trì

Cụ thể GEM gồm các thành phần như sau :

Hình 2: Kiến trúc tổng thể.

Ghi chú : Do thời gian làm luận văn có hạn, chúng tôi mới chỉ hoàn thành

những thành phần sau : Giao tiếp với hệ điều hành, Các kiểu dữ liệu cơ bản, Render

Engine Những thành phần này đủ để hỗ trợ người sử dụng tạo ra các khung cảnh 3D

và tương tác với chúng

Trang 12

2.1 Thành phần Các kiểu dữ liệu cơ bản

Các kiểu dữ liệu cơ bản là thành phần bao gồm các cấu trúc dữ liệu cơ bản như

mảng động, vector, ma trận…, các phép toán trên các kiểu dữ liệu đó cung cấp chothành phần khác sử dụng

Hình 3: Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản.

Các kiểu dữ liệu này có thể chia thành 2 nhóm chính :

- Các yếu tố trong không gian 3D :

+ Vector2, Vector, Vector4 : các loại vector biểu diễn tọa độ 2chiều, 3 chiều và tọa độ đồng nhất

+ Aabb ( Axis aligned bounding box ) : hình hộp chữ nhật có cáccạnh dọc theo 3 trục xyz, được mô tả bằng 2 điểm (xmin, ymin, zmin ),( xmax, ymax, zmax )

+ Sphere : hình cầu, được mô tả bởi tọa độ tầm và bán kính

Trang 13

+ LineSequent, Line, Ray : đoạn thẳng, đường thẳng, tia.

+ Matrix : ma trận sử dụng để biểu diễn các phép biến đổi : dịch,xoay, co giãn trong không gian 3 chiều

+ Plane : mặt phẳng được mô tả bằng các hệ số của phương trình :

+ Array : mảng động với hệ số mở rộng có thể tùy biến

+ GemAllocator : sử dụng bởi các lớp khác để thực thi việc cấpphát và giải phóng bộ nhớ

+ List : linked list 2 chiều

+ Stack

Trang 14

2.2 Thành phần Giao tiếp với hệ điều hành

Giao tiếp với hệ điều hành là thành phần thực thi các công việc cần giao tiếp với

hệ điều hành như điều phối event, đọc ghi file, lấy thời gian hệ thống… Trong đó quantrọng nhất là quá trình điều phối event :

Hình 4: Quá trình điều phối event.

GEM lấy event từ Message System của hệ điều hành, từ đó lấy các thông tin cầnthiết tạo ra GemEvent - lý do cần tạo ra GemEvent là để tránh bị phụ thuộc vào hệđiều hành Sau đó, GemEvent sẽ được gửi lần lượt đến các thành phần có khả năngnhận và xử lý event

Trang 15

2.3 Thành phần Render Engine

2.3.1 Khái quát về Render Engine

Render Engine là thành phần cốt lõi của một Game Engine Nó hỗ trợ người

dùng các công việc thiết yếu để tạo ra một khung cảnh 3D Người dùng sẽ không cầnbiết nhiều đến những công việc tầng thấp như quá trình đọc file tài nguyên, sử dụng3D Graphic API, quá trình tạo các effect… mà chỉ cần dùng giao diện do RenderEngine cung cấp

Render Engine là thành phần duy nhất trong Game Engine giao tiếp với các thư

viện đồ họa cấp thấp ( cụ thể ở đây là openGL và Cg )

Hình 5: Kiến trúc phân tầng của Render Engine.

Trang 16

2.3.2 Kiến trúc của Render Engine

Render engine được chia thành các module sau :

Hình 6: Biểu đồ gói của Render Engine.

- Graphic Driver là module duy nhất trực tiếp sử dụng 3D Graphic API

(openGL), cung cấp cho các module khác một giao diện đơn giản hơn để tương tác vớicard đồ họa

- Quản lý tài nguyên là module quản lý các tài nguyên cần thiết để xây dựng một

khung cảnh 3D như mesh, animated mesh, texture 2D, cubemap…Module này đượcbạn Hoàng Tuấn Hưng trình bày trong khóa luận “Xây dựng Game Engine đa nềntảng – Quản lý tài nguyền và chuyển động đối tượng ”

- Quản lý khung cảnh là module thực hiện việc tổ chức và kiểm soát các đối

tượng tồn tại trong một khung cảnh 3D, từ đó thực hiện quá trình render toàn bộ khungcảnh đó tạo nên hình ảnh 2D tại vị trí nhìn Module này được trình bày chi tiết trongcác chương sau của tài liệu này

-Hiệu ứng ánh sáng và vật liệu là module mở rộng các thành phần của Quản lý

khung cảnh để tạo các hiệu ứng về ánh sáng, vật liệu, và đổ bóng Module này được

bạn Bùi Hoàng Khánh trình bày trong khóa luận “Xây dựng Game Engine đa nền tảng– Hiệu ứng ánh sáng và vật liệu”

Trang 17

-Mô phỏng tự nhiên là module mở rộng các thành phần của Quản lý khung

cảnh để mô phỏng các yếu tố tự nhiên cần có trong game như nước, địa hình, lửa,

khói… Module này được bạn Trần Thái Dương trình bày trong khóa luận “Xây dựngGame Engine đa nền tảng –Mô phỏng tự nhiên”

- Chuyển động của đối tượng là module mở rộng các thành phần của Quản lý

hung cảnh, thực hiện quá trình nội suy trong các mô hình chuyển động ( thường là các

nhân vật trong game ) thông qua hai kĩ thuật thông dụng là keyframe và skinning.Module này được bạn Hoàng Tuấn Hưng trình bày trong khóa luận “Xây dựng GameEngine đa nền tảng – Quản lý tài nguyền và chuyển động đối tượng”

2.4 Các thành phần còn lại.

Các thành phần Mạng, Trí tuệ nhân tạo, Tính toán vật lí, Âm thanh chưa được

triển khai nên chúng tôi không đề cập đến trong tài liệu này

Trang 18

Chương 3 Quản lý khung cảnh

3.1 Khái niệm khung cảnh và cách tổ chức khung cảnh

Khung cảnh có thể hiểu giống như một trường quay phim Nó bao gồm tất cả cácđối tượng tham gia vào quá trình tạo nên hình ảnh, ví dụ như các camera, các nhân vật,các vật thể, các nguồn chiếu sáng… Dĩ nhiên trong một chương trình máy tính, khungcảnh được dữ liệu hóa và chúng tôi định nghĩa nó là tổng hợp tất cả dữ liệu mô tả cácđối tượng trong một không gian 3D

Khung cảnh là rất nhiều dữ liệu, vì vậy một yêu cầu bắt buộc phải tổ chức nó mộtcách hợp lý để tiện sử dụng trong quá trình render Ở đây, chúng tôi tổ chức nó thànhmột cây quan hệ về không gian và đồng thời là Bounding Volume Hierachies (BVHs)

3.1.1 Cây quan hệ về không gian

Cây quan hệ về không gian là một cây mà trong đó, node con nằm trong khônggian của node cha Nghĩa là khi không gian của node cha thay đổi sẽ làm node conthay đổi theo Việc tổ chức khung cảnh thành cây quan hệ về không gian sẽ giúp mô tảmối quan hệ giữa các đối tượng một cách dễ dàng Ví dụ như trong khung cảnh có mộtchiếc ôtô và 2 nhân vật ngồi trong đó, khi đó 2 nhân vật sẽ là 2 node con của node chaôtô, khi ôtô di chuyển, do bị ràng buộc về không gian nên 2 nhân vật cũng sẽ dichuyển theo

3.1.2 Bounding Volume Hierachies.

a Khái niệm Bounding Volume:

Để đơn giản hóa một số giai đoạn tính toán trong quá trình renderSceneGraph, chúng ta sử dụng một số hình đơn giản hơn bao bọc quanh các đốitượng.Các hình đó được gọi là bounding volume

Ở đây chúng tôi sử dụng 2 loại bounding volume là :

+ Axis Aligned Bounding Box

+ Bounding Sphere

Trang 19

Hình 7: Axis Aligned Bounding Box và Bounding Sphere trong GEM.

b Khái niệm Bounding Volume Hierachies (BVHs):

BVHs có thể hiểu là một cây bounding volume, trong đó boundingvolume của node cha sẽ chứa tất cả bounding volume của node con Việc sửdụng BVHs giúp giảm độ phức tạp của quá trình cắt theo khung hình (ViewFrustum Culling)

Hình 8: Ví dụ cây khung cảnh và BHVs tương ứng.

Trong hình trên, sơ đồ bên phải là cây khung cảnh, bên trái là ví trí các node trong không gian và bounding volume của nó Ta có thể thấy bounding

Trang 20

volume của node A là tổng bounding volume của 2 node con, bounding volumecủa root là tổng bounding volume của tất cả các node con.

3.2 Thiết kế cấu trúc

Hình 9: Biều đồ lớp của module Quản lý khung cảnh.

SceneGraphManager : lớp đóng vai trò là gốc của cây khung cảnh, chứa cácphương thức thực thi quá trình render cây khung cảnh

SceneNode : là lớp cơ sở để tạo thành cây khung cảnh SceneNode bao gồm các

dữ liệu mà mọi đối tượng trong không gian 3D đều cần phải có Các loại node khác sẽthừa kế từ lớp này

Trang 21

CameraSceneNode, SolidMeshSceneNode, SkyBoxSceneNode : là các loạinode được triển khai từ lớp cơ sở SceneNode, một loại node ứng với một loại đốitượng cụ thể.

RenderList : là tập hợp các node có chung một tập các trạng thái render Cácnode trong cây khung cảnh sẽ được đưa về các render list rồi sau đó mới thực hiện việcrender các render list Việc làm này sẽ hạn chế tối đa việc chuyển các trạng thái render,năng hiệu suất của hệ thống

RenderContext : Là tập hợp các trạng thái render

Animation : Là lớp cơ sở cho mọi loại animation Một SceneNode sẽ có một listcác animation và thực hiện tất cả các animation đó ở đầu mỗi khung hình

ValueAnimation, DestroyAnimation : Là các loại animation cụ thể được triểnkhai từ lớp cơ sở Animation

3.2.1 Lớp SceneNode

Trang 22

có thể không biến đổi )

- chidren : danh sách các node con của node

- parent : node cha của node này

- boundingBox : aabb của node này trong không gian địa phương của nó

- boundingBoxInWorld : aabb của node này trong không gian trong khônggian thế giới

Trang 23

- treeBoundingBox : tổng hợp boundingBoxInWord của node này vàtreeBoundingBox của các node.

- boundingSphere, boundingSphereInWorld, treeBoundingSphere : nhưtrên nhưng thay aabb bằng bounding sphere

- animationList : danh sách các animation tác động lên node này

Các phương thức chính :

- updateModelMatrix() : phương thức này sẽ kiểm tra các trạng thái củanode ( không gian của nó có biển đổi không, không gian của node cha cóbiến đổi không ) và tính lại ma trận modelMatrix nếu cần thiết

-viewFrustumCulling(Frustum& frustum) : phương thức đệ quy thực thiquá trình view frustum culling

- prepareRender() : phương thức đệ quy thực thi quá trình prepareRender

- render : phương thức được gọi khi render node này, các loại node sẽtriển khai phương thức này cách render loại node đó

- animate : thực thi tất cả các animation này trong animationList của nodenày

3.2.2 Một số loại node khác

a SolidMeshSceneNode :

SolidMeshSceneNode loại node dành cho các đối tượng có mô hình cốđịnh (thường là các đồ vật ) Mỗi SolidMeshSceneNode sẽ sử dụng mesh trongmesh bank và texture trong texture bank, khi node này được render, hệ thống sẽrender mesh đó với ma trận biến đổi thích hợp ( có hỗ trợ tính năng Level ofDetail – LOD – xem chi tiết về LOD trong phần 3.1.Các thuật ngữ )

Biểu đồ lớp :

Ngày đăng: 23/11/2012, 15:04

HÌNH ẢNH LIÊN QUAN

Bảng các thuật ngữ - Xây dựng game engine đa nền tảng quản lý khung cảnh
Bảng c ác thuật ngữ (Trang 6)
Bảng các thuật ngữ - Xây dựng game engine đa nền tảng quản lý khung cảnh
Bảng c ác thuật ngữ (Trang 6)
Hình 1: Kiến trúc phân tầng của GEM. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 1 Kiến trúc phân tầng của GEM (Trang 9)
Hình 1: Kiến trúc phân tầng của GEM. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 1 Kiến trúc phân tầng của GEM (Trang 9)
Bảng cấu hình tối thiểu dự kiế n: - Xây dựng game engine đa nền tảng quản lý khung cảnh
Bảng c ấu hình tối thiểu dự kiế n: (Trang 10)
Bảng cấu hình tối thiểu dự kiến : - Xây dựng game engine đa nền tảng quản lý khung cảnh
Bảng c ấu hình tối thiểu dự kiến : (Trang 10)
Hình 2: Kiến trúc tổng thể. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 2 Kiến trúc tổng thể (Trang 11)
Hình 2: Kiến trúc tổng thể. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 2 Kiến trúc tổng thể (Trang 11)
Hình 3: Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản. Các kiểu dữ liệu này có thể chia thành 2 nhóm chính : - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 3 Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản. Các kiểu dữ liệu này có thể chia thành 2 nhóm chính : (Trang 12)
Hình 3: Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 3 Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản (Trang 12)
Hình 4: Quá trình điều phối event. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 4 Quá trình điều phối event (Trang 14)
Hình 4: Quá trình điều phối event. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 4 Quá trình điều phối event (Trang 14)
Hình 5: Kiến trúc phân tầng của Render Engine. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 5 Kiến trúc phân tầng của Render Engine (Trang 15)
Hình 5: Kiến trúc phân tầng của Render Engine. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 5 Kiến trúc phân tầng của Render Engine (Trang 15)
Hình 6: Biểu đồ gói của Render Engine. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 6 Biểu đồ gói của Render Engine (Trang 16)
Hình 6: Biểu đồ gói của Render Engine. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 6 Biểu đồ gói của Render Engine (Trang 16)
Hình 8: Ví dụ cây khung cảnh và BHVs tương ứng. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 8 Ví dụ cây khung cảnh và BHVs tương ứng (Trang 19)
Hình 7: Axis Aligned BoundingBox và BoundingSphere trong GEM. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 7 Axis Aligned BoundingBox và BoundingSphere trong GEM (Trang 19)
Hình 7: Axis Aligned Bounding Box và Bounding Sphere trong GEM. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 7 Axis Aligned Bounding Box và Bounding Sphere trong GEM (Trang 19)
Hình 8: Ví dụ cây khung cảnh và BHVs tương ứng. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 8 Ví dụ cây khung cảnh và BHVs tương ứng (Trang 19)
Hình 9: Biều đồ lớp của module Quản lý khung cảnh. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 9 Biều đồ lớp của module Quản lý khung cảnh (Trang 20)
Hình 9: Biều đồ lớp của module Quản lý khung cảnh. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 9 Biều đồ lớp của module Quản lý khung cảnh (Trang 20)
Hình 10: Lớp SceneNode. Các thuộc tính chính : - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 10 Lớp SceneNode. Các thuộc tính chính : (Trang 21)
Hình 10: Lớp SceneNode. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 10 Lớp SceneNode (Trang 21)
SolidMeshSceneNode loại node dành cho các đối tượng có mô hình cố định (thường là các đồ vật ) - Xây dựng game engine đa nền tảng quản lý khung cảnh
olid MeshSceneNode loại node dành cho các đối tượng có mô hình cố định (thường là các đồ vật ) (Trang 23)
Hình 11: Lớp SolidMeshSceneNode. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 11 Lớp SolidMeshSceneNode (Trang 23)
Hình 12: Hình ảnh Bàn cờ và các quân cờ dùng SolidMeshNode. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 12 Hình ảnh Bàn cờ và các quân cờ dùng SolidMeshNode (Trang 24)
Hình 12: Hình ảnh Bàn cờ và các quân cờ dùng  SolidMeshNode. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 12 Hình ảnh Bàn cờ và các quân cờ dùng SolidMeshNode (Trang 24)
Hình 13: Lớp CameraSceneNode. Các thuộc tính chính :  - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 13 Lớp CameraSceneNode. Các thuộc tính chính : (Trang 25)
Hình 13: Lớp CameraSceneNode. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 13 Lớp CameraSceneNode (Trang 25)
Hình 14: Lớp SkyboxSceneNode. Các thuộc tính chính :  - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 14 Lớp SkyboxSceneNode. Các thuộc tính chính : (Trang 26)
Hình 14: Lớp SkyboxSceneNode. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 14 Lớp SkyboxSceneNode (Trang 26)
Hình 15: Skybox. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 15 Skybox (Trang 27)
Hình 15: Skybox. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 15 Skybox (Trang 27)
Hình 17: Lớp RenderList và RenderContext. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 17 Lớp RenderList và RenderContext (Trang 28)
Hình 17: Lớp RenderList và RenderContext. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 17 Lớp RenderList và RenderContext (Trang 28)
Hình 18: Biều đồ hoạt động của giai đoạn prepare-render. Quá trình prepare-render trải qua các bước như sau : - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 18 Biều đồ hoạt động của giai đoạn prepare-render. Quá trình prepare-render trải qua các bước như sau : (Trang 30)
Hình 18: Biều đồ hoạt động của giai đoạn prepare-render. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 18 Biều đồ hoạt động của giai đoạn prepare-render (Trang 30)
Hình 19: Biều đồ hoạt động của giai đoạn Tính lại BVHs. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 19 Biều đồ hoạt động của giai đoạn Tính lại BVHs (Trang 32)
Hình 19: Biều đồ hoạt động của giai đoạn Tính lại BVHs. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 19 Biều đồ hoạt động của giai đoạn Tính lại BVHs (Trang 32)
Hình 20: Ví dụ minh họa khung hình. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 20 Ví dụ minh họa khung hình (Trang 34)
Hình 20: Ví dụ minh họa khung hình. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 20 Ví dụ minh họa khung hình (Trang 34)
Hình 21: Biều đồ hoạt động giai đoạn view frustum culling. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 21 Biều đồ hoạt động giai đoạn view frustum culling (Trang 35)
Hình 21: Biều đồ hoạt động giai đoạn view frustum culling. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 21 Biều đồ hoạt động giai đoạn view frustum culling (Trang 35)
Hình 22: Ví dụ một BoundingSphere có d > R. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 22 Ví dụ một BoundingSphere có d > R (Trang 37)
Hình 22: Ví dụ một Bounding Sphere có d > R. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 22 Ví dụ một Bounding Sphere có d > R (Trang 37)
Hình 23: Biều đồ hoạt động của giai đoạn render từng render-list. Quá trình render các render list như sau : - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 23 Biều đồ hoạt động của giai đoạn render từng render-list. Quá trình render các render list như sau : (Trang 39)
Hình 23: Biều đồ hoạt động của giai đoạn render từng render-list. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 23 Biều đồ hoạt động của giai đoạn render từng render-list (Trang 39)
Hình 24: Ví dụ minh họa một vật thể bị chắn hoàn toàn. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 24 Ví dụ minh họa một vật thể bị chắn hoàn toàn (Trang 40)
Hình 24: Ví dụ minh họa một vật thể bị chắn hoàn toàn. - Xây dựng game engine đa nền tảng quản lý khung cảnh
Hình 24 Ví dụ minh họa một vật thể bị chắn hoàn toàn (Trang 40)
Cấu hình máy thử nghiệm : CPU : T7100 (1.8GHz x 2) RAM : 2 GB - Xây dựng game engine đa nền tảng quản lý khung cảnh
u hình máy thử nghiệm : CPU : T7100 (1.8GHz x 2) RAM : 2 GB (Trang 41)
Bảng đánh giá thời gian thực thi giai đoạn Tính lại BVHs - Xây dựng game engine đa nền tảng quản lý khung cảnh
ng đánh giá thời gian thực thi giai đoạn Tính lại BVHs (Trang 41)
Bảng đánh giá thời gian thực thi giai đoạn View frustum culling : - Xây dựng game engine đa nền tảng quản lý khung cảnh
ng đánh giá thời gian thực thi giai đoạn View frustum culling : (Trang 42)
Bảng đánh giá  thời gian thực thi giai đoạn View frustum culling : - Xây dựng game engine đa nền tảng quản lý khung cảnh
ng đánh giá thời gian thực thi giai đoạn View frustum culling : (Trang 42)
Hình ảnh một khung cảnh trong nhà : - Xây dựng game engine đa nền tảng quản lý khung cảnh
nh ảnh một khung cảnh trong nhà : (Trang 43)
Hình ảnh một khung cảnh trong nhà : - Xây dựng game engine đa nền tảng quản lý khung cảnh
nh ảnh một khung cảnh trong nhà : (Trang 43)
Bảng các kí hiệu UML - Xây dựng game engine đa nền tảng quản lý khung cảnh
Bảng c ác kí hiệu UML (Trang 45)
Bảng các kí hiệu UML - Xây dựng game engine đa nền tảng quản lý khung cảnh
Bảng c ác kí hiệu UML (Trang 45)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w