Device.ValidateDevice - метод
Обновлен: Ноябрь 2007
Сообщает о способности устройства выполнить визуализацию текущих операций смешения текстур и аргументов за один проход.
Пространство имен: Microsoft.WindowsMobile.DirectX.Direct3D
Сборка: Microsoft.WindowsMobile.DirectX (в Microsoft.WindowsMobile.DirectX.dll)
Синтаксис
'Декларация
Public Function ValidateDevice As ValidateDeviceParams
'Применение
Dim instance As Device
Dim returnValue As ValidateDeviceParams
returnValue = instance.ValidateDevice()
public ValidateDeviceParams ValidateDevice()
public:
ValidateDeviceParams ValidateDevice()
public function ValidateDevice() : ValidateDeviceParams
Возвращаемое значение
Тип: Microsoft.WindowsMobile.DirectX.Direct3D.ValidateDeviceParams
Объект ValidateDeviceParams, представляющий количество проходов и код результата проверки.
Исключения
Исключение | Условие |
---|---|
DeviceLostException | Устройство утрачено и в данный момент не может быть восстановлено, поэтому рендеринг невозможен. |
DriverInternalErrorException | Произошла внутренняя ошибка драйвера. При получении данной ошибки, как правило, следует закрыть приложение. |
Заметки
Метод ValidateDevice должен использоваться для проверки сценариев только при отсутствии других возможностей. Например, в сценарии с текстурированием со многими сценами можно запросить свойства MaxTextureBlendStages и MaxSimultaneousTextures, чтобы определить, возможно ли выполнение на данном устройстве текстурирования со многими стадиями.
Текущее аппаратное обеспечение не обязательно реализует все возможные сочетания операций и аргументов. Чтобы определить, может ли быть выполнена определенная операция смешения с конкретными аргументами, задайте требуемую операцию смешения и вызовите метод ValidateDevice.
Метод ValidateDevice использует для выполнения проверки текущие состояния визуализации, текстуры и состояния стадии текстуры на момент вызова. Изменение этих факторов после вызова делает полученный результат недействительным, и перед рендерингом сцены метод должен быть вызван снова.
Для повышения быстродействия вызовите метод ValidateDevice во время инициализации; не используйте его в цикле визуализации.
Использование диффузных интерполированных значений, будь то в качестве аргумента или в качестве операции (Diffuse, BlendDiffuseAlpha), редко поддерживается современным аппаратным обеспечением. Большинство аппаратных устройств вводят итеративные данные цвета только на последней стадии обработки текстуры.
В общем случае следует задавать текстуру TextureColor для каждой стадии как первый аргумент, а не второй.
Многие видеокарты не поддерживают использование диффузных или скалярных значений на любых стадиях обработки текстур. Часто эти значения доступны только на первой или последней стадии смешения текстур.
Многие карты не имеют блока смешения, связанного с первой текстурой, способного на нечто большее, чем копировать альфа-канал в цветовые каналы или инвертировать ввод. Таким образом, приложению может потребоваться использовать только вторую стадию текстуры, если это возможно. На таком аппаратном обеспечении предполагается, что первый блок находится в состоянии по умолчанию, в котором первый аргумент цвета установлен в TextureColor операцией SelectArg1.
Поддержка операций над выходным альфа-каналом, являющихся более сложными или значительно отличающихся от операций с цветом, маловероятна.
Некоторое аппаратное обеспечение не поддерживает одновременного использования TFactor и Diffuse.
Многие платы не поддерживают одновременного использования нескольких текстур и трехлинейной фильтрации с множественным отображением. Если для текстуры, вовлеченной в операцию мультитекстурного смешения, запрошена трехлинейная фильтрация и проверка завершилась неудачей, отключите трехлинейную фильтрацию и повторите проверку. В этом случае многопроходный рендеринг может быть лучшей альтернативой.
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
Платформы
Windows CE, Windows Mobile for Smartphone, Windows Mobile для карманных ПК
Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.
Сведения о версии
.NET Compact Framework
Поддерживается в версиях: 3.5, 2.0
См. также
Ссылки
Microsoft.WindowsMobile.DirectX.Direct3D - пространство имен