Có các hình chiếu 3D khác ngoài hình học và phối cảnh không? [đóng cửa]


22

Câu hỏi là khá nhiều trong tiêu đề. Có các phép chiếu 3D đáng chú ý nào ngoài hình ảnh chính tả và phối cảnh có thể được sử dụng trong một hệ thống 3D như OpenGL không?

Cụ thể, có cái nào có công dụng cụ thể trong thiết kế game không?

Câu trả lời:


23

Có, Để đặt tên cho một vài:

Chiếu Pannini, ví dụ, có thể chụp các lĩnh vực rộng của view trong đẹp cách . (hoàn toàn chỉ là ý kiến ​​của tôi)

Tôi nghĩ rằng chi tiết thực hiện sẽ vượt quá phạm vi của câu hỏi cụ thể này.


EDIT: Cảm ơn vì nhận xét, tôi đã viết sai chính tả Pannini. Và để làm cho chỉnh sửa này đáng giá ở đây là một vài điều nữa:

  • Paraboloid / Dual-Paraboloid (Hữu ích cho phản xạ, bóng tối, kính màu)
  • Equir chữ nhật (Có thể tạo chế độ xem bản đồ thế giới của một hình cầu)
  • Hình cầu
  • Xoang

4
+1 cho phép chiếu Panini; Tôi chưa từng nghe về điều đó trước đây. BTW, miễn là chúng ta đang nói về các phép chiếu phi tuyến tính, paraboloid kép là một thứ đôi khi được sử dụng cho bản đồ môi trường và bản đồ bóng.
Nathan Reed

Rất kén chọn, nhưng nó dường như là hình chiếu "Pannini", không phải "Panini".
aardvarkk

Rất tuyệt! Tôi đoán đây là tất cả phi tuyến tính, như Nathan Reed nói?
jmite

Tôi tin là như vậy, rất có thể bạn phải sử dụng phần cứng hoặc xử lý hình ảnh để đạt được chúng trong thực tế. Tôi gặp khó khăn khi nghĩ về một phép chiếu khác ánh xạ các đường thẳng thành các đường thẳng nhưng tôi sẽ thêm nó vào câu trả lời này nếu tôi nghĩ ra một cái gì đó.
MickLH

Có lẽ nó không tồn tại, đây chính xác là kiểu suy nghĩ mà tôi đang nghĩ đến!
jmite

15

Nó phụ thuộc vào ý của bạn là "có thể được sử dụng trong hệ thống 3D như OpenGL". :)

Nói một cách hẹp hòi, các phần cứng và API đồ họa 3D như OpenGL chỉ xử lý chính xác các phép chiếu tuyến tính - các phép chiếu ánh xạ các đường thẳng trong không gian thế giới thành các đường thẳng trên hình ảnh. Họ không bao giờ biến dạng một cái gì đó thành một hình dạng cong (trừ khi nó bắt đầu cong). Điều này là do GPU phụ thuộc vào hình tam giác có các cạnh thẳng để raster chúng chính xác trên màn hình.

Nếu chúng ta giới hạn bản thân trong các phép chiếu tuyến tính, sẽ không có quá nhiều sự lựa chọn. Ngoài ortho và phối cảnh tiêu chuẩn, còn có các biến thể "ngoài trung tâm" có được bằng cách cắt bỏ sự thất vọng của chế độ xem.

  • Phép chiếu ortho ngoài trung tâm được gọi là phép chiếu xiên và thường được sử dụng cho các sơ đồ kỹ thuật nhưng không hiển thị nhiều trong các trò chơi.
  • Các phép chiếu phối cảnh ngoài trung tâm được sử dụng trong kết xuất 3D âm thanh nổi , vì hóa ra mắt trái và mắt phải hợp nhất với não tốt hơn nếu bạn cắt các vật cản thay vì xoay chúng để tập trung vào một vật thể.

Các phép chiếu này có thể được biểu diễn bằng ma trận chiếu 4 × 4 thông thường và được sử dụng trong API 3D mà không gặp vấn đề gì.

Sau đó, có các phép chiếu phi tuyến, không có giới hạn ánh xạ các đường thẳng thành các đường thẳng; họ được phép làm biến dạng mọi thứ thành các đường cong. Có rất nhiều trong số này, bao gồm hình trụ, hình cầu, các loại mắt cá khác nhau, và các loại khác.

Với các phép chiếu phi tuyến, bạn không thể sử dụng ma trận chiếu; bạn phải tự mình thực hiện phép chiếu bằng cách sử dụng shader. Một cách là viết một shader đỉnh tùy chỉnh để thực hiện phép chiếu trên mỗi đỉnh. GPU vẫn sẽ vẽ hình tam giác với các đường thẳng giữa các đỉnh, vì vậy trong khi các tam giác nhỏ sẽ khá gần với chính xác, các tam giác lớn hơn sẽ bị sai đáng chú ý. Điều này có thể gây ra vấn đề và hình học có thể cần phải được phân chia rất tinh xảo để hiển thị chính xác.

Cách tiếp cận thứ hai để có được phép chiếu phi tuyến là hiển thị cảnh bằng cách sử dụng phép chiếu phối cảnh thông thường trước tiên (có thể là hình khối, có hình chiếu phối cảnh cho mỗi mặt khối), sau đó áp dụng trình đổ bóng pixel sau xử lý để lấy mẫu lại theo mong muốn hình chiếu phi tuyến. Điều này có lợi thế là không yêu cầu sửa đổi hình học, nhưng nó có thể tốn kém hơn do công việc kết xuất thêm cần thiết và kết quả có thể bị mờ ở một số khu vực nếu kết xuất đầu tiên không có đủ độ phân giải. Cách tiếp cận hậu xử lý được sử dụng bởi các trò chơi Oculus Rift, ví dụ, để thực hiện phép chiếu phi tuyến mà Rift yêu cầu phải làm việc với các ống kính của nó.


1

Tôi không thể tin được nhưng không ai nhắc đến Phép chiếu Isometric vốn khá phổ biến.


11
Theo như tôi biết, các phép chiếu đẳng cự là các trường hợp sử dụng cụ thể của hai loại hình chiếu khác, hình chính tả và phối cảnh. Ví dụ, một phép chiếu ortho với góc nhìn ở một góc nhất định sẽ cho bạn một máy ảnh đẳng cự.
Grimshaw
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.