AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   W.I.P. (http://forum.aviaskins.com/forumdisplay.php?f=48)
-   -   Back to the future (http://forum.aviaskins.com/showthread.php?t=5708)

Sita. 20.06.2024 13:11

Это кстати почти то о чём я говорил когда предлагал каким то макаром смешать слоёный лес и шейдерный по типу леса от Новичка8, когда на дальней дистанции отрисовки включен слоёный вблизи для красоты лесное хозяйство переключается на шейдерные деревья, а на средних дистанциях какой то промежуточный микс

Sita. 20.06.2024 13:12

Цитата:

Сообщение от carsmaster (Сообщение 228833)
Никита, смотри скайп
Удалю потом этот пост.

Дядь Серёж, скайп дома, я щас либо в дискорде либо телеге. скайп погляжу тока после 21 по мск, спасибо за ответ)

Sita. 20.06.2024 13:19

Цитата:

Сообщение от carsmaster (Сообщение 228836)
Понял, тогда удаляем лишние посты:D

я на тебя в телеге перешёл, но там нет твоего контакта, только канал

Sita. 20.06.2024 13:57

чиркнул в личку) Прошу прощения за оффтоп)

yt2 20.06.2024 18:28

Увеличить ещё больше зону отрисовки малореально. Сейчас максимум это
7.2км.
Все деревья генерят софтово на CPU, дают они очень большую нагрузку на проц. Даже на 5600X+GF3600Ti при Forest=4 и Forest3Distance=9 на обычной карте Кубани встречаются места где фпс проседает ближе к сотке, хотя во всех других местах можно рассчитывать на 400-500-600 фпс.
Т.е. как только врубаем Forest=4 это раз в 10 увеличивает количество шейдерных деревьев особенно в глубоком лесу. Если врубаем Forest3Distance=9 это в 4 раза увеличивает площадь генерации деревьев.
Пока генерация и рендер шейдерных деревьев не будет лёгким, и пока часть нагрузки не уйдёт на GPU расширять зону дохлый номер.

Правильно ты заметил и повторил много раз, что бросаются в глаза появляющиеся "квадраты". А почему они бросаются? Да потому что цвет шейдерных деревьев отличен от цвета плоского леса! Это блин к картоделу вопрос, какого фига текстуры не согласованы?
Также к разнице цветов приводит например разное количество слоёв леса, из-за блендинга цвет 5 и 9 слойного леса немного отличается. Также на шейдерный лес не влияют тени от облаков, и когда плоский лес в тени темнеет шейдерный в этой же зоне остаётся светлым.

Ещё смотри на новые "дальние" тени шейдерных деревьев, они ведь не появляются внезапно как раньше. Они плавно меняют прозрачность по мере приближения к игроку. Такую же штуку можно сделать и шейдерным кронам деревьев, они будут появляться в дальней зоне почти прозрачными и по мере приближения к игроку выходить на обычную прозрачность. Но это не отменит квадратность самой зоны при Forest=4 в глубоком лесу,
тут только совпадение цвета текстур сделает их границы менее бросающимися в глаза.

Ещё напомню про отличие от стока - шейдерные деревья генерятся в постоянных местах, и от запуска к запуску миссии остаются на своём постоянном месте.

carsmaster 20.06.2024 19:26

Цитата:

Сообщение от yt2 (Сообщение 228840)
....Такую же штуку можно сделать и шейдерным кронам деревьев, они будут появляться в дальней зоне почти прозрачными и по мере приближения к игроку выходить на обычную прозрачность....

1. Спасибо за ответы.
2. А вот попробовать играться прозрачностью в зависимости от дистанции
интересная идея, если воплотишь в жизнь, то попробуем.:beer:

3. Тени деревьев в новом исполнении это прекрасно.:beer:

4. И всеж я попросил бы тебя увеличить дальность отрисовки деревьев, хотя бы для тестов. И к тому же падение с 400 ФПС(да бывают такие цифры, но кому они такие нужны) до 70..100 ФПС это вполне допустимое падение, ибо с мониторами 60Гц или 144Гц, все равно для плавности приходится включать вертикальную синхронизацию, а с ней хоть сколько там движок выдает ФПС, все равно на экран дойдет либо 60ФПС либо 144ФПС, а это весьма неплохие цифры, если они стабильны.

