2012-02-01 36 views
8

Tôi có ma trận 4x4 để chuyển đổi của đối tượng.Làm thế nào để cập nhật ma trận modelview opengl với ma trận 4x4 của riêng tôi?

float mat44[16]; 

Nhưng tôi không biết cách cập nhật ma trận OpenGL ModelView bằng ma trận của mình. tôi nên sử dụng glTranslatef()/glRotatef() với các giá trị relavant từ ma trận của tôi hoặc tôi nên sử dụng glLoadMatrix(), glMultMatrix()? Xin giúp đỡ. Cảm ơn.

+0

Bạn sử dụng phiên bản OpenGL nào? –

Trả lời

20

Nếu bạn muốn áp dụng chuyển đổi của bạn để chuyển đổi hiện tại đã có trong OpenGL ma trận chồng, sau đó bạn nên viết:

glMultMatrixf(mat44); 

Nhưng nếu bạn muốn loại bỏ những gì đang được đầu OpenGL ma trận ngăn xếp và sử dụng của riêng bạn chuyển đổi, sau đó bạn nên viết:

glLoadMatrixf(mat44); 
2

Đối với OpenGL-2.1 và sử dụng trước đó glLoadMatrix hoặc glMultMatrix, tùy thuộc vào nhiệm vụ trong tầm tay.

Đối với OpenGL-3 và sau đó đặt chúng làm đồng phục phù hợp cho trình đổ bóng của bạn bằng một trong các biến thể glUniformMatrix.

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