2010-07-14 2 views
0

Я сделал 2 программы для использования общих ресурсов, работающих на SlimDX & DirectX10. Одна программа отобразит общую текстуру в 3D-сетке. Вторая программа загрузит изображение как текстуру. До сих пор мне нужно передавать общий доступ каждый раз, когда текстура обновляется с нового изображения.Копирование текстуры в текстуру

Теперь, есть способ, которым я могу инициализировать общую текстуру фиксированного размера (Texture2D), а затем каждый раз, когда я загружаю новое изображение, все, что мне нужно сделать, это загрузить его как текстуру, а затем скопировать в существующую текстуру , Таким образом, общий дескриптор не изменится, и я могу сэкономить некоторые накладные расходы на передачу общего дескриптора. Для DirectX9 я знаю, что есть функция для этого, «StretchRectangle», но я не могу найти что-то подобное в DirectX10.

Промежуточный формат может быть любым, даже поверхностным, если я могу обновить его до общей текстуры.

Благодаря

ответ

1

насчет CopyResource() или CopySubresourceRegion()? Я не знаю SlimDX, но они должны хорошо работать в родном D3D10.

+0

CopyResource doens't work. CopySubresourceRegion тоже не работает, но я мог бы ошибиться. У вас есть рабочий код? Мне просто нужен код, который успешно копирует текстуру. Я позабочусь об общем ручке, спасибо – faulty

+0

Можете ли вы уточнить, что «не работает»? Что происходит? Если вы включаете слой debug во время CreateDevice, вы получаете какие-либо предупреждения или ошибки в отладочном выходе? Эти вызовы являются основным способом копирования из одной текстуры в другую, поэтому, если они не работают, я должен неправильно понимать ваш исходный вопрос. –

+0

Извините за дезинформацию. Он не прошел текстуру. Но я просто понимаю сегодня, что, на самом деле, это просто, что мне нужно избавиться от текстуры, тогда 1-я программа покажет текстуру. Итак, теперь я решил использовать CopyResource(). Но нужно воссоздать текстуру при каждой перезагрузке. Может ли это быть «блокировка», которая заставляет текстуру не читаться 1-й программой? – faulty

Смежные вопросы