Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужна помощь [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо