Molehill 3D API вводный курс статей. часть 3. Работа с матрицами.
Содержание:
Molehill 3D API вводный курс статей. часть 1. Что такое Molehill?
Molehill 3D API вводный курс статей. часть 2. Усложнение задач.
Molehill 3D API вводный курс статей. часть 3. Работа с матрицами.
Molehill 3D API вводный курс статей. часть 4. Первый 3D объект с простой текстурой.
Работа с матрицами
Итак как вы помните в шейдере вершин мы умножаем все точки буфера вершин на матрицу преобразований
Где vc0 собственно наша матрица
В цикле рендера мы постоянно ее определяем
однако стоит отметить что с такой матрицей мы не сможем толком отобразить ни один объект
так как у нас даже нет перспективы
для того чтоб мы могли управлять камерой
могли управлять обьектами на сцене
имели какую то перспективу
нам необходимо составить матрицу перспективы
умножить ее на матрицу модели
и умножить на матрицу камеры
итак первое
составляем перспективную матрицу
projection.identity(); projection.perspectiveFieldOfViewRH(45.0, stage.stageWidth / stage.stageHeight, 1.0, 100.0);
и добавляем определение этой матрицы в главный класс
а так же определения матрицы камеры
нам еще желательно тут же определить матрицу в которой мы будем собирать остальные три
теперь в цикле рендера можно собрать все три матрицы в одну
modelViewProjection.append(model); modelViewProjection.append(view); modelViewProjection.append(projection);
context3d.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 0, modelViewProjection);
По традиции вот код примера
(Тыкнув на треугольник, вы сможете покрутить камеру стрелками клавиатуры.)
Всего комментариев 1
Комментарии
Последние записи от skyman000
- Molehill 3D API вводный курс статей. часть 4. Первый 3D объект с простой текстурой. (28.05.2011)
- Molehill 3D API вводный курс статей. часть 3. Работа с матрицами. (28.05.2011)
- Molehill 3D API вводный курс статей. часть 2. Усложнение задач. (28.05.2011)
- Molehill 3D API вводный курс статей. часть 1. Что такое Molehill? (28.05.2011)