Поделиться через


Device.UpdateTexture - метод

Обновлен: Ноябрь 2007

Обновляет изменившиеся части текстуры.

Пространство имен:  Microsoft.WindowsMobile.DirectX.Direct3D
Сборка:  Microsoft.WindowsMobile.DirectX (в Microsoft.WindowsMobile.DirectX.dll)

Синтаксис

'Декларация
Public Sub UpdateTexture ( _
    sourceTexture As BaseTexture, _
    destinationTexture As BaseTexture _
)
'Применение
Dim instance As Device
Dim sourceTexture As BaseTexture
Dim destinationTexture As BaseTexture

instance.UpdateTexture(sourceTexture, _
    destinationTexture)
public void UpdateTexture(
    BaseTexture sourceTexture,
    BaseTexture destinationTexture
)
public:
void UpdateTexture(
    BaseTexture^ sourceTexture, 
    BaseTexture^ destinationTexture
)
public function UpdateTexture(
    sourceTexture : BaseTexture, 
    destinationTexture : BaseTexture
)

Параметры

Исключения

Исключение Условие
InvalidCallException

Вызов метода недопустим. Например, параметр может содержать недопустимое значение.

Заметки

Чтобы пометить часть текстуры как изменившуюся, заблокируйте ее или вызовите AddDirtyRectangle.

UpdateTexture извлекает изменившиеся части текстуры, вычисляя, что накоплено со времени последней операции обновления.

Из соображений производительности изменившиеся области записываются только для уровня 0 текстуры. Для подуровней предполагается, что соответствующий (масштабированный) прямоугольник или блок также изменились. Изменившиеся области автоматически записываются при вызове LockRectangle без NoDirtyUpdate или ReadOnly. Кроме того, целевая поверхность UpdateTexture помечается как изменившаяся.

Вызов этого метода завершается неудачей, если текстуры имеют разные типы, или их буферы нижнего уровня имеют разный размер, или их соответствующие уровни не соответствуют друг другу. Для примера рассмотрим шестиуровневую исходную текстуру со следующими размерами:

32x16, 16x8, 8x4, 4x2, 2x1, 1x1

Эта шестиуровневая исходная текстура может быть источником следующей одноуровневой целевой текстуры:

1x1

для следующей двухуровневой целевой текстуры:

2x1, 1x1

или для следующей трехуровневой целевой текстуры:

4x2, 2x1, 1x1

Кроме того, выполнение этого метода завершается неудачей, если текстуры имеют разные форматы. Если целевая текстура имеет меньше уровней, чем исходная, копируются только соответствующие уровни. Если исходная текстура имеет меньше уровней, чем целевая, выполнение метода завершается неудачей.

Если исходная текстура содержит измененные области, операция копирования может быть оптимизирована путем ее ограничения только этими областями. Однако не гарантируется, что будут скопированы только те байты, которые помечены как изменившиеся.

Разрешения

Платформы

Windows CE, Windows Mobile for Smartphone, Windows Mobile для карманных ПК

Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Сведения о версии

.NET Compact Framework

Поддерживается в версиях: 3.5, 2.0

См. также

Ссылки

Device Класс

Device - члены

Microsoft.WindowsMobile.DirectX.Direct3D - пространство имен