HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Paranoia 2:Savior > Полный исходный код P2:Savior 1.51, включая компиляторы и модельвьювер
Вопросы и комментарии оставляйте здесь
Страницы (30): « Первая ... « 26 27 28 29 [30]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 28302
Нанёс повреждений: 386 ед.

Рейтинг



SNMetamorph солнцу автоматически назначается лайтстиль за номером 20.

__________________
My Projects: download page

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

Сообщить модератору | | IP: Записан
Сообщение: 203606

Старое сообщение 28-08-2021 07:11
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1471
Возраст: 31

Рейтинг



TBN для декалей строится из текстурных координат декали, с TBN браша он не совпадает, поэтому вектор из делюксмапы для декали не валидный, так?

Сообщить модератору | | IP: Записан
Сообщение: 204256

Старое сообщение 26-09-2021 18:36
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 28302
Нанёс повреждений: 386 ед.

Рейтинг



C++ Source Code:
1
v->stcoord0[0] = DotProduct( clip->textureVecs[0], delta ) + 0.5f;
2
v->stcoord0[1] = DotProduct( clip->textureVecs[1], delta ) + 0.5f;
3
v->stcoord0[2] = (( DotProduct( point, tex->vecs[0] ) + tex->vecs[0][3] ) / tex->texture->width );
4
v->stcoord0[3] = (( DotProduct( point, tex->vecs[1] ) + tex->vecs[1][3] ) / tex->texture->height );
5
R_LightmapCoords( surf, point, newdecal->verts[i].lmcoord0, 0 ); // styles 0-1
6
R_LightmapCoords( surf, point, newdecal->verts[i].lmcoord1, 2 ); // styles 2-3

__________________
My Projects: download page

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

Сообщить модератору | | IP: Записан
Сообщение: 204263

Старое сообщение вчера 06:16
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1471
Возраст: 31

Рейтинг



Это что-то непонятное

Добавлено вчера в 12:08:

C++ Source Code:
1
static void R_DecalComputeTBN( brushdecal_t *decal )
2
 
3
....
4
 
5
for( triID = 0; triID < (decal->numElems / 3); triID++ )
6
{
7
  for( int i = 0; i < 3; i++ )
8
  {
9
    v[i] = (float *)&decal->verts[decal->elems[triID*3+i]].vertex;
10
    tc[i] = (float *)&decal->verts[decal->elems[triID*3+i]].stcoord0;
11
  }
12
 
13
  CalcTBN( v[0], v[1], v[2], tc[0], tc[1], tc[2], triSVect[triID], triTVect[triID] );
14
}


TBN для декалей строится из текстурных координат декали, с TBN браша он не совпадает, поэтому вектор из делюксмапы для декали не валидный, так?

Сообщить модератору | | IP: Записан
Сообщение: 204266

Старое сообщение вчера 09:08
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 28302
Нанёс повреждений: 386 ед.

Рейтинг



Нормаль совпадает, этого достаточно.

Добавлено вчера в 13:19:

Для умножения делюксмапы на нормалмапу TBN вообще не используется, поскольку оба-два находятся в локальном текстурном пространстве.

__________________
My Projects: download page

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

Сообщить модератору | | IP: Записан
Сообщение: 204267

Старое сообщение вчера 10:19
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1471
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:

Для умножения делюксмапы на нормалмапу TBN вообще не используется, поскольку оба-два находятся в локальном текстурном пространстве.

У брашей да, так как делюксмапа записана в касательном пространстве браша. Но у декалей-то свой TBN, своё касательное пространство.

Сообщить модератору | | IP: Записан
Сообщение: 204268

Старое сообщение вчера 10:31
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 28302
Нанёс повреждений: 386 ед.

Рейтинг



Я же говорю, самое главное, что плоскости совпадают. У браша и у декали.

Добавлено вчера в 15:26:

Я тут посравнивал наложение одних и тех же декалей под разными углами.
Ну что можно сказать. У большинства декалей в параное нормалей нет, следовательно там это неактуально. Там где нормали есть, рельеф как правило слабовыражен и в глаза это не бросается. Единственное где это будет заметно - декали с параллаксом. Но в оригинале их нет, а я своё время так и не успел доделать этот механизм.
Можно оба текстурных пространства привести обратно в модельное и умножать уже там. Тогда будет правильно.

__________________
My Projects: download page

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

Сообщить модератору | | IP: Записан
Сообщение: 204271

Старое сообщение вчера 12:26
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1471
Возраст: 31

Рейтинг



Еще будет заметно на декалях со спекуляром
https://i.imgur.com/dDOdVGf.jpg

Сообщить модератору | | IP: Записан
Сообщение: 204272

Старое сообщение вчера 13:00
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 28302
Нанёс повреждений: 386 ед.

Рейтинг



"Дешевый" вариант - выровнять наложение декали по основной текстуре, как в халфе сделано. Правда для табличек это не всегда подходит.
Иначе придётся в вертекс передавать два касательных.
Можно передать два общих TBN через юниформы, но это нежелательно, т.к. декаль необязательно покрывает плоскость. Иногда она заворачивается на углы до 45 градусов, т.к. там проекция. Или можно по примеру Крайтека превратить касательные пространства в кватернионы для экономии места.

__________________
My Projects: download page

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

Сообщить модератору | | IP: Записан
Сообщение: 204273

Старое сообщение вчера 13:06
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1471
Возраст: 31

Рейтинг



Проще, наверное, хранить делюксмапу в волрдспейсе

Сообщить модератору | | IP: Записан
Сообщение: 204274

Старое сообщение вчера 13:08
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 28302
Нанёс повреждений: 386 ед.

Рейтинг



Я в своё время так декали и не доделал, потому что там много неочевидных проблем вылезало. Ну скажем, если декали с альфа-каналом и лежат друг-на-друге, им нельзя использовать Z-offset, т.к. они будут з-файтить друг с другом. Значит им надо программный на CPU делать. Или переносить его в вертексный шейдер. Потом были проблемы со скейлом на статиках, но я вроде бы успел это решить.

Добавлено вчера в 16:15:

Цитата:
ncuxonaT писал:
Проще, наверное, хранить делюксмапу в волрдспейсе

C++ Source Code:
1
// texture flags
2
#define TEX_SPECIAL			BIT( 0 )	// sky or slime, no lightmap or 256 subdivision
3
#define TEX_WORLD_LUXELS		BIT( 1 )	// alternative lightmap matrix will be used (luxels per world units instead of luxels per texels)
4
#define TEX_AXIAL_LUXELS		BIT( 2 )	// force world luxels to axial positive scales
5
#define TEX_EXTRA_LIGHTMAP		BIT( 3 )	// bsp31 legacy - using 8 texels per luxel instead of 16 texels per luxel
6
#define TEX_NOSHADOW		BIT( 4 )
7
#define TEX_NODIRT			BIT( 5 )
8
#define TEX_SCROLL			BIT( 6 )	// Doom special FX

Можешь в формат добавить еще один флажок, типа TEX_WORLDSPACE_DELUX или что-то вроде этого.
Оно избыточно, но информация о типе должна быть в любом случае.

__________________
My Projects: download page

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

Сообщить модератору | | IP: Записан
Сообщение: 204275

Старое сообщение вчера 13:15
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 22:37. Новая тема    Ответить
Страницы (30): « Первая ... « 26 27 28 29 [30]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Paranoia 2:Savior > Полный исходный код P2:Savior 1.51, включая компиляторы и модельвьювер
Вопросы и комментарии оставляйте здесь
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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