Солнечная система с использованием OpenGL-ES 2.0 и GLSL 1.0

Я пытаюсь реализовать приложение классической солнечной системы (только Солнце и Земля - ​​кубы вместо сфер) с использованием OpenGLES 2.0 и GLSL 1.0. Я не понимаю как

  • напишите матрицу перевода и вращения, чтобы куб Земли вращался вокруг Солнца.
  • какой должен быть порядок умножения матриц. Я делаю всю матричную операцию в вершинном шейдере и получаю два куба, вращающихся вдоль осей x и y соответственно.

    Земля и Солнце в форме кубов

Но перед лицом проблемы с получением куба Земли вращаются вокруг куба Солнца:-(

1 ответ

Сначала вы должны понять, что Matrix ES 1.X лучше. Если вы не знаете точно 1. Матрица перевода равна 1000 0100 0010 xyz1. Измените значение X и Z 2. Матрица угла - cs 00 -sc 00 0 0 1 0 0 0 0 1 также изменить ось X & Y

затем операция martix в коде (не в коде шейдера) и просто передача matirx в униформу шейдера для каждого объекта

Другие вопросы по тегам