Kenshi
44 ratings
shadeREcode
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
787.905 KB
May 21 @ 7:30am
Jul 13 @ 4:05pm
9 Change Notes ( view )

Subscribe to download
shadeREcode

Description
**********************************

shadeREcode

The modification fixes and contributes new code to the main stock materials (shaders/hlsl) of the Kenshi game project.

Optimization of averaging formulas and other mathematical operations. The modification is provided on an *AS IS* basis.

I don't use, Reshade, ... It's native code (HLSL).

**********************************

Модификация исправляет и вносит новый код в основные стоковые материалы (shaders/hlsl) игрового проекта Kenshi.

Основная работа проводилась с нативной папкой /Kenshi/data/materials/.
Модификация предоставляется на условиях КАК ЕСТЬ. Правка кода в локальных условиях допустима.
Копирование и использование кода разрешено только правообладателям игрового проекта Kenshi (Lo-Fi Games).

**********************************

Оптимизация и проверка HLSL-кода
Основные проблемы и направления оптимизации:

- Упрощение вычислений в циклах.
- Замена использования массива сдвигов на константные значения.
- Сведение выборок текстуры к минимуму.
- Оптимизация формул усреднения и других математических операций.
- Сокращение дублирования кода за счет использования вспомогательных функций.
- Использование оптимизированных HLSL функций для повышения быстродействия.

**********************************

Дополнительные улучшения и нововведения

- Увеличена производительность за счёт сокращения вычислений.
- Добавлена полиномиальная функция для более плавного затухания расстояния.
- Вращение Луны: Добавлена функция, которая вращает UV координаты в зависимости от времени.
- Плавное смещение и сглаживание: Использована функция для более плавного перехода между фазами луны.
- Интерполяция цвета: Добавлена интерполяция цвета в зависимости от фазы Луны.
- Добавлено диффузное освещение, которое учитывает угол между нормалью поверхности и направлением света.
- Добавлено зеркальное освещение с использованием модели Фонга, чтобы добавить блики на поверхности.
- Плавные переходы плотности атмосферы: Использованы функции для более плавного изменения плотности атмосферы.
- Смешивание с шумом: Использовано смешивание с шумом для добавления детализации и разрывов в облаках.
- Симуляция солнечных лучей: Добавлена симуляция солнечных лучей (No God Rays).
- Генерация шума: Добавлена функция для генерации простого шума, который используется для создания более естественных форм облаков.
- Синусоидальная функция для плавного изменения интенсивности: Использована синусоидальная функция для создания плавного изменения интенсивности света.
- Рассеивание света: Добавлено рассеивание света с использованием параметра времени для создания более реалистичного эффекта.
- Хроматические аберрации: Добавлена переменная для управления смещением цветовых каналов.
- Добавление дисперсии света: Добавлена переменная для управления степенью дисперсии для каждого цветового канала.
- Добавление хроматизма увеличения: Вычислено расстояние до центра экрана и использовано для увеличения смещения цветовых каналов к краям изображения.
- Более компактный и понятный код, облегчающий поддержку и модификацию.

**********************************

Дополнительная информация содержится в файлах INFO.XT (папки/подпапки игровой модификации).

Пожалуйста, оставляйте свои комментарии по поводу использования модификации на ваших GPU. Минимальная версия шейдеров 4.0, для поддержки модификации.

Пример сообщения...

OC - Windows/GNU-Linux
VC - RTX 4090 / AMD
Proton - Yes / No
FPS - 30/75

Спасибо, за помощь.

**********************************

Установка

- Это основные стоковые материалы игрового проекта. Материалы не должны быть перезаписаны, это ядро и основа.
- Отключите дополнительные модификации перед тестированием (shaders/hlsl/particles).
- Если вас устраивают нововведения, добовляйте свой код и модификации.
- Лучший способ, перезапись фалов в папке */steamapps/common/Kenshi/data/materials/* и отключение модификации.
- Основное тестирование проводилось на Arch Linux (Proton 10/Wine), это плюс если вы не используете WindowsOS.

Пути для установки

- */steamapps/common/Kenshi/data/materials/* - Замена файлов.
- */steamapps/common/Kenshi/mods/* - Моды без workshop.
- */steamapps/workshop/content/233860/* - Моды workshop.

**********************************

Рекомендации по графическим настройкам

- Включить каскадные тени.
- Максимум радиус теней, в настройках.
- Максимум декалий, в настройках.

Если у вас возникают проблемы с автогенерацией иконок, перейдите в /steamapps/common/Kenshi/data/icons/, УДАЛИТЕ весь кеш иконок из всех установленных модификаций. Если вы заменили или установили новый мод, от старого останется кеш иконок, это не зависит от данного мода и не является проблемой.

**********************************

_Crimea-Karro 2025_
_info@crimea-karro.ru_
_https://crimea-karro.ru/gamemods_

61 Comments
[Cat]ASPbazi  [author] Sep 14 @ 1:17pm 
@Laughing Forest
ok good -)
""greater than or equal to. >= time * 0.1"
Laughing Forest Sep 12 @ 2:04pm 
Thank you!

When editng to Set>>> float dropTime = frac(ripple.a + time * 0.1) it seemed to freeze the droplet ripples entirely

Deleting water.hlsl file did the trick though

Thanks very much
[Cat]ASPbazi  [author] Sep 3 @ 1:58pm 
@Laughing Forest
Hi... Delete or edit "Kenshi/mods/shadeREcode/materials/forward//water.hlsl".

// Функция для создания эффекта ряби от дождя
float3 rainRipple(sampler2D map, float2 coord, float time, float weight)
{
float4 ripple = tex2D(map, coord);
float dropTime = frac(ripple.a + time * 0.5);
float dropFrac = dropTime - 1.0 + ripple.r * 0.5 + 0.5;
float s = -sin(clamp(dropFrac * 16.0, 0.0, 2.0) * 3.14159);

float3 rainNormal = ripple.grb;
rainNormal.xz *= s;
return rainNormal * weight * ripple.r;
}

Look >> float dropTime = frac(ripple.a + time * 0.5);
Set>>> float dropTime = frac(ripple.a + time * 0.1);
Laughing Forest Sep 2 @ 11:46am 
Hey mate - just one last attempt to ask if altering the speed of the water ripples up is possible? It was a rainy weekend out here, and I recorded some rain drop ripples on the local canal and then played back while experiencing in-game. In terms of realism the ripple speed is far faster than currently enacted in-game.

Pretty small issue, but figured why not ask, eh? Cheers
Laughing Forest Aug 31 @ 1:12am 
Hey mate - it’s not a complaint, I think you have done really terrific work here and appreciate your great work.

I just noticed the raindrops seem to be in slow-motion on water, and look a bit unrealistic.

If that’s an easy change, then great.

If that’s how you intended it, then hey that’s your choice, no worries.
[Cat]ASPbazi  [author] Aug 30 @ 10:50am 
@Laughing Forest
Hello... I don't understand the reason for the dissatisfaction; it's disabled spam in the shader code. The ripples are slowed down for naturalness.
Laughing Forest Aug 23 @ 5:38pm 
Hey mate - the raindrop ripples on water have their "ripple" animation slowed way down with this mod enabled.

Is there a way to speed that up so it looks more realistic? Cheers
[Cat]ASPbazi  [author] Aug 20 @ 11:50am 
@Thebrokenbucket
Enjoy -)
Thebrokenbucket Aug 17 @ 9:29am 
great mod bro
[Cat]ASPbazi  [author] Jul 21 @ 3:53am 
Hi… that’s just chromatic aberration and metal bloom. There’s no way to tweak the gloss separately in-game (without modifying the source). You’ll have to force it via your graphics driver and crank up the texture anisotropy. It’s a working solution—some will like it, others won’t. -))))