ПЫ СЫ

Параллельно можно уменьшить количество генерируемых шейдерных деревьев в плоском лесу "на единицу квадрата", что так квадратно обозначают границу шейдерного леса в плоском лесу. По своим экспериментам с насыщенными лесом файлов ...tree.tga заметил особенность, что чем больше деревьев сажаешь , тем заметнее квадратность появления. Помню мне удалось добиться такой насыщенности на квадрат появления, что уже не так сильно в глаза бросалось.

yt2 30.06.2024 20:29

Цитата:

Обновление до версии 2.2.9.3 30.06.2024
-на участках шейдеров №13, №14 и №21 для OpenGL 4.3 и выше
ускоренный рендер (+14 процентов). Для других случаев используется старый вариант рендера.
-новая опция настройки Forest3DistanceShadows
при Forest3DistanceShadows=0 дальность отрисовки теней шейдерных деревьев
составляет не более 1800м (как у всех версий до 2.2.8.8). В этом режиме
теням также добавлена плавное появление.
при Forest3DistanceShadows=1 дальность отрисовки теней шейдерных деревьев
увеличивается и синхронизируется с параметром Forest3Distance. В этом режиме
у теней плавное появление.
-Убрал опцию UseARBShaderDrawParameters
-Добавил плавное появление крон шейдерных деревьев (по аналогии с их тенями)
Работает не на 100% идеально, т.к. есть ряд замечаний.


P.S.
-с версиями от 2.2.8.5 моя старенькая Intel HD4000 работать не хочет. Понятно, что другие карты NVidia работают. AMD не проверял. Если у кого на свежих картах возникнут проблемы отпишите.

Sita. 01.07.2024 10:48

звучит интересно)

yt2 10.07.2024 19:07

Цитата:

Обновление до версии 2.2.9.5 10.07.2024
-Исправление неотрисовки прибрежной каустики и т.п появившееся с версии 2.2.8.5
-Переделка шейдеров плоского леса (№05/№06) направленная на устранение визуальных багов (резких границ при переходе в Far-зону, различия в цвете 5 слойного и 9 слойного леса)

yt2 10.07.2024 19:07

Вложений: 3
При тестах 2.2.9.5 заметил, что у плоского леса на некоторых картах (как "новых" так и старых) бывают весьма заметные расхождения в цвете плоского леса в ближней зоне и дальней зоне, с ярко выраженной границей.
Конечно сравнивать с версией 4.15.1 напрямую нельзя, т.к. используются разные способы освещения, смешивания текстур ландшафта и т.п.
Но сравнить только цвет леса вполне можно.
Несмотря на общую размытость цвета леса в 4.15.1 (скрин 1) заметен разный оттенок леса в ближней и дальней зоне.
В версии X64 2.2.9.5 это различие становится гораздо заметнее (скрин 2).
Устранить такое визуальное безобразие можно правильно задав текстуру для слота Wood16, согласовав её цвет и оттенок с текстурами из секции [WOOD]. На скрине 3 показан пример той же карты, но с заменённой текстурой леса для дальней зоны - переход с ближней на дальнюю зону уже малозаметен.

P.S. Ещё меня подбешивает замусоренность Map-SFS'ок текстурами которые раскиданы по разным папкам. Может быть на раннем этапе был какой-то стандарт и разные текстуры лежали сгруппировано, но по мере внесения новых карт каждый автор "захламлял" пространство новыми текстурами на своё усмотрение

yt2 16.07.2024 18:19

Цитата:

Обновление до версии 2.2.9.6 16.07.2024
-Правка шейдера №46. Упррощение, часть расчётов в шейдере.
-Правка шейдера №13 (кроны шейдерных деревьев). Отключил участки введённые в версии 2.1.2.4. Вроде это снизило периодическое мерцание (изменение яркости) некоторых деревьев. Требует тестирования.

yt2 21.08.2024 19:46

Цитата:

Обновление до версии 2.3.0.1Alpha10 20.03.2025
ТЕСТОВАЯ версия. Описание даю для опытных моддеров.
Если вы прочитав описание ничего не поняли - ставить эту версию не нужно.
--------------------------------------------------------------------------
Версия 2.3.0.1 ТЕСТОВАЯ

1) ГЕНЕРАЦИЯ КЛАСС ФАЙЛОВ по данным из конфигов

Классы техники и объектов
Автомобили(Car.class),
Танки(Tank.class),
Артиллерия(Artillery.class),
Стационарные(Stationary.class)
Корабли(Ship.class),
Стационарные самолёты(Planes.class),
Сирены(Siren.class),
Сигнальные костры(Campfire.class),
Дымы и Огни(Smoke.class),
Воздушные шары(Aeronautics.class),
Радиомаяки и радиостанций(Beacon.class),
Прожекторы(Searchlight.class)
не являются "зашитыми" в игру, а генерируются на лету при запуске игры
по данным из конфигурационных файлов.
Для генерации класс-файлов используется classfile API из появившегося в Java 22 JEP 457 (Включён в состав Java 24)

Конфигурационные файлы этих классов для обычной безмодовой игры расположены в папке "ini":

Цитата:

ini\class_aeronautics.ini
ini\class_artillery.ini
ini\class_beacon.ini
ini\class_campfire.ini
ini\class_car.ini
ini\class_plane.ini
ini\class_searchlight.ini
ini\class_ship.ini
ini\class_siren.ini
ini\class_smoke.ini
ini\class_stationary.ini
ini\class_tank.ini
Для игры с модами (игра запущена с ключом -mods) активными станут файлы в папке mods\ini:
Цитата:

mods\ini\class_aeronautics.ini
mods\ini\class_artillery.ini
mods\ini\class_beacon.ini
mods\ini\class_campfire.ini
mods\ini\class_car.ini
mods\ini\class_plane.ini
mods\ini\class_searchlight.ini
mods\ini\class_ship.ini
mods\ini\class_siren.ini
mods\ini\class_smoke.ini
mods\ini\class_stationary.ini
mods\ini\class_tank.ini

При запуске игры эти ini-файлы будут обработаны и сгенерированы игровые классы для объектов.
Классы сохранятся по пути com\maddox\il2\objects в папке игры
При генерации в консоль пишется подробный лог процесса генерации (и ошибки если они возникают)

Главный плюс такого подхода, проще добавлять наземную технику
не требуется правка соответствующих классов.

Для примера рассмотрим файл vehicles_tank.ini
Основной является секция [ALL] в которой перечислены суб-классы объектов

Цитата:

[ALL]
HoRo_MG
Tatra_OA30
PzIB
PzBfWg
PzIIF
...
Чуть ниже для каждого прописанного объекта есть отдельная секция

Цитата:

[HoRo_MG]
Extends com.maddox.il2.objects.vehicles.tanks.TankGeneric
Implements0 com.maddox.il2.ai.ground.TgtVehicle
Score_Enemy 40
Score_Friend 400

[Tatra_OA30]
Extends com.maddox.il2.objects.vehicles.tanks.TankGeneric
Implements0 com.maddox.il2.ai.ground.TgtVehicle
Score_Enemy 40
Score_Friend 400
...
В ключе Extends указывается родительский класс объекта

В ключах Implements0, Implements1, Implements2, Implements3
указывается классы интерфейсов объекта
Если у объекта нет интерфейсов то ключ не используется
Если интерфейсов несколько, то ключи заполняются по порядку 0,1,2,3
Не допускается заполнять ключи 0 и 2, не заполняя ключ 1

Два ключа Score_Enemy и Score_Friend это очки наград/штрафов начисляемые
за уничтожение техники. Если ключ не указан - используется дефолтное значение
Siren, Campfire и Smoke параметров для очков не имеют


Например

Цитата:

