HLFX.Ru Forum Страницы (32): « Первая ... « 26 27 28 29 [30] 31 32 »
Показать все 473 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Paranoia 2:Savior (https://hlfx.ru/forum/forumdisplay.php?forumid=38)
-- Полный исходный код P2:Savior 1.51, включая компиляторы и модельвьювер (https://hlfx.ru/forum/showthread.php?threadid=5552)


Отправлено Дядя Миша 28-08-2021 в 07:11:

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'


Отправлено ncuxonaT 26-09-2021 в 18:36:

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


Отправлено Дядя Миша 27-09-2021 в 06:16:

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'


Отправлено ncuxonaT 27-09-2021 в 09:08:

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

Добавлено 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 браша он не совпадает, поэтому вектор из делюксмапы для декали не валидный, так?


Отправлено Дядя Миша 27-09-2021 в 10:19:

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

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


Отправлено ncuxonaT 27-09-2021 в 10:31:

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

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

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


Отправлено Дядя Миша 27-09-2021 в 12:26:

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

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


Отправлено ncuxonaT 27-09-2021 в 13:00:

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


Отправлено Дядя Миша 27-09-2021 в 13:06:

"Дешевый" вариант - выровнять наложение декали по основной текстуре, как в халфе сделано. Правда для табличек это не всегда подходит.
Иначе придётся в вертекс передавать два касательных.
Можно передать два общих 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'


Отправлено ncuxonaT 27-09-2021 в 13:08:

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


Отправлено Дядя Миша 27-09-2021 в 13:15:

Я в своё время так декали и не доделал, потому что там много неочевидных проблем вылезало. Ну скажем, если декали с альфа-каналом и лежат друг-на-друге, им нельзя использовать 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'


Отправлено Дядя Миша 26-10-2021 в 17:56:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 26-10-2021 в 21:13:

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


Отправлено KorteZZ 27-10-2021 в 08:26:

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

__________________

Killing Floor: Horzine Outbreak


Отправлено Crystallize 29-10-2021 в 16:58:

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


Временная зона GMT. Текущее время 01:43. Страницы (32): « Первая ... « 26 27 28 29 [30] 31 32 »
Показать все 473 сообщений этой темы на одной странице

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