Войти
ПрограммированиеФорумГрафика

Мешем единым. ID3DXMesh + ID3DXMesh + ... + n [РЕШЕНО] (2 стр)

Страницы: 1 2
#15
19:58, 8 окт. 2013

Всё при этом же коде сейчас тормозов нет. А по чему - ответ в посте #0


#16
20:10, 8 окт. 2013


graveman
С индексами до меня дошло. Опробовал сейчас на квадрате загруженом из "*.х". Количество индексов в сетке = количество треугольников * 3. ВСЁ. Уже даже этого знания достаточно
В принципе можно даже и не понимать что значение элемента массива индексов это индекс в массиве вершин, если конечно не создаёшь сетку вручную.

#17
22:12, 10 окт. 2013

Жаберштуцер
Лучше всё-таки понимать.
И выкинуть x-меши нахрен. Сделать свой закрузчик/отрисовку или взять чью-нибудь реализацию.

#18
7:24, 11 окт. 2013

Kroll
> И выкинуть x-меши нахрен. Сделать свой закрузчик/отрисовку или взять чью-нибудь
> реализацию.
Да, сейчас ведь уже нет их поддержки.

#19
16:49, 11 окт. 2013

Kroll
> И выкинуть x-меши нахрен. Сделать свой закрузчик/отрисовку или взять чью-нибудь
> реализацию.
Придумать свой формат моделей и загрузку думаю не сложно, в свете знаний о формате вершин и верт. инд. буферах, материале.
Но писать модели в свой формат файла это для меня наверно неподъёмная задача. Это ж свой экспортёр и/или конвертор делать надо.
Х формат меня пока устраивает, всё что нужно в нём есть.

#20
17:56, 19 окт. 2013

Выяснил ещё что резко, резко затормаживало. Я то пользуюсь своей *.dll для дэтридэшных делишек,
так вот там пиявка сидела и по тихому изподтяжка посасывала время. Короче в библиотеке в этой срабатывает функция которая врубает антиалиасинг всей сцены на полную громкость из возможного. А эту dll раз написал и забыл, пользуюсь. Потому пиявочка всегда там сидела...

// Параметры устройства
D3DPRESENT_PARAMETERS d3dpp;
d3dpp.MultiSampleType = GetMultiSamplingType(g::windowed); // На моей вид.карте получился максимум D3DMULTISAMPLE_8_SAMPLES
/*...*/
// Сглаживание всей сцены
dx::pDevice->SetRenderState( D3DRS_MULTISAMPLEANTIALIAS, TRUE );

Так вот дальше если поставить:

dx::pDevice->SetRenderState( D3DRS_MULTISAMPLEANTIALIAS, FALSE );
Фальшак здесь не отключает ни хрена. Поздняк метаться. Вот какое коварство, думаешь что вырубил антиалиас и значит тормоза не из-за него.

#21
15:16, 22 окт. 2013

Решить то решил проблему тормозов. Но всё небыло мне покоя, почему стандартная прорисовка через DrawSubset() тормозит. Ведь и полигонов не так много
и материалов мало.
Перечитал ещё раз тему:


Shockwave
> Попробуй заюзать ID3DXMesh::Optimize, может помочь.

Попробовал ID3DXMesh::OptimizeInplace, с флагом D3DXMESHOPT_ATTRSORT -  это как раз оптимизация под DrawSubset().
Фантастика, FPS с 10 прыгнул до ~200. Если б знал про эту оптимизацию то и тему не пришлось создавать.
Но зато по ходу темы с индексными буферами понял что да как.

Страницы: 1 2
ПрограммированиеФорумГрафика

Тема в архиве.