эталонное устройство -> разработать DirectX11 на старом оборудовании? - PullRequest
0 голосов
/ 02 марта 2012

Я только что прочитал о типе устройства «эталонное устройство» в Direct3D.

http://msdn.microsoft.com/en-us/library/windows/desktop/bb219625(v=vs.85).aspx

Означает ли это, что я могу разрабатывать и тестировать (не производительность, а только визуальный результат) Direct3D11 Приложение, включая модные вещи ShaderLevel5 на любом старом оборудовании?

Есть ли эквивалент для OpenGL?

Ответы [ 3 ]

1 голос
/ 02 марта 2012

Означает ли это, что я могу разрабатывать и тестировать (не производительность, а только визуальный результат) приложение Direct3D 11, включая модные вещи ShaderLevel5 на любом старом оборудовании?

Да. Тем не менее, вы должны ожидать абсолютно ужасную производительность. Вы можете получить около 1 кадра в минуту для сложных пиксельных шейдеров (эталонное устройство DirectX 9), и это может занять даже больше времени. Излишне говорить, что тот же шейдер может работать в режиме реального времени с аппаратным ускорением. Эталонное устройство не было создано для повышения производительности, и, если я правильно помню, DirectX SDK (где-то) утверждает, что основная цель эталонного устройства состояла в том, чтобы позволить разработчикам увидеть, выглядит ли их сцена так, как должно, и нет никаких неожиданных ошибок драйверов. 1007 *

Другая проблема заключается в том, что если вы используете WinXP, DirectX 10 или 11 не будет, эталонное устройство или нет.

Есть ли эквивалент для OpenGL?

Нет. Самым близким является mesa3d, но он не сертифицирован OpenGL. 1..2 года назад, когда были задействованы шейдеры GLSL, это могло показать совсем другую картину. Это также может привести к сбою на шейдерах с контролем потока. Я не использовал его с тех пор. однако при использовании без шейдеров GLSL mesa3d был довольно быстрым и сравнимым с OpenGL и был значительно быстрее эталонного устройства в DirectX 9.

1 голос
/ 02 марта 2012

Да, фактически это то, что делает эталонный драйвер. В частности, это так, что аппаратный рендеринг можно сравнить с ним. Если аппаратный рендеринг не равен ссылке, это может указывать на ошибку драйвера (или «оптимизацию»).

Насколько мне известно, к OpenGL, к сожалению, нет справочного драйвера.

0 голосов
/ 02 марта 2012

Mesa3d имеет программный растеризатор.Недавно они добавили поддержку GL 3.0.

...