Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

быстрая загрузка текстур   Найти похожие ветки 

 
Комбинатор ©   (2004-04-24 12:38) [0]

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


 
Yar-Com   (2004-04-24 12:47) [1]

а ты что картинки по ходу игры грузишь?

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


 
Комбинатор ©   (2004-04-24 13:03) [2]

пример....после запуска игры у меня грузятся ресурсы меню(фон и т. д.) - из бмп файла читаю инфу и попиксельно создаю структуру необх для объекта текстур....но на это уходит время....например на картинку 512*512....


 
Yar-Com   (2004-04-24 13:08) [3]

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

других вариантов и быть не может.....


 
Комбинатор ©   (2004-04-24 13:15) [4]

вся проблема не в загрузки в память, а в создании объекта текстуры...для неё приходится переберать пикселы в памяти...
а как по другому?


 
Yar-Com   (2004-04-24 13:18) [5]

bgr с rgb менять чтоли?

procedure SwapRGB(data : Pointer; Size : Integer);
asm
 mov ebx, eax
 mov ecx, size

@@loop :
 mov al,[ebx+0]
 mov ah,[ebx+2]
 mov [ebx+2],al
 mov [ebx+0],ah
 add ebx,3
 dec ecx
 jnz @@loop
end;


 
Комбинатор ©   (2004-04-24 13:55) [6]

Ты не понял я ламерок во всём этом...Просто и кратко :
как имея бмп файл создать объект текстуры (наверняка - это стандартная процедурка, которая небольшая и её не трудно скинуть либо сюда либо на buzapta@mail.ru) :)


 
Yar-Com   (2004-04-24 14:06) [7]

ты на Direct X делаешь? или на OpenGL?

если на Direct X то я тебе ничем помочь не могу, потому что никак не пойму что такое >объект< текстуры?

Воткни кусок кода сюда, а то я так и не понял ничего...


 
Комбинатор ©   (2004-04-24 14:12) [8]

Я на директе...соответственно у меня есть заголовочные файлы к интерфейсам...через них(интерфейсы) я создаю объект - текстуры.
Я щас не за рабочей машиной (не могу воткнуть кусок).
Вот этот объект и требует структуру данных о картинке, для создания которой и приходиться переберать пиксели.
Это всё я нашёл в книге Краснова.


 
Dmitryy   (2004-04-24 17:43) [9]

Наверное, это делается примерно так же, как работают все видеокодеки - а как, не знаю


 
NailMan ©   (2004-04-24 23:53) [10]

Есть набор таких замечательных функций в D3DX:
D3DXCreateTexture
D3DXCreateTextureFromFile
D3DXCreateTextureFromFileEx
D3DXCreateTextureFromFileInMemory
D3DXCreateTextureFromFileInMemoryEx
D3DXCreateTextureFromResource
D3DXCreateTextureFromResourceEx

И не надо засирать мозг всякими битами, байтами и прочей мутотенью. Короче велосипед до тебя уже изобрели - сами мелкомягкие постарались. Скорость загрузки максимальная + куча всяких фенечек.



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
14-1090716395
dr Tr0jan
2004-07-25 04:46
2004.08.08
Всех, имеющих отношение к ВМФ, с праздником - днем ВМФ


3-1089870888
ligor
2004-07-15 09:54
2004.08.08
дата в IB


14-1090311478
Moses Fender
2004-07-20 12:17
2004.08.08
DNS


1-1090577738
кларк
2004-07-23 14:15
2004.08.08
Как сделать, чтобы ListBox заполнился при откр диал окна?


3-1089620178
Artem123
2004-07-12 12:16
2004.08.08
Как изменить цвет всей строки в DBGrid ?