Vous pouvez combiner les transformations en une seule matrice, puis l'appliquer à n'importe quel point pour vous donner sa position dans le monde. Vous pouvez le faire en interrogeant la matrice actuelle (après avoir appliqué toutes vos rotations, traductions et mises à l'échelle) et en utilisant ceci pour appliquer des transformations à des points arbitraires.
Notez qu'en utilisant glRotatef
et glTranslatef`, vous utilisez le mode immédiat et les anciennes API. L'utilisation moderne d'OpenGL vous permet de créer des matrices et de les envoyer aux shaders pour appliquer les transformations de l'objet aux coordonnées du monde. De cette façon, vous auriez déjà la matrice pour les transformations d'objet-à-monde.
Ne supposez pas que vous connaissez les commandes, j'utilise openGL ES 1.1 – Burf2000
Vous pouvez utiliser: 'float modelViewMatrix [16]; glGetFloatv (GL_MODELVIEW_MATRIX, modelViewMatrix); 'interroger la transformation en cours. Vous pouvez ensuite appliquer cette matrice à n'importe quel point de l'espace objet pour obtenir les coordonnées du monde. – gavinb
Si vous pouviez m'aider avec l'étape suivante. comment puis-je l'appliquer? – Burf2000