Cố gắng hiểu gluLookAt, đặc biệt là 3 thông số cuối cùng.giải thích gluLookAt?
Ai đó có thể giải thích?
gluLookAt(camera[0], camera[1], camera[2], /* look from camera XYZ */
0, 0, 0, /* look at the origin */
0, 1, 0); /* positive Y up vector */
- chính xác nó có ý nghĩa gì bởi "dương Y lên vector"?
- Có thể có tham số lên tới 3 vectơ cuối cùng là tất cả 1s, ví dụ: 1, 1, 1? Và, nếu có thể, điều đó có nghĩa là gì?
- Có thể cho vectơ lên có giá trị lớn hơn 1, ví dụ: 2, 3, 4?
Cảm ơn.
Vẫn không hiểu lắm.Sự khác biệt giữa up-vector khi các tham số là (1, 0, 0) so với (0, 1,0) so với (0, 0, 1) là gì? Không thể tìm thấy bất kỳ hình ảnh nào trong trang web để hỗ trợ cho sự hiểu biết của tôi. Nếu ai biết nơi để tìm, xin vui lòng cho tôi biết. –
@Johnnt: Hãy suy nghĩ về một người quan sát ở một vị trí cụ thể trên sàn nhà của bạn, nhìn về phía cửa. Bây giờ, người quan sát đó có thể đang ngồi, nằm ở bên trái của họ, hoặc nằm ở bên phải của họ. Bạn cần phải biết vòng quay đầu của người quan sát ngoài vị trí của họ và hướng họ đang tìm kiếm. –
Mở rộng lời giải thích của Ben, hãy tưởng tượng máy ảnh của bạn có ăng ten ở trên cùng. Đó là máy ảnh "lên." Là một máy quay video cầm tay, hãy tưởng tượng rằng bạn XÁC NHẬN MÁY ẢNH trong khi vẫn giữ nó hướng về đối tượng của bạn! Bây giờ camera-up có thể điểm theo bất kỳ hướng nào, thậm chí lộn ngược! Đó là những gì các tọa độ XYZ của gluLookAt dành cho - để nói cho GL biết cách camera đang được giữ. Trong các tình huống MOST, 0,1,0 công trình, mặc dù có vấn đề nếu máy ảnh nhìn thẳng lên hoặc thẳng xuống, trong trường hợp này 0,0,1 là điểm khởi đầu tốt, mặc dù bạn có thể muốn thử nghiệm. – Olie