Chƣơng 1 : CƠ SỞ LÝ THUYẾT
8. Ma trận MVP
Trong đồ họa 3D, các phép biến đổi, phép chiếu cho một vật thể đều sử dụng các ma trận để thực hiện. Vì thế, một đối tƣợng cần có một tập các ma trận để đảm nhiệm các nhiệm vụ nhƣ tịnh tiến, xoay, chiếu,…
MVP Matrix là tập hợp của 3 ma trận: Model (ma trận tập hợp các phép biến đổi cho đối tƣợng), View (ma trận tập hợp các phép biến đổi cho góc nhìn) và
Projection (Ma trận xử lý các phép hình chiếu)
Model
Object space (không gian của đối tƣợng)
Tất cả đổi tƣợng trên màn hình đều có một hệ tọa độ của riêng mình trong một khơng gian của riêng mình. Giả sử chúng có gốc xoay nằm ở vị trí (0, 0, 0, 1). Và chúng có một ma trận định nghĩa vị trí của riêng mình.
World - Khơng gian đối tƣợng trong khung nhìn (Viewport)
Một đối tƣợng nằm bên trong một khung nhìn sẽ chịu ảnh hƣởng bởi ma trận biến đổi của khung nhìn đó (World Matrix).
41
Để có thể tính tốn đƣợc các phép biến đổi của một đối tƣợng so với một khung nhìn nào đó, ta dùng cơng thức:
WorldMatrix * Model Matrix View
Xoay góc nhìn và xoay đối tƣợng
Để có thể quản lý đồng nhất tất cả mọi đối tƣợng trên màn hình, chúng ta dùng một đối tƣợng quản lý góc nhìn có tên gọi là Camera. Và khi đó, các phép biến đổi của các đối tƣợng trên màn hình sẽ chịu tác động của phép biến đổi Camera. Và bản thân Camera cũng có ma trận biến đổi riêng của nó (View Matrix).
Vì vậy, khi muốn mọi đối tƣợng trên màn hình hoạt động đồng bộ với Camera, ta cần nhân ma trận của chúng với ma trận biến đổi của Camera.
Tổng kết lại, một đối tƣợng đặt trong một khung nhìn đƣợc quản lý bởi một camera sẽ có ma trận biến đổi nhƣ thế này:
View Matrix * WorldMatrix * Model Matrix Phép chiếu phối cảnh
42
Để áp dụng phép chiếu phối cảnh lên một vật thể nằm trong một màn hình có camera, ta có ma trận biến đổi của vật thể đó nhƣ sau:
43