При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Xash3D Engine
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.11.2017, 14:47  #521
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

2 xDShot: для стикол такая штука имеется, подтверждаю. Но не замечал, чтобы её юзали для воды. Просто потому что вода в халфе турбулентная, а значит при таком подходе лайтмапа будет тоже турбулентная
Дядя Миша вне форума Ответить с цитированием
Старый 18.11.2017, 14:50  #522
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,834


По умолчанию

2 Дядя Миша:
Турбулентная лайтмапа реалистичнее светящейся в темноте воды, не?
Raid вне форума Ответить с цитированием
Старый 18.11.2017, 16:16  #523
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

Грасс_тест на ворлд-люкселях. Люксели получились настолько здоровыми, что даже с фильтрацией выглядят как без нее.
[ Миниатюры ]
grass_test_0000.JPG Просмотров: 247 Размер:  89.8 Кбайт  
Дядя Миша вне форума Ответить с цитированием
Старый 18.11.2017, 16:57  #524
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,834


По умолчанию

2 Дядя Миша:
Чому так?
Raid вне форума Ответить с цитированием
Старый 18.11.2017, 17:23  #526
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

2 Raid: блура же нету.
Дядя Миша вне форума Ответить с цитированием
Старый 19.11.2017, 01:01  #527
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

В халфовских компиляторах есть одна мерзость, связанная с тем, что плоскости создаются в мультипотоке. Из-за этой особенности порядок их положения в массиве каждый раз меняется, что на первый взгляд не должно влиять ни на что, однако на практике это приводит к тому, что дерево каждый раз создаётся немного по разному и кол-во лифов и нодов всё время гуляет. Проверить легко - компилим любую карту связкой csg+bsp, запускаем ксаш вводим mapstats, сохраняем статистику из лога, компилим заново, опять вводим mapstats, сохраняем вторую статистику, третью, четвертую. А потом сравниваем. Будете очень удивлены.

Дядя Миша, подумав, добавил 19.11.2017 в 01:05
PS. Вылазит оно не всех картах, к слову, а на достаточно больших. Т.е. на c1a0d такое поймать практически нереально, а на моём грасс_тесте - запросто.

Последний раз редактировалось Дядя Миша, 19.11.2017 в 01:05.
Дядя Миша вне форума Ответить с цитированием
Старый 19.11.2017, 22:05  #528
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

С компиляторами творится натуральный ад (я VHLT имею в виду).
Вот результаты первой компиляции (глубина дерева 62)
Код:
Object names  Objects/Maxobjs  Memory / Maxmem  Fullness
------------  ---------------  ---------------  --------
models              2/1024         128/65536    ( 0.2)
planes           5399/65536     107980/1310720  ( 8.2)
vertexes         9778/65535     117336/786420   (14.9)
nodes           11661/32767     279864/786408   (35.6)
texinfos         7582/65535     303280/2621400  (11.6)
faces           13681/65535     273620/1310700  (20.9)
clipnodes           0/524288         0/4194304  ( 0.0)
leaves           6140/32767     171920/917476   (18.7)
marksurfaces    16250/65535      32500/131070   (24.8)
surfedges       47280/2097152   189120/8388608  ( 2.3)
edges           24317/1048576    97268/4194304  ( 2.3)
texdata          [variable]       1248/33554432  ( 0.0)
lightdata        [variable]          0/33554432  ( 0.0)
deluxemap        [variable]          0/33554432  ( 0.0)
visdata          [variable]          0/16777216  ( 0.0)
entdata          [variable]        516/524288   ( 0.1)
А вот результаты второй компиляции этой же карты (глубина дерева 77)
Код:
Object names  Objects/Maxobjs  Memory / Maxmem  Fullness
------------  ---------------  ---------------  --------
models              2/1024         128/65536    ( 0.2)
planes           5399/65536     107980/1310720  ( 8.2)
vertexes         9796/65535     117552/786420   (14.9)
nodes           11684/32767     280416/786408   (35.7)
texinfos         7582/65535     303280/2621400  (11.6)
faces           13736/65535     274720/1310700  (21.0)
clipnodes           0/524288         0/4194304  ( 0.0)
leaves           6125/32767     171500/917476   (18.7)
marksurfaces    16352/65535      32704/131070   (25.0)
surfedges       47467/2097152   189868/8388608  ( 2.3)
edges           24368/1048576    97472/4194304  ( 2.3)
texdata          [variable]       1248/33554432  ( 0.0)
lightdata        [variable]          0/33554432  ( 0.0)
deluxemap        [variable]          0/33554432  ( 0.0)
visdata          [variable]          0/16777216  ( 0.0)
entdata          [variable]        516/524288   ( 0.1)
Это происходит из-за заполнения массива плоскостей в мультипотоке, в результате чего, хотя сами плоскости и их кол-во всегда одинаковы, порядок их следования каждый раз немного меняется случайным образом. Я профиксил это дело в лоб - сгенерировал все плоскости в сингл-потоке и затем еще отсортировал на всякий случай. Но сам факт, что это влияет. А ведь от глубины рекурсии еще зависит скорость обсчёта виза, рада, наконец артефакты на лайтмапе, которые то пропадают то появляются от компиляции к компиляции.
наконец при каких-то условиях наверное даже дырки могут вылезти на карте, хотя до этого никаких дырок не было.