[Zenit61K]
Extends com.maddox.il2.objects.vehicles.artillery.Artiller yGeneric
Implements0 com.maddox.il2.ai.ground.TgtFlak
Implements1 com.maddox.il2.objects.vehicles.artillery.AAA
Score_Enemy 60
Score_Friend 150

[SdKfz251]
Extends com.maddox.il2.objects.vehicles.artillery.Artiller yGeneric
Implements0 com.maddox.il2.ai.ground.TgtVehicle
Implements1 com.maddox.il2.ai.ground.TgtFlak
Implements2 com.maddox.il2.objects.vehicles.artillery.STank
Score_Enemy 40
Score_Friend 400

[DemagD7]
Extends com.maddox.il2.objects.vehicles.stationary.Station aryGeneric
Implements0 com.maddox.il2.ai.ground.TgtVehicle

[Voroshilovets]
Extends com.maddox.il2.objects.vehicles.cars.CarGeneric
Implements0 com.maddox.il2.ai.ground.TgtVehicle

[ML20]
Extends com.maddox.il2.objects.vehicles.artillery.Artiller yGeneric
Score_Enemy 30
Score_Friend 100

2) ЗАГРУЗКА ФАЙЛОВ FM из папки "MODS/FlightModels"

При включении режима с поддержкой модов проверяется папка "MODS/FlightModels"
на наличие файлов fmd или emd. При их наличии производится загрузка обнаруженных
файлов. Если в этой папке не будет файлов FM, то будет выполнена стандартная
загрузка файлов FM из buttons

Для примера я положил в указанную папку файл FM самолёта И-15бис и его мотора.

3) ДОРАБОТАННЫЙ ФОРМАТ cod-файлов
Файлы самолётных загрузок доработаны:
в них добавлены две новые строки с данными о триггерах вооружения weaponTriggers
и хуках вооружения weaponHooks. Разделителями данных в этих новых строках является символ ";"
Остальные строки остались в старом формате разделителей (т.е. обратно совместимы)
Это позволило полностью убрать из классов все данные по вооружениям и загрузкам
Также для варианта игры с модами (опция -mods) сделана возможность подгрузки
незашифрованных cod-файлов из папки mods/weapons
(для примера в ней сейчас содержатся cod-файлы для всех самолётов)
Если в этой папке будет найден cod-файл - то он подгрузится вместо стандарного
В текстовых cod-файлах разрешено использовать комментарии. Для этого строка должна начинаться
с символов ";", "#" или "/"

Пример файл mods\weapons\YAK_9U.cod:
Цитата:

#Yak-9U weapons
weaponTriggers;0;0;1
weaponHooks;_MGUN01;_MGUN02;_CANNON01
default,0 MGunUBsi 170,0 MGunUBsi 157,1 MGunShVAKki 120
none, , ,
4) Переведена на Java 23

5) ЗАГРУЗКА ПРОПЕРТИСОВ КЛАССОВ САМОЛЁТОВ ИЗ КОНФИГУРАЦИОННОГО ФАЙЛА
Пропертисы подгружаются из файла ini\PlanesProperty.ini для обычной игры
и mods\ini\PlanesProperty.ini для игры с опцией модов
Все пропертисы располагаются в соответствующей секции с именем класса самолёта

Например:
Цитата:

[A_20G]
[P_40M_NEW]
[BF_109G6MOLNAR]
Далее идут параметры и их значения в формате:
Цитата:

<Имя параметра><Разделитель><Значение параметра>
В качестве имени параметра могут использоваться:
Цитата:

iconFar_shortClassName
originCountry
meshNameDemo
meshName
meshName_de
meshName_fi
meshName_fr
meshName_gb
meshName_hu
meshName_it
meshName_ja
meshName_du
meshName_nn
meshName_pl
meshName_ro
meshName_ru
meshName_rz
meshName_sk
meshName_us
meshName_vi
FlightModel
yearService
yearExpired
LOSElevation
Handicap
gliderBoosters
gliderBoostThrust
gliderCart
gliderFireOut
gliderString
gliderStringLength
gliderStringKx
gliderStringFactor
noseart
PaintScheme
PaintScheme_de
PaintScheme_fi
PaintScheme_fr
PaintScheme_gb
PaintScheme_hu
PaintScheme_it
PaintScheme_ja
PaintScheme_du
PaintScheme_nn
PaintScheme_pl
PaintScheme_ro
PaintScheme_ru
PaintScheme_rz
PaintScheme_sk
PaintScheme_us
PaintScheme_vi
ZBReceiver
cockpitClass
В качестве разделителя используют пробел

