2010-05-17 44 views
5

Trong ứng dụng iphone của tôi, tôi cần chiếu cảnh 3D vào tọa độ 2D của màn hình để tính toán một số. Các đối tượng của tôi trải qua nhiều phép quay, dịch và chia tỷ lệ. Vì vậy, tôi figured tôi cần phải nhân các đỉnh với ModelView ma trận đầu tiên, sau đó tôi cần phải nhân nó với ma trận chiếu trực giao.OpenGL ES 2.0 tương đương với glOrtho()?

Trước hết, tôi đi đúng hướng?

Tôi có Ma trận chế độ xem mô hình, nhưng cần ma trận chiếu. Có tương đương glOrtho() trong ES 2.0 không?

Trả lời

13
mat4 projectionMatrix = mat4(2.0/768.0, 0.0, 0.0, -1.0, 
           0.0, 2.0/1024.0, 0.0, -1.0, 
           0.0, 0.0, -1.0, 0.0, 
           0.0, 0.0, 0.0, 1.0);       

gl_Position = position; 
gl_Position *= rotationMatrix; 
gl_Position.x -= translateX; 
gl_Position.y -= translateY; 
gl_Position *= projectionMatrix; 

Đối với một độ phân giải cố định (1024x768 trong trường hợp của tôi cho iPad) tôi đã sử dụng ma trận này và mọi thứ hoạt động như quyến rũ :) Dưới đây là mô tả đầy đủ những giá trị bạn cần để đưa vào ma trận của bạn: glOrtho.html

+0

nhờ dude đây là mẫu rất hữu ích – sage444

3

manual page cho glOrtho() mô tả các hoạt động tương đương, miễn là bạn có ma trận tiện dụng sẽ có thể triển khai lại nó.

+1

404 không tìm thấy trang – Nande

+1

@Nande Cảm ơn, đã được sửa! – unwind

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