Tôi cần một số gợi ý về cách tiếp cận tốt nhất cho nhiệm vụ xoay vòng trong OpenGL. Tôi biết cách xoay đối tượng trong không gian 3D bằng quaternions, tôi có thể dịch chúng, tất cả đều tốt và tốt.Làm thế nào để nhóm nhiều đối tượng cho mục đích quay chúng như một đơn vị?
Nhưng tôi muốn biết cách tốt nhất để xử lý tập hợp các đối tượng khác nhau như một thực thể duy nhất cho mục đích xoay vòng. Ví dụ, giả sử bạn có một bàn với các đối tượng trên đó. Mỗi bản dịch đều có bản dịch và vòng xoay riêng, nhưng bây giờ tôi muốn xoay toàn bộ bàn và mọi thứ trên đó, đồng thời giữ các đồ vật khác trong phòng tại chỗ. Điều này có nghĩa là các vật thể ở cạnh ngoài của bàn sẽ xoay và dịch xung quanh tâm của bàn, trong khi các vật ở trung tâm chỉ có thể xoay nhưng nếu không, hoặc đơn giản là không dịch nhiều, tùy thuộc vào khoảng cách của chúng. trục quay. Có vẻ như một cách khá không phù hợp để làm điều này là xoay và dịch từng đối tượng trên bàn làm việc, cũng như chính bàn làm việc, biết vị trí của trục quay. Có lẽ đây là cách tốt nhất để làm điều đó, nhưng liệu có một kỹ thuật để "nhóm" các đối tượng khác nhau cho mục đích này?
Nếu bạn hỏi về OpenGL ES, * không * sử dụng thẻ OpenGL. –
kỹ thuật xoay và ma trận trong ví dụ này áp dụng cho cả OpenGL và OpenGL ES. Câu hỏi này dành riêng cho OpenGL ES là gì? – johnbakers
Bởi logic đó, nó không phải về * bất kỳ hình thức OpenGL nào, vì bất kỳ API đồ họa 3D nào cũng sẽ sử dụng các kỹ thuật tương tự. Do đó, nó không nên có * bất kỳ * thẻ OpenGL nào. –