Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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.46 MB
Время: 0.014 c
9-1117168849
Slavikk
2005-05-27 08:40
2005.10.09
GLScene - классы


14-1126867894
Вопрошающий
2005-09-16 14:51
2005.10.09
Задачка по бухгалтерии


14-1126880071
rOOse
2005-09-16 18:14
2005.10.09
Часы


14-1127051675
Piter
2005-09-18 17:54
2005.10.09
Сам себе ДиДжей :)


1-1126794027
manulo
2005-09-15 18:20
2005.10.09
Сервисы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский