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

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

Проблема с затекстуриванием


WandR ©   (2005-05-30 21:46:00) 

Есть такая демка Archipelago там текстурка разбивается на куски и потом натягивается на ландшафт.
В стандартной демке ландшафт 512х512 и код производящий наложение выглядит так:

var
htfHD : THeightData;
i, j, n : Integer;
offset : TTexPoint;
begin
with heightData do
htfHD:=GLHeightTileFileHDS1.GetData(XLeft, YTop, Size, DataType);
if (htfHD.DataState=hdsNone) then
heightData.DataState:=hdsNone
else begin
i:=(heightData.XLeft div 128);
j:=(heightData.YTop div 128);
if (Cardinal(i)<4) and (Cardinal(j)<4) then begin
heightData.MaterialName:=format('texture_%d_%d.png', [i, j]);
heightData.TextureCoordinatesMode:=tcmLocal;
n:=((heightData.XLeft div 32) and 3);
offset.S:=n*0.25;
n:=((heightData.YTop div 32) and 3);
offset.T:=-n*0.25;
heightData.TextureCoordinatesOffset:=offset;
heightData.TextureCoordinatesScale:=TexPointMake(0.25, 0.25);
heightData.DataType:=hdtSmallInt;
htfHD.DataType:=hdtSmallInt;
heightData.Allocate(hdtSmallInt);
Move(htfHD.SmallIntData^, heightData.SmallIntData^, htfHD.DataSize);
heightData.DataState:=hdsReady;
heightData.HeightMin:=htfHD.HeightMin;
heightData.HeightMax:=htfHD.HeightMax;
end else heightData.DataState:=hdsNone
end;
GLHeightTileFileHDS1.Release(htfHD);

Я решил загрузить ландшафт 1024х1024 соотвецтвенно поменял строки:
i:=(heightData.XLeft div 128);
j:=(heightData.YTop div 128);
на
i:=(heightData.XLeft div 256);
j:=(heightData.YTop div 256);
Но текстура накладывается криво=(
http://kreker.info-com.ru/files/bug.JPG

Кто знает как это поправить?


WandR   (2005-06-03 21:32:00) [1]

=(


П7   (2005-06-01 18:39:00) [2]

А кого это должно волновать? Кроме тебя, конечно... (:


WandR   (2005-06-01 18:21:00) [3]

Ага GLScene
Народ ну че молчите??? У меня проект простаивает=(


Кефир87   (2005-06-01 17:43:00) [4]

А можно задать не скромный вопрос. А с использованием чего это написано? Я видел префик GL... Это ГЛСцен?


WandR   (2005-05-31 20:50:00) [5]

=)))


Кефир87   (2005-05-31 18:15:00) [6]


> http://kreker.info-com.ru/files/bug2.JPG

А что? Красиво 8)


WandR   (2005-05-31 16:09:00) [7]

http://kreker.info-com.ru/files/bug2.JPG


WandR   (2005-05-31 16:03:00) [8]

Это я пробовал первым делом, не катит текстура смазывается...


Zer0   (2005-05-31 14:25:00) [9]

Используй думательное устройство! Не дай развится Фимозу Гойловного Мосга!

ну можно поиграться с
n:=((heightData.XLeft div 32) and 3);
offset.S:=n*0.25;
n:=((heightData.YTop div 32) and 3);
offset.T:=-n*0.25;
heightData.TextureCoordinatesOffset:=offset;
heightData.TextureCoordinatesScale:=TexPointMake(0.25, 0.25);

и вместо цифирь 0.25 вписать 0.5


WandR   (2005-05-31 13:40:00) [10]

Обламывает=)


WandR   (2005-05-31 13:39:00) [11]

Обламывает=)


keal   (2005-05-31 12:56:00) [12]

написать все самому :)


Наверх

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