CHƯƠNG IV: NWFC ENGINE 4.1 tổng quan
4.6. Cấu trúc của Nwfc Engine
Engine lă một tập câc thănh phần, mỗi thănh phần thể hiện một chức năng tiíng biệt. Một số chức năng chỉ sử dụng cục bộ nhưng hầy hết câc chức năng được kết xuất (export) cho ừứg dụng đầu cưối dưới dạng giao diện (interface).
-Mesh. Thănh phần đảm nhận chức năng lưu trữ dữ liệu 3 chiều mă chủ yếu lă đỉnh ( vertex) vă chỉ số ( index).
- Meshbuilder. Có vai trò hỗ trợ lập trình viín, giúp họ có thể sửa đổi hay thao tâc trín dữ liệu 3D được chứa trong Mesh một câc nhanh vă thuận tiện nhất.
- meshbuilder. Có vai trò hỗ trợ lập trình viín, giúp họ có thể sửa đổi hay thao tâc trín dữ liệu 3D được chưa trong Mesh một câc nhanh vă thuận tiện nhất.
- texture. Lă thănh phần xử lý câc ảnh bề nặt texture. Câc texture lă câc tăi nguyín chia xẻ ( Shared resource) vă được quản lý nội bộ trong Engine bởi số đếm than chiếu ( reference count).
- texturemđnger. Hệ thống câc texture được quản lý nội bộ trong Engine bởi texturemđnger. Thănh phần năy sẽ đảm bảo câc texture có cùng tín vă đường dẫn sẽ tham chiếu đến cùng một đối tượng trong bộ nhớ gióp tiết kiệm rất nhiều bộ nhớ đối với câc ứng dụng lớn. Câc hệ thống manager vă cơ chế chia xẻ tăi nguyín bằng số đếm tham chiếu được sử dụng rất phổ biến trong Engine.
- Material. Đđy lă trâi tim đồ hoạ của toăn bộ /engine. Thănh phần năy đảm nhận mọi chức năng về chất liệu hiển thị trín bề mặt 3D như độ bong, vđn bề mặt độ phản chiếu, độ khúc xạ… nói chung mọi vật thể đều có chất liệu của nó, gỗ thì có chất liệu gỗ, sắt có chất liệu kim loại. Mọi tính chất về chất liệu như thế sẽ được quản lý bởi thănh phần năy. Cũng giống như texture, material cũng lă sử dụng reference count để quản lý chia xẻ tăi nguyín.
Rendersystem. Đđy không phải lă một thănh phần mă lă một hệ thống. Hệ thống năy sẽ đảm nhận quản lý toăn bộ chức năng đồ hoạ của toăn bộ Engine. Mọi hănh động mă ứng dụng đầu cuối muốn triển khai về mặt đồ hoạ đều phải thong qua hệ thống năy. Hệ thống năy còn đảm nhận luôn chức năng quản lý cho câc material.
Renderapi. Đđy lă thănh phần đóng vai trò giao tiếp với phần cứng vă với câ thư viện đồ hoạ cấp thấp giúp thực hiện câ chức năng trín phần cứng. Thănh phần năy sẽ được hiện thực hoâ trín câc 3D API cụ thể ( như
Direct3D hay opengl).
Shader. Giúp quản lý vă tích hợp câ thong tin cần thiết khi dựng hình như câc trạng thâi của phần cứng, Vertex Shader, Pixel Shader… Shader được sử dụng trong material vă hoăn toăn có thể được chia xẻ giữa câc module khâc nhau.
Filesystem. Hệ thống quản lý truy xuất vă tìm kiếm tập tin. Mọi thănh phần khâc muốn thao tâc trín tập tin đều phải thông qua thănh phần năy. Ta phải sử dụng một hệ thống tập tin duy nhất cho mọi thănh phần vi sự phị
thựôc văo câc thư viện tập tin được sử dụng như ( standardfileio hay
Ưin3f2FileIO). Ngoăi ra sự quản lý tập trung còn giúp ta triển khai câc hình thức lưu trữ khâc nhau ( như lưu trữ trong tập tin zip chẳng hạn).
Parameter Files. Đđy lă thănh phần hỗ trợ định dạng tập tin Parmeter của Engine. Định dạng tập tin Parameter sẽ được trình băy ở phần sau. Tập tin Parameter được sử sụng rất phổ biến trong cũng như ngoăi Engine. Nó giúp định nghĩa cấu trúc tập tin material… vă đựoc dung rất nhiều cho Game demo.
Math. Thư viện toân dung cho 3D, hỗ trợ vector 2. . 4 chiều, quaternion, ma trận 4*4, color, mặt phẳng.
Nwfcutil. Hỗ trợ ứng dụng đău cuối có thể truy xuất câc thănh phần trong Engine.