WPF, відображення текстур
Досі для малювання об'єктів використовувався пензель SolidColorBrush. Однак WPF дозволяє намалювати об'єкт DiffuseMaterial, застосовуючи для цього будь-яку кисть. Це означає, що можна зафарбовувати його градієнтами (LinearGradientBrush і RadialGradientBrush), векторними або растровими зображеннями (ImageBrush) або вмістом двовимірного елемента (VisualBrush).
Але є одна пастка. Коли використовується будь-який пензель крім SolidColorBrush, то повинна бути вказана додаткова інформація, що повідомляє WPF, як слід відображати двовимірний вміст пензля на тривимірну поверхню, що зафарбовується. Ця інформація передається через колекцію MeshGeometry.TextureCoordinates. Залежно від вибору, можна багаторазово повторити вміст пензля, витягти її частину, розтягнути, спотворити чи вчинити іншим чином, щоб заповнити криві або похилі поверхні.
Відображення ImageBrush
Найпростіший спосіб розібратися в роботі TextureCoordinates – це скористатися пензлем ImageBrush, який дозволяє малювати растрові зображення. Нижче наведено приклад, в якому застосовується сцена з деревами в тумані:

У цьому прикладі додається додаткова деталь. Повзунок у нижній частині вікна дозволяє обертати куб, щоб розглянути його з різних боків. Це можливе завдяки трансформації.
Спочатку колекція TextureCoordinates порожня, і зображення відсутнє на тривимірній поверхні. Щоб почати вдосконалювати приклад із кубом, спочатку має сенс зосередитись на нанесенні зображення лише на одну його грань. У цьому прикладі куб орієнтований так, що його ліва сторона повернута до камери.
Зрозуміло, що за рахунок експериментування з цими точками можна отримати багато інших ефектів.Наприклад, можна натягнути текстуру на складніший об'єкт на зразок сфери. Оскільки сітки, що описують подібні об'єкти, зазвичай складаються з сотень точок, навряд чи виникне бажання записувати колекцію TextureCoordinates вручну. Натомість можна звернутися до програм тривимірного моделювання (або до математичної процедури, яка зробить це під час виконання).
Щоб застосовувати різні пензлі до різних частин сітки, доведеться розділити тривимірний об'єкт на безліч сіток, кожна з яких матиме свій матеріал, який використовує свою, відмінну від інших пензель. Потім ці сітки комбінуються в один об'єкт Model3DGroup зниження накладних витрат.
Відео та VisualBrush
Звичайні зображення — це не єдиний вид вмісту, який можна відобразити на тривимірну поверхню. Дозволяється також відображати вміст, який змінюється, такий як градієнтні пензлі, що мають анімовані значення.