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

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

Рейтинг



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

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



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

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

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

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

Рейтинг



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
Блог разработчика в телеграме

Цитата:

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

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

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

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

Рейтинг



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

Добавлено 27-09-2021 в 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

Старое сообщение 27-09-2021 09:08
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

Добавлено 27-09-2021 в 13:19:

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

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



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

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

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

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

Старое сообщение 27-09-2021 10:31
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

Добавлено 27-09-2021 в 15:26:

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

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



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

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

Старое сообщение 27-09-2021 13:00
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



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

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

Старое сообщение 27-09-2021 13:08
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

Добавлено 27-09-2021 в 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
Блог разработчика в телеграме

Цитата:

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

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

Старое сообщение 27-09-2021 13:15
-
 Дядя Миша
racing for fish

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

Рейтинг



ncuxonaT ну как с Параноей дела идут? Устал-забил-потерял интерес?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 26-10-2021 17:56
-
ncuxonaT
каков стол, таков и стул

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

Рейтинг



Дядя Миша свет внутри меня угас, но я всё еще работаю.

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

Старое сообщение 26-10-2021 21:13
- За что?
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 36

Рейтинг



Работай так, чтобы снова зажечь!

__________________

Killing Floor: Horzine Outbreak

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

Старое сообщение 27-10-2021 08:26
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Мне кажется вы неправильно поняли концепцию китайца: индирект у ДМ и так светлее китайца, а параметр balance его ещё и дополнительно подсвечивает.

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

Старое сообщение 29-10-2021 16:58
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 14:46. Новая тема    Ответить
Страницы (32): « Первая ... « 26 27 28 29 [30] 31 32 »   Предыдущая тема   Следующая тема
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 - 2024