Android: как добавить более одного объекта на экран (OpenGL)? - PullRequest
0 голосов
/ 17 января 2012

Я работаю с шаблоном просмотра модели, который отображает 3D-куб в центре экрана. Я пытаюсь добиться того, чтобы на экране был помещен другой, но меньший трехмерный куб, который находится в другом положении XY от основного. Итак, визуально, если оригинальный куб находится в центре, я бы хотел поместить второй меньший куб вправо.

Итак, как мне добавить еще один куб на экран, сделать его меньше и изменить его положение? Примечание. Я работаю с базовым шаблоном.

Ответы [ 2 ]

1 голос
/ 17 января 2012

У вас есть много способов сделать это.

  • Изменить координаты вершин куба (вероятно, это плохая идея).
  • Изменить матрицу вида модели с помощью операции масштабирования и операции перевода, а затем снова нарисовать свой куб (наверное, лучшая идея).Вам придется обратить внимание на порядок преобразований.
  • Измените матрицу камеры с помощью операций обратного перевода и масштабирования, затем снова нарисуйте свой куб (неплохая идея, но замысловатая и немного неинтуитивная).
  • Изменить видовой экран ...

Я также предполагаю, что у вас есть повороты (так что ваш куб показывает свою трехмерность), поэтому порядок преобразованийэто действительно важно.

Если вы хотите немного больше учиться, вы можете прочитать Красную книгу OpenGL, легально доступную в Интернете бесплатно.Первые главы отвечают на все ваши вопросы.

1 голос
/ 17 января 2012

Назначить другую матрицу преобразования модели для второго объекта.Если вы выполняете рендеринг с фиксированным конвейером, тогда это так же просто, как вызвать glMulMatrix.Если вы выполняете рендеринг с помощью шейдеров, передайте соответствующую матрицу как единообразную вашему вершинному шейдеру.

Вот некоторые основные сведения по этому вопросу:

...