Camera vs Viewport


23

Tôi không hiểu rõ về sự khác biệt chính xác giữa tọa độ camera và tọa độ khung nhìn. Bất cứ ai có thể xin vui lòng làm rõ?

Câu trả lời:


40

Camera giống như một chiếc máy ảnh mà bộ phim Batman được quay. Nó tồn tại trong một thế giới ảo và có thể được di chuyển xung quanh, nhắm mục tiêu các cảnh khác nhau, thay đổi độ dài tiêu cự và các thuộc tính máy ảnh khác. Bạn có thể có nhiều camera và chuyển đổi giữa chúng. Bạn thậm chí có thể quay phim trên một số máy ảnh cùng một lúc.

Các tọa độ camera điển hình là: vị trí trong thế giới ảo, hướng đối diện, vectơ lên, trường nhìn, v.v.

Viewport là một màn hình điện ảnh. Đó là một nơi mà hình ảnh được ghi lại bằng camera được hiển thị. Trong thế giới PC đó là một khu vực trong màn hình trong một số cửa sổ hoặc hình ảnh toàn màn hình. Bạn có thể hiển thị nguồn cấp dữ liệu từ nhiều máy ảnh cùng một lúc (như trong các trò chơi đua xe console giữa 2-4 người chơi).

Các tọa độ khung nhìn điển hình là: vị trí trên màn hình, chiều cao và chiều rộng.


0

Các tọa độ khung nhìn là tọa độ nơi nó được đặt trên màn hình. (Ví dụ bên trong cửa sổ win32).

Các tọa độ camera là vị trí của camera TRONG khung nhìn, nằm trong không gian 2D / 3D bạn đặt trong ứng dụng OpenGL của mình. Máy ảnh không thể đi ra ngoài chế độ xem đó vì nó nằm trong không gian bạn đặt nơi opengl có thể thực hiện công việc của nó, bên trong cửa sổ Win32.


Điều đó không hoàn toàn chính xác. Khung nhìn xác định ánh xạ từ không gian NDC sang không gian cửa sổ để chuyển đổi đỉnh. Trong các phiên bản cũ hơn của GL, ánh xạ đó cũng được áp dụng cho chuyển đổi vị trí raster (nhưng điều đó đã bị xóa). Tuy nhiên, có nhiều thao tác GL không bị hạn chế bởi chuyển đổi đỉnh và do đó bạn có thể thực hiện những việc như xóa bộ đệm màu bên ngoài chế độ xem. Trong thực tế, cách duy nhất để hạn chế bộ đệm rõ ràng trong một khu vực cụ thể của bộ đệm khung là sử dụng một thứ hoàn toàn khác, được gọi là hộp cắt kéo ( glScissor (...)).
Andon M. Coleman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.