В качестве значениё параметра указывают строку или число

Строки могут быть закомментированы стандартным для ini-файлов образом (# ; и т.п.)

Например:
Цитата:

[A_20G]
iconFar_shortClassName A-20
originCountry us
meshName 3DO/Plane/A-20G(Multi1)/hier.him
meshName_gb 3DO/Plane/A-20G(AU)/hier.him
meshName_us 3DO/Plane/A-20G(USA)/hier.him
FlightModel FlightModels/A-20G.fmd
yearService 1943.0
yearExpired 1965.5
LOSElevation 0.92575
noseart 1
PaintScheme PaintSchemeBMPar05
PaintScheme_gb PaintSchemeBMPar05
PaintScheme_us PaintSchemeBMPar03
cockpitClass CockpitA_20G,CockpitA_20G_TGunner,CockpitA_20G_BGu nner
ZBReceiver 1
Цитата:

[ME_321]
iconFar_shortClassName Me-321
originCountry de
meshName 3do/plane/Me-321/hier.him
FlightModel FlightModels/Me-321.fmd
yearService 1941.0
yearExpired 1945.5
gliderBoosters 1
gliderBoostThrust 1960.0
gliderCart 1
gliderFireOut 30.0
gliderString 3DO/Arms/TowCable/mono.sim
gliderStringLength 140.0
gliderStringKx 100.0
gliderStringFactor 1.89
PaintScheme PaintSchemeBMPar02
Параметр ZBReceiver влияет на
ранее зашитый в класс Aircraft.class список самолётов planesWithZBReceiver

Также есть параметр cockpitClass дающий возможность
перечислять классы кокпитов используемых в самолёте
Сначала указывают класс самолёта. Затем через пробел указывают класс кокпита.
Если кокпитов несколько их перечисляют через запятую (без пробелов)

Пример:
Цитата:

cockpitClass CockpitA6M7_63
cockpitClass CockpitAR_234B2,CockpitAR_234B2_Bombardier
cockpitClass CockpitB25J,CockpitB25J_Copilot,CockpitB25J_Bombar dier,CockpitB25J_FGunner,CockpitB25J_TGunner,Cockp itB25J_AGunner,CockpitB25J_RGunner,CockpitB25J_LGu nner
Побочным результатом стало простое "ококпичивание" нелетабов

6) ЗАГРУЗКА ПРОПЕРТИСОВ КЛАССОВ КОКПИТОВ ИЗ КОНФИГУРАЦИОННОГО ФАЙЛА
Пропертисы подгружаются из файла ini\CockpitsProperty.ini для обычной игры
и mods\ini\CockpitsProperty.ini для игры с опцией модов
Все пропертисы располагаются в соответствующей секции с именем класса кокпита.
Возможные имена ключей
aiTuretNum,
weaponControlNum,
astatePilotIndx,
normZN,
gsZN,
normZNs_Back, normZNs_Left, normZNs_Front, normZNs_Right
(используются одновременно)


Пример:
Прежний вариант в классе CockpitA_20C
Цитата:

static {
Property.set(CLASS.THIS(), "aiTuretNum", 0);
Property.set(CLASS.THIS(),"normZNs", new float[]{0.70f, 0.66f, 1.24f, 0.66f});
}
Новый вариант в файле CockpitsProperty.ini
Цитата:

[CockpitA_20C]
aiTuretNum 0
weaponControlNum 0
astatePilotIndx 0
normZN -1.0
gsZN -1.0
normZNs_Back 0.7
normZNs_Left 0.66
normZNs_Front 1.24
normZNs_Right 0.66
Все перечисленные изменения направлены на уменьшение зависимостей от файлов классов

