Загружаете только часть текстуры в DirectX? - PullRequest
0 голосов
/ 01 мая 2010

Если у меня есть файл текстуры, как бы я мог загрузить только его часть, используя определенный прямоугольник (сверху, слева, снизу, справа)?

С технической точки зрения возможно ли читать только те части, которые я хочу загрузить, оставляя остальную часть текстуры нетронутой?

Ответы [ 2 ]

1 голос
/ 01 мая 2010

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

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

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

1 голос
/ 01 мая 2010

Посмотрите на D3DXCreateTextureFromFileEx: http://msdn.microsoft.com/en-us/library/bb172802%28v=VS.85%29.aspx

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

...