![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужна помощь [Delphi]
max_ © (2007-08-31 20:16:00)Всем привет.
И снова проблемы с текстурами - ошибка происходит при создании новой текстуры:Device.CreateTexture(Bitmap.Width, Bitmap.Height, 0, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, Texture);, если текстура не 256х256, что за нафиг, пытался загрузить текстуру размерами 144х192 - и нифига, только изм. размеры на 256х256 и все заработало, ПОЧЕМУ...
Еще вопрос связ. с динаммическими массивами, есть массив типаarr:array of integer, передаю через параметры в подпрограмму -function arrsetlength (var dynarr:array of Integer)- вроде все ок, но если я пытаюсь изменить размер массива -setlength(dynarr, 10)- нифига, почему? что не так?
пробовал делать так:
function myfunc (var dynarr) :integer;
var myarr:array of Integer absolute dynarr;
begin
setlength(myarr, 10); .....
end;
это правильно, тут тоже ошибки возникают, при заполнении массива данными.
Спасибо.
max_ (2007-09-04 11:25:00) [1]ух, тогда сорри, спасибо.
ggg (2007-09-01 21:54:00) [2]
> n = Log(144, 2) = 16,5093624262064
Точнее 7,16992500144231 :) Остальное всё так же.
ggg (2007-09-01 21:52:00) [3]>> 144 - это кратность 2 ???
>а разве нет???
Не кратны 2 или 8. Размер текстуры - степень двойки.
2^n = 144
n = Log(144, 2) = 16,5093624262064
Если 16,5 - это целое число, тогда мы затрудняемся ответить на ваш вопрос.
max_ (2007-09-01 18:05:00) [4]
> 144 - это кратность 2 ???
а разве нет???
Мистер Т (2007-09-01 10:39:00) [5]> > Размеры текстуры должны быть кратны 8?
>
> не - 2
144 - это кратность 2 ???
max_ (2007-09-01 00:34:00) [6]
> Размеры текстуры должны быть кратны 8?
не - 2
ANTPro (2007-08-31 21:39:00) [7]> [0] max_ (31.08.07 20:16)
> если текстура не 256х256, что за нафиг, пытался загрузить
> текстуру размерами 144х192 - и нифига, только изм. размеры
> на 256х256 и все заработало, ПОЧЕМУ...
Размеры текстуры должны быть кратны 8?
//Так имхо правильней
type Tarrint=array of Integer;
function myfunc (var dynarr:Tarrint):integer;
begin
setlength(myarr, 10);
.....
end;