2011-09-20 53 views
5

Tôi đang gặp khó khăn khi hiểu về chế độ xem phối cảnh OpenGL. Tôi đã đọc rất nhiều thông tin tuy nhiên nó không giúp tôi cố gắng đạt được những gì tôi theo đuổi. Mà là đảm bảo cảnh 3d của tôi là làm đầy toàn bộ màn hình trên mọi thiết bị Android.Ranh giới khung nhìn trên mọi độ phân giải với OpenGL ES

Để kiểm tra điều này, tôi sẽ vẽ hình tứ giác trong không gian 3d mà cuối cùng sẽ chạm vào mọi góc, làm đầy màn hình của toàn bộ thiết bị. Sau đó tôi có thể sử dụng quad này, hoặc thực sự tọa độ của nó để xác định một hộp giới hạn tại một khoảng cách Z nhất định mà tôi có thể sử dụng để đặt hình học của mình và đảm bảo chúng lấp đầy màn hình của tôi. Khi màn hình thay đổi kích thước, hoặc tôi chạy nó trên một độ phân giải màn hình khác, tôi sẽ tính toán lại hộp giới hạn và hình học này. Tôi không nói về hình học tĩnh, nhưng ví dụ nói rằng tôi muốn điền vào màn hình với quả bóng và nó không quan trọng như thế nào lớn hoặc có bao nhiêu quả bóng có, điều quan trọng duy nhất là màn hình được lấp đầy và không có dư thừa bóng bên ngoài sự thất vọng có thể nhìn thấy.

enter image description here

  • Theo như tôi hiểu khi xác định các khung nhìn bạn thực sự ràng buộc giá trị pixel để ranh giới của hình cụt. Tôi biết rằng bạn thực sự có thể đặt chế độ xem hình ảnh theo cách mà các pixel cửa sổ của bạn phù hợp với vị trí hình học 3d nhưng tôi không chắc chắn cách thức hoạt động này trong phối cảnh.
  • Ở đây tôi giả sử chiều rộng và chiều cao của chế độ xem được ánh xạ tới vùng gần. Vì vậy, khi một quả bóng là Z = 1f nó có kích thước ban đầu của nó
  • Khi di chuyển quả bóng vào màn hình sao cho theo hướng của farZ, quả bóng sẽ được thu nhỏ lại để phối cảnh hoạt động. Vì vậy, một quả bóng ở Z = 51f chẳng hạn, sẽ xuất hiện nhỏ hơn trên màn hình của tôi và tôi sẽ cần thêm nhiều quả bóng để lấp đầy toàn bộ màn hình.
  • Bây giờ để làm như vậy, tôi đang tìm ranh giới màu tía
  • Thực ra tôi cần những ranh giới này để lấp đầy toàn bộ màn hình trên các kích cỡ khác nhau (chiều rộng x chiều cao) trong khi góc thất vọng và khoảng cách Z cho các quả bóng luôn luôn giống như
  • Tôi đoán tôi có thể sử dụng trig để tính các ranh giới màu tía này (xem chú thích hình tam giác màu xanh)
  • Tôi có đánh dấu chính xác góc vọng không?
  • Ai đó có thể xây dựng trên các giá trị màu xanh lá cây 1f và -1f như tôi dường như đã đọc một cái gì đó về nó? Có vẻ như một số vô hướng được sử dụng để thay đổi kích thước hình học trong sự thất vọng?

Tôi thực sự muốn có thể lập trình vị trí theo sơ đồ đối với đường viền khung nhìn trong không gian 3D ở bất kỳ độ phân giải/cửa sổ nào cho bất kỳ thiết bị Android tùy ý nào.

Lưu ý: Tôi có nền flash sử dụng giai đoạn (khu vực hình ảnh) với chiều rộng x chiều cao đã biết ở độ phân giải bất kỳ để dễ dàng định vị/chia tỷ lệ nội dung bằng cách sử dụng phép đo tuyệt đối hoặc đo lường theo phần trăm. Tôi đoán tôi đang cố gắng tìm ra cách hệ thống này áp dụng cho quan điểm của OpenGL.

Trả lời

Các vấn đề liên quan