Вниз
Скачать: CL | DM;

Проблема с затекстуриванием   Найти похожие ветки 

← →
WandR   (2005-05-30 21:46) [0]

Есть такая демка 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

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


← →
keal   (2005-05-31 12:56) [1]

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


← →
WandR   (2005-05-31 13:39) [2]

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


← →
WandR   (2005-05-31 13:40) [3]

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


← →
Zer0 ©   (2005-05-31 14:25) [4]

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

ну можно поиграться с
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 16:03) [5]

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


← →
WandR   (2005-05-31 16:09) [6]

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


← →
Кефир87   (2005-05-31 18:15) [7]


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

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


← →
WandR   (2005-05-31 20:50) [8]

=)))


← →
Кефир87   (2005-06-01 17:43) [9]

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


← →
WandR   (2005-06-01 18:21) [10]

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


← →
П7   (2005-06-01 18:39) [11]

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


← →
WandR   (2005-06-03 21:32) [12]

=(



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.036 c
1-1127272192
КиТаЯц
2005-09-21 07:09
2005.10.09
Отключить сообщение Debugger EConvertError


1-1127034318
Alexis
2005-09-18 13:05
2005.10.09
Парсинг алгебраических выражений (полиномов)


3-1125338086
Ptr
2005-08-29 21:54
2005.10.09
Смысл TUpdateSQL?


14-1127031985
lookin
2005-09-18 12:26
2005.10.09
Бренд и ошибка


14-1127194609
boriskb
2005-09-20 09:36
2005.10.09
Мода




   Наверх