Страница: 1 |
Страница: 1 |
Вопрос: Вернемся к нашим баранам или D3D возвращается
Добавлено: 05.04.06 21:34
Автор вопроса: Sacred Phoenix | ICQ: 304238252
После некоторых раздумий решил перегнать свою игруху с DirectX7 на DirectX8, с DirectDraw на Direct3D :) Все бы ничего, да вот в DirectDraw можно рисовать точки и залитые круги нужной толщины/диаметра. Есть ли поддержка этого в Direct3D?
З.Ы. Посмотрел, из чего состоит спрайт, на который натягивается шкурка - текстура. Два треугольника. Стало интересно, почему в основе спрайтов лежат треугольники?
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #1
Добавлено: 05.04.06 23:06
Можно - точеки, отрезки, треугольники.
А примитивы более высокого уровня (кружочки, чайники ) - при поддержке видюхи - эмуляции нет.
Треугольники положены в основу для быстродействия - это плоскость, которую можно описать минимальным количеством точек.
Если учесть, что в модели треугольники соприкасаются (имеют общие точки) - экономия получается огромная (фактически при прорисовке модели мы оперируем индексами вершин, что избавляет от рисования одной и той же точки).
Потом уже и весь мат. аппарат привязали к ним.
З.Ы. Кстати в open GL в этом плане проще - она поддерживает примитивы более высокого уровня. Но там нет таких приятных штучек, как классы для скелетной аннимации (как например квантернионы) - их приходится реализовывать самому.
Номер ответа: 2
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #2
Добавлено: 06.04.06 22:13
Все ясно. Сенкс
Только: как тогда рисовать в Direct3D точки? Можно ли рисовать точки с заданной жирностью, если да, то как?
Номер ответа: 3
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #3
Добавлено: 07.04.06 02:09
Как рисовать... Может я тебе лучше пример скину?
Насчет жирности.
Насколько я знаю, как в Open GL
glPointSize(2);
нельзя.
Размер точки вычисляется D3D , в зависимости от того как инициализированы соответствующие структуры.
Либо если хотим создать жирную точку, то делать это нужно программно (русуем массив точек).
Номер ответа: 4
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #4
Добавлено: 07.04.06 21:42
Пример получил, сенкс еще раз
Номер ответа: 5
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #5
Добавлено: 07.04.06 22:06
Если использовать список, то не снизится (ну или совсем незначительно)- специально придумали.
Номер ответа: 6
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #6
Добавлено: 08.04.06 17:13