Форум: "Media";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизDirect3D Resize Найти похожие ветки
← →
Pa5ha (2003-11-26 19:09) [0]Я рисую на панели с помощью D3D. Размер панели изменяется и картинка становиться зернистой. Как можно изменить размер буфера без создания объекта устройства заного?
← →
Sapersky © (2003-11-27 13:48) [1]Никак, скорее всего. Не помню толком, как там в DX8 (картинка зернистая - это про него, так?), но в DX7 я пересоздавал почти всё - back, Z буфер, device - и ничего, не очень тормозило. DX8 инициализируется медленнее... можно попробовать создавать буфер максимального размера и при перерисовке копировать в окно его часть. При изменении размеров окна подправлять проекционную матрицу, чтобы размер изображения получился правильным.
← →
Pa5ha (2003-11-30 17:55) [2]Есть фича SetViewPort;
Только работает через ж или я её неправильно юзаю. Help me!!!
← →
Sapersky © (2003-11-30 23:41) [3]Как именно юзаешь?
← →
Pa5ha (2003-12-01 13:03) [4]Объявляю переменную TD3DViewPort8 (for DX8). У неё поля всякие: x,y,width,height,minz (=0) и maxz (=1); И получается не весь буфер обновляется.
← →
Sapersky © (2003-12-01 22:34) [5]Ну вот, это и требуется. При создании буфера (в TD3DPRESENT_PARAMETERS) указать размеры в полный экран, в OnResize - SetViewport, и в Present ставить соответствующий source rect - проверил, вроде работает. Во всяком случае, зернистость меньше, чем при обычном подходе.
← →
Pa5ha (2003-12-02 13:14) [6]Кстати в примерах на сайте есть пример с дельфином(плавает и хвостом машет). Там всё это дело быренько работает. И красиво... Во всяком случае спасибо, попробую сделать так.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c