VsM
> Можно чуть точнее?
DXUT11 код, берёшь любую демку dx11, смотришь код по смене режима
VsM
> P.S. Сделал ResolveSubresource, указал Typed-формат (D24_UNORM_S8_UINT) по
> документации. Пока жёстко ругается:
> 1) на указанный формат ("is never able to resolve MS resources");
> 2) на флаг BIND_DEPTH_STENCIL у исходной текстуры.
В DX11 нельзя резольвить з-буфер через ResolveSubresource. Только шейдером.
innuendo
> DXUT11 код, берёшь любую демку dx11, смотришь код по смене режима
Всё ещё туманно. В DXUT вижу инициализацию SampleDesc, подстановку в комбобокс для ГУИ... И как связана смена MSAA-режима с копированием MS-текстуры глубины? Они же её просто заново создадут.
prowkan
> В DX11 нельзя резольвить з-буфер через ResolveSubresource. Только шейдером.
Это грустно. Изначально хочешь упростить, используя элегантный высокоуровневый код. А получается как обычно, велосипеды и хардкод :-) Раньше оно как-то работало даже без единого упоминания TEXTURE2DMS :-o
VsM
> Всё ещё туманно.
это было про
> Наивно полагал, что MSAA не изменяет количество пикселей, и копирование пиксель-в-пиксель не >должно представлять проблемы.
почему нельзя сначала разобраться как работает MSAA на примере и потом уже идти на форум ? :)
innuendo
> почему нельзя сначала разобраться как работает MSAA на примере и потом уже идти
> на форум ? :)
Потому что ни примеры, ни SDK-документация ("Antialias Sample") не дают ясной картины внутреннего устройства MS-текстуры. Напротив, я понимаю это так: при рассмотрении очередного пикселя растеризатор чуть точнее определяет степень перекрытия пикселя треугольником, используя шаблон семплирования, но в конечном счёте вызывает обыкновенный пиксельный шейдер, в котором мы записываем какое-то одно значение (один цвет).
https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/sm5… ture2dms-load
если при выборке указывается sampleIndex - то семплы содержаться в текстуре?
innuendo
> если при выборке указывается sampleIndex - то семплы содержаться в текстуре?
Теперь вижу что у такой текстуры совсем другой интерфейс. Спасибо.
innuendo
> покури
Тогда же заприметил и скачал эти демки, спасибо, пригодится.
VsM
душу не томи, рассказывай о проблемах :)
innuendo
> душу не томи, рассказывай о проблемах :)
Пока нечем поделиться, шейдер конвертации multisampled-глубины в обычную отложил на потом, а сейчас доделываю выделение объектов мышью через дополнительный RenderTarget :-)
Общепринятой практикой является выделение объектов через рейтрейс.
Это всякое быстрее, чем отдельно всю сцену рендерить каждый кадр.
Кто-то делал по привычке после OpenGL явно.
@!!ex
> Общепринятой практикой является выделение объектов через рейтрейс.
шо-шо?
@!!ex
> Общепринятой практикой является выделение объектов через рейтрейс.
Здесь сразу 2 задачи: 1) поиск пересечения луча и треугольника, 2) определение принадлежности треугольника объекту. Я не знаю, как с помощью рейтресинга можно решить обе задачи, без кучи кода и за умеренное время (= на видеокарте).
VsM
> а сейчас доделываю выделение объектов мышью через дополнительный RenderTarget
что там доделывать ? работы на полчаса же
Тема в архиве.