выделяем все вершины нашего объекта и перетаскиваем их по координатам X,Y,Z на относительное расстояние от предыдущего значения каждой вершины.
Делается это не так, а изменением модельной матрицы объекта.
ЦитатаAlexsSyr ()
Меня интересует как сделать выделение mesh с помощью мыши.
Есть несколько способов. Самый простой, для всех добавляемых объектов создавать свой уникальный цвет (цветов очень много так что должно хватить )) и при клике сохранять позицию курсора, отрисовать все объекты используя только цветовой буфер, и закрасить каждый объект его уникальным цветом, дальше просто смотрим, какой цвет находится под курсором, и ищем среди объектов этот уникальный цвет.
Второй вариант: Перевести оконные координаты мыши в мировые и из этой точки пустить луч перпендикулярно экрану, пробегаем по всем объектам (либо по дереву если строишь) и проверяем на пересечение, если луч пересекает объект, значит выбираем его.
Сообщение отредактировал Xakep - Понедельник, 23 Февраля 2015, 19:15
Можно утащить пример отсюда (для GameMaker; использует DirectX9; бесплатная версия программы подходит для открытия примера). Способ с цветными объектами на вспомогательном буфере немного дурацкий, но нередко им и пользуются, поскольку он гарантирует "попадание" по видимому пользователю объекту. Еще способ - вычислить вектор мыши (вектор направления взгляда камеры, повернутый по X и Z в зависимости от смещения мыши от центра экрана), и по нему бросать луч для определения столкновения и следовательно объекта под мышью.