Что такое хороший способ загрузить часть массивного изображения в память и преобразовать ее в текстуру? Просто попытка загрузить изображение целиком в текстуру и использование StretchRect не будет работать, потому что если вы попытаетесь загрузить изображение шириной 17000 пикселей, например, оно не будет работать на большинстве графических процессоров.Directx9 C++ Как загрузить текстуру из части массивного изображения
0
A
ответ
0
Создание текстуры с частью изображения (предположим, что вы хотите смежный суб-прямоугольник), по сути, это то же самое, что и со всем изображением. В D3D9 вы получите LockRect
на целевой текстуре и напишите содержимое изображения. Вместо того, чтобы писать все содержимое изображения, просто напишите байты, строки за строкой, начиная с y-origin суб-прямоугольника и смещая источник каждой строки с помощью x-origin суб-прямоугольника.
Конечно, ваша целевая текстура по-прежнему должна придерживаться ограничений размера текстуры.
Но это то, что я пытаюсь обойти. Я хочу иметь возможность загружать вещи, не придерживаясь ограничений размера текстуры. – braffolk
Вы не можете создать текстуру больше, чем позволяет ваш драйвер. Ваш вопрос спрашивает, как загрузить часть изображения - возможно, вам следует уточнить. – MuertoExcobito