Форум программистов, компьютерный форум, киберфорум
DirectX
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
116 / 74 / 5
Регистрация: 15.03.2012
Сообщений: 259
1

Как удалять и добавлять вертексы в шейдер?

25.07.2012, 15:11. Просмотров 1144. Ответов 6
Метки нет (Все метки)


Всё копаюсь с морфингом. Есть необходмость в определённые момент добавлять некоторые НОВЫЕ грани в шейдер и удалять из - него другие. Так вот вопрос, неужели для добавления всего лишь одного примитива нужно заново создавать вертекс буффер со всеми примитивами, включая новый и цеплять его к шейдеру? Аналогично с удалением ? Это ж очень медленно

Добавлено через 1 час 55 минут
Вот теселятор то без проблем добавляет и удаляет примитивы к мешу, причём все происходит с крутой скорость в видео памяти.....Как же мне так сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2012, 15:11
Ответы с готовыми решениями:

Как в datagrid добавлять и удалять колонки
Как можно сделать динамическое добавление и удаление колонок в datagrid? В devexpress есть...

Как добавлять и удалять элементы из очереди?
Не нашел методы Push и Pop для очереди.

Как динамически добавлять/удалять страницы ViewPager
Добрый день Всем! как можно добавлять и удалять страницы во ViewPager? пытаюсь делать так: ...

Объясните как удалять, добавлять и сортировать строки
подскажите, пожалуйста,как удалять, добавлять и сортировать строки? мне казалось,что через...

__________________
Помогаю в написании студенческих работ здесь.
6
49 / 49 / 2
Регистрация: 17.07.2011
Сообщений: 318
25.07.2012, 18:24 2
Если не перерисовываешь весь кадр, не очищай всю поверхность буфера, сотри только то что будешь перерисовывать, используй drawuserprimitives для мелких исправлений. Но если рисование укладывается в обновление 60 раз в секунду, не причин для беспокойства. Можешь тестировать понижение производительности рисования с использованием Immediate вместо default(Immediate-максимально возможное количество вызовов begin-end, default-60 раз в секунду). Более сложные вариации возможны с трафаретами, но это уже другая история.
0
116 / 74 / 5
Регистрация: 15.03.2012
Сообщений: 259
25.07.2012, 21:16  [ТС] 3
Вопрос тут был совсем в другом. Как добавлять или удалять примитивы в шейдер? Полагаю это должно происходит через геометрический шейдер теселяции ?
0
49 / 49 / 2
Регистрация: 17.07.2011
Сообщений: 318
26.07.2012, 08:09 4
Как рисовать объект, вам решать, тесселятор всего лишь оптимизирует количество треугольников чтоб не падала производительность, а позицию обсчитывайте как и обсчитывали до этого.
0
116 / 74 / 5
Регистрация: 15.03.2012
Сообщений: 259
26.07.2012, 09:45  [ТС] 5
опять 25. я говорю не про позицию, а про добавление примитивов

Добавлено через 10 минут
нашёл пример в sdk - PipesGS
буду изучать.....а ваще это называется "создание новой геометрии на лету"

Добавлено через 1 час 8 минут
Да что за чёрт, все примеры, за исключением рисования треугольника, на столько сложные - что хрен что поймёшь, да еще и всё на DXUT - ваще караул. В корне не правильный подход, для обучения майкрософт могла бы и не использовать какое - то гавно типа DXUT и писать код чисто на директ икс. Да еще плюс к тому, нет простых примеров. Вот сейчас пытаюсь разобраться в геометрических шейдерах, так был бы пример, где просто добавлась бы одна грань к одной, уже сушествующей. Так нет, такой бред в примере - тёмный лес короче.
Может есть у кого статейка на русском по Geometry Shader ?
0
49 / 49 / 2
Регистрация: 17.07.2011
Сообщений: 318
26.07.2012, 17:59 6
Цитата Сообщение от -=MASTER=- Посмотреть сообщение
Вот теселятор то без проблем добавляет и удаляет примитивы к мешу, причём все происходит с крутой скорость в видео памяти.....
Он перерисовывает весь кадр, возможно по каким то своим трафаретам, мне кажется вы не определили цель и соответственно любое решение будет неоднозначным. Вначале темы говорилось о вполне конкретном вопросе, а потом расплылось. Если дело касается оптимизации, то тут вам никто не поможет, потому как надо делать по факту вашего проекта.
0
116 / 74 / 5
Регистрация: 15.03.2012
Сообщений: 259
27.07.2012, 09:14  [ТС] 7
Ладно, как что добавлять я уже более менее разобрался - через геометрический шейдер. А вот кто подскажет, как мне создать и использовать константный буффер для геометрического шейдера? Что то по аналогии с вертексным не получается...

Добавлено через 14 часов 47 минут
чёрт побъери...кто бы мог подумать, что через константные буфферы можно передавать только наборы данных, по кол-ву кратные 4-м

Добавлено через 1 минуту
Я знал, что для ускорения процесса, в директе используются квадратные матрицы 4х4, но что магическое число 4 было в каждой дырке
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2012, 09:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как правильнее добавлять и удалять заголовки сообщений?
Как правильнее добавлять и удалять заголовки сообщений: делать экземпляр HttpRequestMessage или...

Как, не используя графический модуль, добавлять и удалять круги
Объясните, как не используя графический модуль, я могу добавлять и удалять круги, да ещё и...

Как добавлять и удалять записи в MSFlexGrid по нажатии кнопки?
как добавлять и удалять записи в MSFlexGrid по нажатии кнопки

Как правильно добавлять и удалять элементы в вектор и из него
Всем доброго времени суток. Прошу объяснить как правильно добавлять и удалять элементы в вектор и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.