Sita. 22.08.2024 01:34

вопрос от совершенно не опытного модера) а какие плюсы это несёт?)

yt2 22.08.2024 20:53

Цитата:

вопрос от совершенно не опытного модера) а какие плюсы это несёт?)
На как бы моё описание фичи рассчитано на опытного моддера, с опытом самостоятельного добавления в игру модов.
Ну а для непосвящённых... С данной фишкой добавление новых модных объектов машинок, танков, артиллерии, стационарной техники, кораблей станет проще. Не потребуется извлекать из игры классы, прописывать в них новую технику, компилировать обратно. Классы собираются автоматом на основе конфигурационных файлов. Т.е. для добавления новой техники из перечисленного списка потребуется только заполнить инишники без плясок с классами. По лёгкости установки это станет сравнимо с добавлением модов карт.

Sita. 23.08.2024 00:16

ого гооо 0_о

yt2 15.09.2024 12:55

Up...

carsmaster 15.09.2024 15:05

Цитата:

Сообщение от yt2 (Сообщение 229605)
Up...

Пока не ставил, просто времени нет заниматься ИЛ-2.:(
Прочел описание в файле Ридми. Весьма интересно.:good:

СПАСИБО ДРУЖИЩЕ :beer:

dr strangelove 12.12.2024 14:16

Здравствуйте, друзья! Извините, я использую Google Translate. Я хотел зайти и поздравить YT2 с этим проектом. Я желаю вам всяческих успехов. Конечно, я хочу также поблагодарить всех причастных. С наилучшими пожеланиями! Доктор :beer:

Sita. 12.12.2024 21:36

Цитата:

Сообщение от dr strangelove (Сообщение 230248)
Здравствуйте, друзья! Извините, я использую Google Translate. Я хотел зайти и поздравить YT2 с этим проектом. Я желаю вам всяческих успехов. Конечно, я хочу также поблагодарить всех причастных. С наилучшими пожеланиями! Доктор :beer:

Welcome Friend)

yt2 20.03.2025 18:37

Цитата:

Обновление до версии 2.3.0.1Alpha10 20.03.2025(Тестовая! Читай описание в ветке форума. Обновление до Java 24)
Просто обновил версию Java до последней.

carsmaster 21.03.2025 06:38

Цитата:

Сообщение от yt2 (Сообщение 231103)
Просто обновил версию Java до последней.

1. Крайние версии Роман, большой прогресс в плане выноса управления параметрами игры в отдельные внешние INI файлы.
Считаю очень полезное новшество избавляющее от копания в классах
зашитых в SFS.:beer:

2. Ну а мои просьбы остаются стандартными:

а) Верни возможность использования текстур ДО 16384 пикселей,
пусть например это включается параметром в конфиге игры,
ибо вполне допускаю, что это связано с размером резервируемой
памяти, а раз так, то пусть пользователь решает.

б) Увеличь больше радиус прорисовки деревьев, все тем же способом
настраиваемым в конфиге.

в) "Голубая мечта картографа", это возможность использования
внешних файлов типа ..tree.tga для рассадки деревьев для текстур с
коэффициентом -2 , тоесть для текстур накладываемых на квадрат
3200мх3200м. В купе с твоими работами по увеличению слотов для
количества используемых текстур, с увеличенной размерностью
самих текстур, это будет реальный прорыв, как говориться не
побоюсь этого слова.:eek::beer:

Спасибо за твой труд.:beer:

gemgi 21.03.2025 07:00

:good:Спасибо за обнову

gemgi 21.03.2025 07:03

кстати, не записываются треки, "это баг или фича"? :I'm_thinking:

yt2 21.03.2025 20:09

Цитата:

кстати, не записываются треки, "это баг или фича"?
trk или ntrk?
Только что проверил ntrk пишутся и воспроизводятся у меня.

gemgi 23.03.2025 14:36

:thx:Покопаю


Текущее время: 00:33. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot