Tôi có mã cpp hiển thị hình dạng OpenGL đơn giản trong Maya. Nếu khung nhìn di sản được sử dụng, sau đó tôi có một cách chính xác những gì tôi muốn: mũi tên đi dọc theo trục x:
Các hành vi OpenGL khác nhau tùy thuộc vào chế độ xem của Maya được sử dụng
camera Tuy nhiên nếu tôi sử dụng cùng mã trong Viewport 2.0 thì các mũi tên đang theo dõi phong trào:
này đang xảy ra chỉ khi tôi áp dụng glTranslatef (mà tôi sẽ cần phải sử dụng).
Đây là đoạn mã:
for (int i=0;i<10;i++)
{
glPushMatrix();
glTranslatef(i,0,0);
glBegin(GL_LINES);
// Arrow
glVertex3f(0, y, z);
glVertex3f(1, y, z);
glVertex3f(1, y, z);
glVertex3f(0.5, y, z+0.5);
glVertex3f(1, y, z);
glVertex3f(0.5, y, z-0.5);
glEnd();
glPopMatrix();
}
Làm thế nào tôi có thể có hành vi thích hợp trong "mới" Maya viewport?
Một phần trong tôi cảm thấy như bạn đang bỏ lỡ một 'glLoadIdentity()' sau đó 'glPushmatrix()', cái kia cảm thấy như thế là quá dễ để trở thành sự thật. – Borgleader
Một phần khác không may là đúng. Cảm ơn vì đề xuất này :-) –
Hành vi ma trận lạ khiến tôi tự hỏi liệu các khung nhìn khác nhau có ngăn xếp ma trận khác nhau bị ràng buộc hay không, và trong trường hợp thứ hai, bạn đang áp dụng biến đổi cho ma trận chiếu thay vì modelview hoặc thứ gì đó. .. – JasonD