Название: Дергание изображения во вьюпорте при вызове канала RTT Отправлено: dfx от 09 Сентября 2011, 02:36:15 Всем привет.
Столкнулся с небольшим багом. Все динамически создаваемые текстуры, например, привьюшки моделек, всплывающие подсказки и тд создаются одним вызовом РТТ в необходимом разрешении. Чаще это разрешение меньше размера вьюпорта и приходится менять его размеры на время создания. Если за текущий кадр был вызов такой функции(со сменой размеров вьюпорта), то конечное изображение меняется. Толи смещается на пиксель, толи маштабируется, но оно отличается от того, что должно быть. А так как смещение происходит только за один кадр, то это смотрится как дерганье финальной картинки в момент, когда вызывалась подобная функция. Иногда помогает ресайз основного вьюпорта после запуска проекта, иногда - смена последовательности вызовов функций. Вобщем, бред какой-то. Что является причиной такого поведения? Может кто то уже сталкивался с этим и решил проблему? Название: Re: Дергание изображения во вьюпорте при вызове канала RTT Отправлено: Sqwer от 10 Сентября 2011, 20:00:33 2 возможные причины:
1) в 9 ДХ чтение текстуры идёт с центра текселя. (баг устраняется смещением текстурников на пол текстеля) 2) бонально не верный порядок отрисовки Название: Re: Дергание изображения во вьюпорте при вызове канала RTT Отправлено: dfx от 12 Сентября 2011, 06:19:20 Привет, Sqwer.
Спасибо, что помогаешь. Порядок отрисовки, вроде, верный. Насчет чтения тектуры тоже не уверен. Тут проще показать, чем описать ситуацию. Прикрепляю файл. Смысл в том, что после того, как RTT уже был вызван и размеры вьюпорта востановлены, рисуется объект без всяких RTT, но разрешение после восстановления всеже отличается от разрешения предыдущего кадра на пару пикселей. В сцене это видно. В текстовый канал добавляются строки о том, что значения разрешений не верные, если они не равны референсу - разрешению, которое было вначале. Т.е. При каждом вызове RTT разрешение вывода отличается. Откуда этот баг - хз(. З.Ы.При ресайзе окна вручную, надо нажать пробел, что бы обновить эти значения. Название: Re: Дергание изображения во вьюпорте при вызове канала RTT Отправлено: dfx от 12 Сентября 2011, 06:32:59 Похоже проблема в функции "Set Viewport". Когда поменял ее на функцию "Set Viewport in pixels" проблема ушла. ;D Ура!
Название: Re: Дергание изображения во вьюпорте при вызове канала RTT Отправлено: Sqwer от 13 Сентября 2011, 01:44:52 Разрабы Квеста любят переименовывать стандартные ДХ функции.
Вроде она в оригинале называлась Set the Scissor Rectangle D3D10_RECT rects[1]; rects[0].left = 0; rects[0].right = 640; rects[0].top = 0; rects[0].bottom = 480; D3DDevice->RSSetScissorRects( 1, rects ); Рад , что всё получилось. На форум часто не могу зайти :-\ |