Форум: "Игры";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизПроблема с затекстуриванием Найти похожие ветки
← →
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 вся ветка
Форум: "Игры";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c