Sidebar

Новые компиляторы уровней для Xash3D

Дядя Миша said:
Но надо протестировать насколько это замедлит компиляцию.

Почему бы не сделать два варианта компиляторов: одни быстрые для тестовых билдов, другие медленные для финального билда?
То есть, за 100% безошибочность в финальном билде я готов потерпеть 30-60 минут.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Виз никак нельзя ускорить, или построение листов - дело тоже высокоточное?
У оригинального виза тащем-то был уровень вложенности от 0 до 4 и можно было плавно регулировать скорость его работы. Вальва зачем-то выбросила.
А почему не дерево?
А смысл городить такой огород? Там даже линейный поиск неплохо справляется, всё что хитрее хэша это уже неоправданное усложнение.
 

FiEctro

Ведущий
Jul 28, 2006
17,139
33
Насчет hlbsp солидарен с Раидом. Он никогда долго не считается, потому впринципе там довольно безболезненно можно втопить в высокую точность, пожертвовав временем.
 

mittorn

New member
Apr 22, 2010
1,213
15
0
2 FaL_DemonoZa:
будешь отлаживать как с -extra rad в zhlt на котором всплывали артефакты
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Дядя Миша:
Уровни вложенности - это как-то связано с точностью, или просто листы внутри листов, подразбиение какое-то? Что тащемта и было бы уточнением, наверное.

2 KPE030T:
Там либо к раду параметр -smooth со значнием (75 дефолтное, больше 200 не делал, как и написано в статье) - и тогда все полигоны брашей на карте будут сглаживаться глобально, либо точечная энтитя info_smoothvalue, где имя поля - это имя текстуры, а значение - сглаживание. Т.е. можно каждую текстуру сглаживать отдельно, хотя на мой взгляд не достаёт вот как раз сглаживание поэнтитьно, так сказать. Домой приду ещё статью докину, не могу загуглить почему-то.

У свенкооповцев был свой х64 компилятор?
https://www.feckin-mad.co.uk/forum/viewtopic.php?t=3156
 

Attachments

Last edited:

mittorn

New member
Apr 22, 2010
1,213
15
0
мне бы тестовые карты на проблемы с этими екстентами.
Ибо давно компилирую с sse и на тех картах что у меня были проблем не обнаружил, хотя они должны быть. Теоретически 32битного float не хватает для расчёта extents, а на x86 он магическим образом становится 80битным из-за x87 fpu, но при включении sse значения должны округляться и выдавать некорректный результат. Однако несмотря на это проблем не замечал даже на arm. А так по идее надо преобразовать в double перед вычислением и проблем не будет, только мне надо знать каких.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Насчет hlbsp солидарен с Раидом
Когда собираешь тестовую карту только csg+bsp, и постоянно там чота меняешь, после третьего компила даже смешная задержка в 5 секунд начинает бесить.
Уровни вложенности - это как-то связано с точностью
Ну да там рекурсия всё глубже забирается и тщательнее тестирует. В VHLT частично восстановили это поведение, там ключ -full запускает -level 4.
У свенкооповцев был свой х64 компилятор?
VHLT в принципе и делался для свенкопа.
А так по идее надо преобразовать в double перед вычислением и проблем не будет
Code:
		for (j=0 ; j<2 ; j++)
		{
			/* The following calculation is sensitive to floating-point
			 * precision.  It needs to produce the same result that the
			 * light compiler does, because R_BuildLightMap uses surf->
			 * extents to know the width/height of a surface's lightmap,
			 * and incorrect rounding here manifests itself as patches
			 * of "corrupted" looking lightmaps.
			 * Most light compilers are win32 executables, so they use
			 * x87 floating point.  This means the multiplies and adds
			 * are done at 80-bit precision, and the result is rounded
			 * down to 32-bits and stored in val.
			 * Adding the casts to double seems to be good enough to fix
			 * lighting glitches when Quakespasm is compiled as x86_64
			 * and using SSE2 floating-point.  A potential trouble spot
			 * is the hallway at the beginning of mfxsp17.  -- ericw
			 */
			val =	((double)v->position[0] * (double)tex->vecs[j][0]) +
				((double)v->position[1] * (double)tex->vecs[j][1]) +
				((double)v->position[2] * (double)tex->vecs[j][2]) +
				(double)tex->vecs[j][3];

			if (val < mins[j])
				mins[j] = val;
			if (val > maxs[j])
				maxs[j] = val;
		}
Это из QuakeSpasm.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
Дядя Миша said:
Когда собираешь тестовую карту только csg+bsp, и постоянно там чота меняешь, после третьего компила даже смешная задержка в 5 секунд начинает бесить.
Если это избавит от битых полигонов - можно и потерпеть. Как вариант - два компилятора или два режима работы.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Дядя Миша:
Ну и даже если не причём, всё равно пусть сверхточный режим будет. Мало ли.
 

Yo Den

New member
Oct 2, 2013
901
32
23
0
TRUSISHKA said:
2 FiEctro:
Гугл переводчиком это не то.
переведи гугл переводчиком и кинь в туториалы :roll:
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord