HLFX.Ru Forum Страницы (13): [1] 2 3 4 5 » ... Последняя »
Показать все 186 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Возможности рендера (https://hlfx.ru/forum/showthread.php?threadid=2475)


Отправлено Дядя Миша 28-11-2010 в 16:43:

Возможности рендера

Я тут рендер переписываю и попутный выбросил из ксаша кутришные шойдеры. Встал вопрос: кто будет вести КВН как лучше оформить новые плюшки рендера. Ну то есть, там если надо зеркало - ставим текстуру mirror, это понятно, если бамп - то текстуру с постфиксом _norm или _nm, если карта блеска, то текстуру _gloss, возиться и.т.д.
Но может у товарищей есть какие-то свои соображения на этот щот?
думайте сейчас, через неделю-другую уже поздно будет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 28-11-2010 в 16:51:

Дядя Миша
А что если делать такое по вадам? Допустим mymap.wad mymad_normals.wad mymap_gloss.wad mymap_specular.wad и т.д.
Для зеркал и прочих неглобальных плюшек можно просто юзать префикс типа:
?mymirror, #myportal и т.п. Но вообще хочется свой формат .

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 28-11-2010 в 16:59:

Оставьте вы уже префиксы, это костыли из прошлого века.

__________________

xaerox on Vivino


Отправлено thambs 28-11-2010 в 17:23:

XaeroX
почему же? удобнее, чем делать двойную работу, прописывая для каждой текстуры шадер.


Отправлено XaeroX 28-11-2010 в 17:53:

thambs
А мне удобно писать процедурный код без комментариев и называть переменные i, j, k, l. Только вот ошибка, обнаруженная через месяц, превращает отладку в ад. Так же и с префиксами этими.

__________________

xaerox on Vivino


Отправлено thambs 28-11-2010 в 18:12:

XaeroX
аналогия не катит


Отправлено Ku2zoff 28-11-2010 в 18:14:

Дядя Миша я за шейдеры. Чтобы можно было, допустим, одну и ту же нормалмапу юзать для различных текстур. Когда перенёс рендер Паранойи на Спирит, столкнулся с неприятностью: есть 4 текстуры пожарной двери (те самые двери, что на картах c1a3x). Так вот: рисунок на них одинаковый, только цвета разные (одна зелёная, другая фиолетовая, третья синяя, и оригинальная красная), и для каждой из 4х текстур надо свою нормалмапу (firedoor01_norm, firedoor02_norm и т.п.) При том, что все нормалмапы одинаковые. Получается нерациональное использование ресурсов. Так же было и с глоссмапами.
Предложение по поводу технологии детальных текстур: в тексте шойдера (для какой-либо карты, например) пишем не все подряд текстуры типа

C++ Source Code:
c0a0_wl
c0a0_wla
c0a0_wlb
c0a0_wlc

а только c0a0_wl* и рендер применяет детальную текстуру по частичному совпадению имени, как в хлфх 0.5 сделано. Если же имя текстуры указано без звёздочки, то дет. текстура применяется по точному совпадению, как сделано в хл или Паранойе.

>>прописывая для каждой текстуры шадер

Почему же для каждой текстуры? Предлагаю такой вариант: в папке shaders лежит файлик global_01.shader, в нём параметры для всех основных текстур. После него двиг считывает информацию из файла global_02.shader, затем global_03.shader и так далее. Так же и с мапами: сначала имякарты_01.shader, потом имякарты_02.shader и т.д. Если на нескольких картах юзаются одинаковые текстуры, пользуемся звёздочкой в имени шейдера: c0a0*01_.shader, после шейдера со звёздочкой грузятся c0a0a_01.shader, c0a0a_02.shader, c0a0b_01.shader и т.д. Эта же система с моделями и проч. То есть двиг грузит общий шейдер и его новые версии с большим порядковым номером, затем глобальные шейдеры мап и студиомоделей и последующие версии оных, затем для каждой мапы/модели в отдельности по такой же схеме, затем то же самое для спрайтов и т.д. и т.п.

Структуру шейдеров можно построить так:
C++ Source Code:
1
имя_текстуры
2
{
3
  имя_подтекстуры // глосс, бамп, дитейл
4
  {
5
    // здесь строка с путём до подтекстуры
6
    // далее строки с её параметрами: прозрачность, rgba прозрачного цвета, сглаживание, яркость и проч.
7
  }
8
}

Можно добавить в шейдер строку $include "имядругогошейдера.shader" чтобы тот другой шейдер подгружался раньше текущего.

На мой взгляд это самый рациональный вариант, т.к. всё наглядно и не запутаешься.


Отправлено thambs 28-11-2010 в 19:08:

Ku2zoff

о прописывать такое для каждой текстуры.......


Отправлено sania_3 28-11-2010 в 20:02:

имхо лучше постфиксы. не стоит забывать, что таких текстур, которые будут иметь одинаковые нормалку не так много, так что игра не стоит свеч.

Добавлено 28-11-2010 в 23:02:

вообще, с точки удобства и вида есть свои плюсы и минусы. вообще, по хорошему, я (да имхо и многие) были бы рады такой плюшке- в папке мода папка "textures", внутри подпапка "diffuse", там подпапки "halflife","xeno","decals", в которых текстуры, заменяющие текстуры из соответствующих вадников. паралельно в папке "textures" существуют подпапки "gloss", "bump", "normal", в которых текстуры с соответствующими именами, только являющимися нормалками. если руки дойдут, то и папочку там же для скриптоманов "textures/scripts", в которой файлики "имятекстуры.txt". такое с точки зрения эстетики и удобства будет на много лучше киселей в вадниках и папках.

__________________
Владелец восьмиструнного монстра Schecter Omen-8 Vintage White (VWHT)
Бывал на концертах этих групп: Rashamba, 7000$, Louna, Molecul, Project Revolution, Headsource, Digimortal и многих других. Куча автографов.
Я член возлагаю на сраный геймдев.


Отправлено Дядя Миша 28-11-2010 в 20:23:

Шойдеры нельзя - поранои-хлфхы работать не будут, потому-што.
К тому жы вы всё равно их писать не умеете. В ксаше эти шойдеры уже больше года, хоть кто-то из вас мне хоть один вопрос по ним задал?
Вот то-то и оно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено thambs 28-11-2010 в 20:31:

Дядя Миша
шойдеры редко когда могут понадобиться, разьве что для монитров с хитрой анимацией.


Отправлено Дядя Миша 28-11-2010 в 20:36:

Цитата:
thambs писал:
шойдеры редко когда могут понадобиться

об этом и речь.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 28-11-2010 в 21:18:

Тут нада всё продумать. Мб создавать для каждого вада шейдер? Типа halflife.shd ну и в нём уже сами шойдеры.
Типа:
-wall
{
$Diffuse "wall"
$Normal "wall_n"
$LightingType "Lightmap"
$AnimationType "-"
$Sound "Concrete"
}
Такие шойдеры с хлфксами конфликтовать думаю не должны.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 28-11-2010 в 22:01:

Цитата:
thambs писал:
шойдеры редко когда могут понадобиться, разьве что для монитров с хитрой анимацией.

Карты ку3 ими изобилуют.
Тут скорее проблема в отсутствии фантазии у левел-дизайнеров, воспитанных на голдсорсе. Они лучше сделают три функ_конвеера с разными рендермодами, чем шойдер напишут

__________________

xaerox on Vivino


Отправлено thambs 28-11-2010 в 22:53:

XaeroX
q3 -- китч


Временная зона GMT. Текущее время 14:04. Страницы (13): [1] 2 3 4 5 » ... Последняя »
Показать все 186 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024