HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- XashXT (https://hlfx.ru/forum/forumdisplay.php?forumid=30)
-- XashXT: Скриншоты нового рендерера (https://hlfx.ru/forum/showthread.php?threadid=4218)
Отправлено Дядя Миша 09-01-2014 в 20:52:
Залил скриншоты с тесселятором и его работой 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 09-01-2014 в 21:31:
Дядя Миша
А на моделях работает?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено a-kush-er 10-01-2014 в 16:07:
Цитата:
Дядя Миша писал:
Если кто-нибудь мне даст приличную модельку с нормалмапками, то я с удовольствием сделаю для нее скриншоты.
Возьмите! (845.2 КБ)
Отправлено Дядя Миша 10-01-2014 в 16:49:
a-kush-er а спекулярки?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 10-01-2014 в 17:00:
Q. как хейтмэпа привязывается к тестуре? это как то в редакторе карт нужно привязывать шойдер к поверхности, или для каждого террайна свою текстуру создавать, которая шойдер использует?
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено a-kush-er 10-01-2014 в 17:01:
Дядя Миша, вот тут вроде все есть
http://rghost.ru/51546370 (1.8 МБ)
Отправлено Дядя Миша 10-01-2014 в 17:35:
Цитата:
thambs писал:
как хейтмэпа привязывается к тестуре?
Точно так же, как и в Quake3, с поправкой на ксашевскую специфику:
1. выбираем любую текстуру, которую нам не жалко.
2. красим ею весь ландшафт. Способы наложения и выравнивания значения не имеют, разве что на разрешение лайтмапы и кол-во полигонов.
3. создаём шейдер такого вот вида:
C++ Source Code:
4 | q3map_terrain materials/terrain/heightmap.bmp 3 |
Ключевое слово q3map_ я оставил нарочно, чтобы народ мог таскать шойдеры из кутри без переделок. Ну или с минимальными переделками.
Вот у нас путь к хейтмапе, затем - кол-во слоёв. Их не может быть менее одного и более 256.
Далее создаём шейдеры для каждого слоя раздельно. И для каждого перехода между слоями - тоже:
C++ Source Code:
3 | q3map_tcGen ivector ( 384 0 0 ) ( 0 384 0 ) |
5 | map materials/terrain/rock_1.tga |
9 | blendFunc GL_DST_COLOR GL_ZERO |
16 | q3map_tcGen ivector ( 384 0 0 ) ( 0 384 0 ) |
18 | map materials/terrain/sand_1.tga |
22 | blendFunc GL_DST_COLOR GL_ZERO |
29 | q3map_tcGen ivector ( 384 0 0 ) ( 0 384 0 ) |
31 | map materials/terrain/stones_1.tga |
35 | blendFunc GL_DST_COLOR GL_ZERO |
42 | q3map_tcGen ivector ( 384 0 0 ) ( 0 384 0 ) |
45 | map materials/terrain/rock_1.tga |
48 | map materials/terrain/sand_1.tga |
50 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA |
54 | blendFunc GL_DST_COLOR GL_ZERO |
61 | q3map_tcGen ivector ( 384 0 0 ) ( 0 384 0 ) |
64 | map materials/terrain/rock_1.tga |
67 | map materials/terrain/stones_1.tga |
69 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA |
73 | blendFunc GL_DST_COLOR GL_ZERO |
80 | q3map_tcGen ivector ( 384 0 0 ) ( 0 384 0 ) |
83 | map materials/terrain/sand_1.tga |
86 | map materials/terrain/stones_1.tga |
88 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA |
92 | blendFunc GL_DST_COLOR GL_ZERO |
Т.е. легко увидеть, что к основному имени шейдера делается приписка _1, _2, _3 - для основного слоя и _1to2, _2to3 - для перехода между слоями.
AlphaGen vertex как раз и отвечает за генерацию плавных переходов, по альфе, записанной в вертекс. Разумеется, вовсе необязательно в этих шейдерах использовать текстуры террайна, наверное можно запилить плавный переход зеркала в монитор, если начнётся очередное обострение.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 10-01-2014 в 17:38:
Дядя Миша
а как хейтмэпа соотносится с размерами на карте, чем э то определяется?
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено Дядя Миша 10-01-2014 в 17:51:
областью, закрашенной одной текстурой. Так же важно, чтобы эта область принадлежала одной модели или всему миру.
Область будет аппроксимирована до квадрата или прямоугольника в любом случае - хейтмапа-то не может быть круглой.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 10-01-2014 в 17:58:
ну размер текстуры и размер хейтмапы соотносятся как 1:1 или как? ну, т.е. если, например, нужно замостить поле 16384x16384, то как, его надо разбивать на какие то участки и делать отдельные хейтмэпы, или растягивать текстуру на всю площадку?
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено Дядя Миша 10-01-2014 в 18:10:
Если надо замостить поле 16384x16384, надо просто покрыть его произвольной текстурой с любым именем. А потом связать с этим именем родительский шейдер террайна, в котором указан путь к хейтмапе.
Хейтмапа определит сама коэффициент масштабирования. Чем выше разрещение у хейтмапы - тем более точным будет рисунок на реальном мире. Чем ниже разрешение хейтмапы - тем более размытым он будет.
Ещё раз повторюсь, что в редакторе вы покрываете нужные вам браши ЛЮБОЙ текстурой, и её выравнивание тоже не имеет никакого смысла, текстурирование будет производится по формулам из шейдеров.
Единственное на что она будет влиять - на кол-во полигонов и на разрешение лайтмапы. Ну собственно, как и любая другая текстура.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 10-01-2014 в 18:37:
Дядя Миша
Да у тебя шейдеры как в волатиле! %)
Только у меня вместо q3map_* - vmap_*
__________________
Отправлено Дядя Миша 10-01-2014 в 18:51:
Цитата:
XaeroX писал:
Да у тебя шейдеры как в волатиле! %)
А то! Я еще поддержку vmap_ добавлю, чёб народ шейдеры из волатайлы таскал 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 10-01-2014 в 19:05:
Дядя Миша
Та не получится, у тебя небось modulateFunc нету. И rgbGen wave pulse. 
__________________
Отправлено Дядя Миша 10-01-2014 в 19:28:
А у тебя tcGen warp нету =)
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'