Дядя Миша, подумав, добавил 19.11.2017 в 22:33
Вот вам картинки для наглядности.
Теперь условия при которых это происходит.
1. сложная карта, типа грасс_теста
2. во время работы компиляторов вы параллельно можете запустить еще что-то.
в VHLT гадость точно есть, затрундяюсь сказать насчёт ZHLT. Я еще не локализовал место бага.
[ Миниатюры ]
grass_test2_new_0000.JPG Просмотров: 112 Размер:  160.4 Кбайт  grass_test2_new_0001.JPG Просмотров: 108 Размер:  160.6 Кбайт  

Последний раз редактировалось Дядя Миша, 19.11.2017 в 22:33.
Дядя Миша вне форума Ответить с цитированием
Старый 19.11.2017, 23:36  #529
ncuxonaT
ncuxonaT
Лейтенант
Регистрация: 05.05.2013
Сообщения: 743


По умолчанию

Тебе не кажутся хреновыми оба варианта? В смысле, там не должно получаться что-то типа такого?
ncuxonaT вне форума Ответить с цитированием
Старый 19.11.2017, 23:50  #530
ZAZA
ZAZA
Генерал
Регистрация: 08.11.2011
Сообщения: 2,383
Замечания: 6


По умолчанию

2 Дядя Миша:
почему оно разбивается не на треугольники, а на какое-то дерьмо?
ZAZA вне форума Ответить с цитированием
Старый 19.11.2017, 23:51  #531
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,834


По умолчанию

2 Дядя Миша:
На втором скрине меньше полигонов.
Raid вне форума Ответить с цитированием
Старый 19.11.2017, 23:54  #532
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

[ Цитата ] В смысле, там не должно получаться что-то типа такого?
До работы BSP там и получается что-то типа такого. А потом уже BSP всё дополнительно кромсает.
Дядя Миша вне форума Ответить с цитированием
Старый 19.11.2017, 23:55  #533
ncuxonaT
ncuxonaT
Лейтенант
Регистрация: 05.05.2013
Сообщения: 743


По умолчанию

2 Дядя Миша: но зачем?
ncuxonaT вне форума Ответить с цитированием
Старый 20.11.2017, 01:15  #534
ThomasCooper
ThomasCooper
Новобранец
Регистрация: 27.10.2017
Адрес: Пенза
Возраст: 21
Сообщения: 6


По умолчанию

Как я понимаю, для BSP нет разницы, коридоры это или ландшафт, поэтому разбивает одинаковым образом.
Кстати, есть ли смысл бить ландшафты на еще большее количество полигонов?
ThomasCooper вне форума Ответить с цитированием
Старый 20.11.2017, 01:33  #535
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

2 ncuxonaT:
Потому что разбиение предпочитает аксиальные плоскости. А здесь их маловато.

Дядя Миша, подумав, добавил 20.11.2017 в 01:34
2 ThomasCooper:
Да нету конечно.

Последний раз редактировалось Дядя Миша, 20.11.2017 в 01:34.
Дядя Миша вне форума Ответить с цитированием
Старый 20.11.2017, 01:42  #536
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,834


По умолчанию

2 Дядя Миша:
А есть какая-то возможность избежать дыр в брашах?
[ Миниатюры ]
1.jpg Просмотров: 61 Размер:  187.4 Кбайт  2.jpg Просмотров: 65 Размер:  435.8 Кбайт  
Raid вне форума Ответить с цитированием
Старый 20.11.2017, 03:13  #537
ncuxonaT
ncuxonaT
Лейтенант
Регистрация: 05.05.2013
Сообщения: 743


По умолчанию

2 Дядя Миша: от такой нарезки аксиальных плоскостей не прибавится. Откуда вообще новым плоскостям взяться, если режется плоский треугольник.

ncuxonaT, подумав, добавил 20.11.2017 в 03:24
2 Raid: так нельзя сделать?
[ Миниатюры ]
raid.jpg Просмотров: 59 Размер:  286.9 Кбайт  

Последний раз редактировалось ncuxonaT, 20.11.2017 в 03:24.
ncuxonaT вне форума Ответить с цитированием
Старый 20.11.2017, 13:16  #538
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,236


По умолчанию

2 ncuxonaT: какие-то полигоны порождают аксиальные плоскости, вот они-то и используются в первую очередь.
Дядя Миша вне форума Ответить с цитированием
Старый 20.11.2017, 13:24  #539
ncuxonaT
ncuxonaT
Лейтенант
Регистрация: 05.05.2013
Сообщения: 743


По умолчанию

2 Дядя Миша: покажи, как нарезать треугольник, чтобы появилась новая плоскость
ncuxonaT вне форума Ответить с цитированием
Старый 20.11.2017, 13:58  #540
nemyax
nemyax
Сержант
Регистрация: 30.07.2015
Сообщения: 246


По умолчанию

2 ncuxonaT:
Дык в любом месте посеки, будет тебе две плоскости. Или ты о чём?
nemyax вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:39.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2017 by CS-Mapping.com.ua Community