Sidebar

Неофициальный SDK

ncuxonaT

Well-known member
05.05.13
1 221
51
48
2 Дядя Миша:
возможно, что швы убираются одной строчкой
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Забавно, я всегда был уверен что координаты могут переходить на соседнюю грань, на то она и кубемапа кагбы. Вот гамно, а!
 

ncuxonaT

Well-known member
05.05.13
1 221
51
48
Заметил безумную вещь: яркость неба зависит от питча light_environment

Post automatically merged:

Пока что у меня 2 препятствия на пути к PBR: швы на кубемапах и отсутствие HDR
 
Останнє редагування:
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Заметил безумную вещь: яркость неба зависит от питча light_environment
Да! Раз у нас вечер так темно, а если день - светло. Это для будущей системы времени суток. Я потом еще раскрашу по какой-нибудь популярной модели неба.
Утро красит нежным светом стены древнега кремля, бггскнх.

Post automatically merged:

Так товарищи. Вчера провел первые испытания убер-шейдеров. Сама идея делать еденичный шейдер вообще для всего мне показалась неудобной, поэтому я привычно разбил на группы - для солидных бмоделей, для транспарентных, ну и для студиомоделей аналогично. Вчера значит написал убер-шейдер для солидных бмоделей. Результат вполне себя оправдал - почти 100 фпс прироста и это только на карте-коробке и только на мировых полигонах. А там жеж еще монстрики, стекла. Продолжу имплементацию, через неделю увидите что получилось.
 
Останнє редагування:

KiQ

Member
12.07.10
397
2
18
2 Дядя Миша:
На интеле заработает? %)
 

ncuxonaT

Well-known member
05.05.13
1 221
51
48
Да! Раз у нас вечер так темно, а если день - светло. Это для будущей системы времени суток. Я потом еще раскрашу по какой-нибудь популярной модели неба.
Для модели неба это может и нормально, но зачем же затемнять текстурное небо. Хочу я закат сделать, ставлю красивые картинки неба, а они темными рисуются.

Немного говнокода нормализации лайтпроб:
Код:
	//weight multiplier calculation
	float item = 1;
	float distance_sum = 0;
	float distance_mult = 1;
	for( int i = 0; i < u_LightSamples; i++ )
	{
		item = 1;
		for( int j = 0; j < u_LightSamples; j++ )
		{
			item *=lightDists[j];
		}
		item /= lightDists[i];
		distance_sum += item;
		distance_mult *= lightDists[i];
	}
	float weight_m = distance_mult / distance_sum;
..........................................................................
	//а вес лайтпробы определяется как 
	float weight = weight_m / lightDists[i];
Для пущей красоты можно расстояния до лайтпроб предварительно возводить в квадрат
 

Вкладення

Останнє редагування:

KiQ

Member
12.07.10
397
2
18
2 ncuxonaT:
Ты б лучше крипи-тени поправил, а то никакие лайтпробы не спасут :)
 

FiEctro

Супер Модератор
Команда форуму
Супер Модератор
28.07.06
17 167
33
  • Золотая медаль 213
  • Neh
2 ncuxonaT:
Мне кажется первый вариант более правильный. На втором - освещенная часть сидушки стала тёмной.

>> Для модели неба это может и нормально, но зачем же затемнять текстурное небо. Хочу я закат сделать, ставлю красивые картинки неба, а они темными рисуются.

Для этого нужно использовать специальный скайбокс без деталей. И программно крутить ему якрость и цвет.
 

ncuxonaT

Well-known member
05.05.13
1 221
51
48
2 FiEctro:
А на первом часть седушки в тени стала светлой. И вообще все модели пересвечены.
2 KiQ:
Шейдером это не поправить, увы
 

ncuxonaT

Well-known member
05.05.13
1 221
51
48
2 Дядя Миша:
что именно?

Еще с нормализацией при увеличении количества лайтпроб освещение будет только точнее, а без неё модель будет становиться всё ярче и ярче
 
Останнє редагування:
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Код:
float ColorNormalize( const Vector &in, Vector &out )
{
	float	max, scale;

	max = in.x;
	if( in.y > max )
		max = in.y;
	if( in.z > max )
		max = in.z;

	if( max == 0.0f )
		return 0.0f;

	scale = 1.0f / max;
	out = in * scale;

	return max;
}
 

ncuxonaT

Well-known member
05.05.13
1 221
51
48
2 Дядя Миша:
эмммм
Мой алгоритм нормализует вклад каждой лайтпробы так, чтобы в сумме был 1.
Оффтоп

А по твоему алгоритму ближайшая лайтпроба будет иметь вес 1, а остальные какой-то меньший. При этом если есть две ближайшие лайтпробы, то они обе будут иметь вес 1, и того яркость модели в этом месте будет как минимум в 2 раза выше, чем у лайтмапы.
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Нормализовать надо конечный результат, а не каждый вклад.
твоя нормализация просто убивает диффузное освещение.
 

ncuxonaT

Well-known member
05.05.13
1 221
51
48
2 Дядя Миша:
так у меня и конечный результат нормализован, общий вклад от лайтпроб равен единице, а у тебя каждая лайтпроба аддитивно подсвечивает ВСЮ модель.
Моя нормализация берет свет для модели в соответствии с лайтмапой, как она может убивать диффузное освещение
 
Останнє редагування:

ZAZA

Well-known member
08.11.11
2 433
43
48
2 ncuxonaT:
Очень красиво получилось с нормализацией. Имхо, модель не должна быть настолько засвеченой, как на первом скрине (смотрю на стулья)
 

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.