116 / 74 / 5
Регистрация: 15.03.2012
Сообщений: 259
|
|
1 | |
Как удалять и добавлять вертексы в шейдер?25.07.2012, 15:11. Просмотров 1144. Ответов 6
Метки нет Все метки)
(
Всё копаюсь с морфингом. Есть необходмость в определённые момент добавлять некоторые НОВЫЕ грани в шейдер и удалять из - него другие. Так вот вопрос, неужели для добавления всего лишь одного примитива нужно заново создавать вертекс буффер со всеми примитивами, включая новый и цеплять его к шейдеру? Аналогично с удалением ? Это ж очень медленно
Добавлено через 1 час 55 минут Вот теселятор то без проблем добавляет и удаляет примитивы к мешу, причём все происходит с крутой скорость в видео памяти.....Как же мне так сделать?
0
|
|
25.07.2012, 15:11 | |
Как в datagrid добавлять и удалять колонки
Как динамически добавлять/удалять страницы 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 |
Он перерисовывает весь кадр, возможно по каким то своим трафаретам, мне кажется вы не определили цель и соответственно любое решение будет неоднозначным. Вначале темы говорилось о вполне конкретном вопросе, а потом расплылось. Если дело касается оптимизации, то тут вам никто не поможет, потому как надо делать по факту вашего проекта.
0
|
116 / 74 / 5
Регистрация: 15.03.2012
Сообщений: 259
|
|
27.07.2012, 09:14 [ТС] | 7 |
Ладно, как что добавлять я уже более менее разобрался - через геометрический шейдер. А вот кто подскажет, как мне создать и использовать константный буффер для геометрического шейдера? Что то по аналогии с вертексным не получается...
Добавлено через 14 часов 47 минут чёрт побъери...кто бы мог подумать, что через константные буфферы можно передавать только наборы данных, по кол-ву кратные 4-м ![]() Добавлено через 1 минуту Я знал, что для ускорения процесса, в директе используются квадратные матрицы 4х4, но что магическое число 4 было в каждой дырке ![]()
0
|
27.07.2012, 09:14 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Как правильнее добавлять и удалять заголовки сообщений? Как, не используя графический модуль, добавлять и удалять круги Как добавлять и удалять записи в MSFlexGrid по нажатии кнопки? Как правильно добавлять и удалять элементы в вектор и из него Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |