MonitoringMinecraft MonitoringMinecraft
A

Adaptive Outline

Шейдер IrisOptiFine

Шейдерпак для Майнкрафт: адаптивный контур, который светлеет и темнеет в зависимости от окружения.

2.4к скачиваний 5 подписчиков
Оцените первым

This is a vanilla shader with a stroke.

The stroke brightens the light areas and darkens the dark areas. outline шейдер изменём только в final.fsh

#version 330 compatibility

uniform sampler2D colortex0; 
uniform sampler2D depthtex0; 

in vec2 texcoord;
layout(location = 0) out vec4 color;

void main() {
    vec2 texel = 1.0 / vec2(textureSize(colortex0, 0));
    vec4 scene = texture(colortex0, texcoord);
    
    float d_center = 1.0 - textureLod(depthtex0, texcoord, 0.0).r;
    
    vec2 offsets[2] = vec2[](
        vec2(texel.x, 0),
        vec2(texel.x * 3.0, 0)
    );
    
    float gradients[4];
    
    for(int i = 0; i < 2; i++) {
        float d_right = 1.0 - textureLod(depthtex0, texcoord + offsets[i], 0.0).r;
        float d_left  = 1.0 - textureLod(depthtex0, texcoord - offsets[i], 0.0).r;
        
        gradients[i] = abs(d_right - d_left) / (offsets[i].x * 2.0);
        
        vec2 vertical_offset = vec2(0, offsets[i].x);
        float d_up    = 1.0 - textureLod(depthtex0, texcoord + vertical_offset, 0.0).r;
        float d_down  = 1.0 - textureLod(depthtex0, texcoord - vertical_offset, 0.0).r;
        
        gradients[i + 2] = abs(d_up - d_down) / (vertical_offset.y * 2.0);
    }
    
    float gradient_ratio_h = gradients[0] / (gradients[1] + 0.0001);
    float gradient_ratio_v = gradients[2] / (gradients[3] + 0.0001);
    
    bool is_real_edge_h = gradient_ratio_h > 2.0;
    bool is_real_edge_v = gradient_ratio_v > 2.0;
    
    float edge = 0.0;
    
    if(is_real_edge_h || is_real_edge_v) {
        float max_gradient = max(gradients[0], gradients[2]);
        edge = max_gradient * 500.0;
    }
    
    float depth_precision = 0.001 + d_center * 0.01;
    if(edge < depth_precision * 100.0) {
        edge = 0.0;
    }
    
    float threshold = 0.15;
    
    if(edge > threshold && (is_real_edge_h || is_real_edge_v)) {
        float edge_strength = clamp((edge - threshold) * 2.0, 0.0, 1.0);
        
        vec4 color_up = texture(colortex0, texcoord + vec2(0, texel.y));
        vec4 color_down = texture(colortex0, texcoord - vec2(0, texel.y));
        vec4 color_left = texture(colortex0, texcoord - vec2(texel.x, 0));
        vec4 color_right = texture(colortex0, texcoord + vec2(texel.x, 0));

        vec4 avg_color = (color_up + color_down + color_left + color_right) * 0.25;

        float neighbor_brightness = dot(avg_color.rgb, vec3(0.299, 0.587, 0.114));

        float brightness_factor;
        
        if(neighbor_brightness > 0.35) { // here we change the change threshold
            brightness_factor = 1.0 + edge_strength * 0.2; // we're changing it here brightens
        } else {
            brightness_factor = 1.0 - edge_strength * 0.2; // we're changing it here darkens
        }
        
        color.rgb = scene.rgb * brightness_factor;
        color.a = scene.a;
        
    } else {
        color = scene;
    }
}
Смотри также

Похожие подборки шейдеры — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирай в рейтинге серверов Майнкрафт и заходи прямо сейчас.

SkyBars
SkyBars Java + BE
1161 онлайн
1.8 — 26.2 версия
🎮 ВЫЖИВАНИЕ ⚔️ АНАРХИЯ 🚗 ГТА РП 🎤 ГОЛОСОВОЙ ЧАТ 🎁 БЕСПЛАТНЫЙ ДОНАТ 🌟 СМП 💻 ПК+ТЕЛЕФОН
MigosMc
MigosMc Java + BE
1188 онлайн
1.8 — 26.2 версия
🌿 MigosMc.net | Гриферский сервер с войс-чатом | Награды за онлайн ⭐ ВЫЖИВАНИЕ⭐ ОДИНБЛОК⭐ МИНИ-ИГРЫ
SeasonEra
1 онлайн
26.1.2 версия
Выживание • Экономика • Кланы • Приваты • Донат
PLIRGAME - ДЕВУШКИ ВОЙС ЧАТ
29 онлайн
1.21.10 — 26.1.1 версия
❤️ Выживание! ❤️ Войс Чат ❤️ Девушки ❤️ /free
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.2, 1.21.11, 26.1.2, 1.21.8. Fabric, NeoForge, Forge, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Forge Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат