w23 / xash3d-fwgs

Vulkan Ray Tracing fork of Xash3D FWGS engine. Intended to be merged into master at some point in the future.
160 stars 16 forks source link

Stuff done during streams E352-E354 #719

Closed w23 closed 4 months ago

w23 commented 4 months ago
0x4E69676874466F78 commented 4 months ago

У нас остаются проблемы:

  1. Луч гаус пушки не того цвета, решается легко:
    diff --git a/ref/vk/shaders/trace_simple_blending.glsl b/ref/vk/shaders/trace_simple_blending.glsl
    index 8d994e6a..9c276ac1 100644
    --- a/ref/vk/shaders/trace_simple_blending.glsl
    +++ b/ref/vk/shaders/trace_simple_blending.glsl
    @@ -51,7 +51,7 @@ void traceSimpleBlending(vec3 pos, vec3 dir, float L, inout vec3 emissive, inout
                }
    #else
                const vec4 texture_color = texture(textures[nonuniformEXT(kusok.material.tex_base_color)], geom.uv);
    -               const vec4 mm_color = model.color * kusok.material.base_color;
    +               const vec4 mm_color = model.color * SRGBtoLINEAR(kusok.material.base_color);
                float alpha = mm_color.a * texture_color.a * geom.vertex_color.a;
                vec3 color = mm_color.rgb * texture_color.rgb * geom.vertex_color.rgb * alpha;
  2. Неправильная альфа. Здесь уже сложнее. Можно было бы решить через подобный трюк с SRGBtoLINEAR(alpha) и оно в целом выглядит правильнее, но местами более полупрозрачно чем должно быть (на кольцевых бимах на c0a0c, возможно это проблема смешивания), но главная проблема это мерцающие анимационные спрайты (типа порталов), потому что мы убавили альфу а дальше два кадра спрайта смешивали и они сложились/умножились, поэтому один кадр выглядит светлее другой темнее и это создаёт неприятный эффект мерцания. Решать это нужно через сишный код, но есть проблема, если в триапи мы просто проделает какие-то манипуляции с альфой то это применится и на растеризации, т.е. нам как-то нужно иметь два пути для лучей и растеризации либо как-то ещё решать вопрос со смешиванием кадров, здесь меня уже нехватает.
w23 commented 4 months ago

@0x4E69676874466F78 также нашёл вот это: Оригинал: image Лучонка: image

w23 commented 4 months ago

А это, там конфликт получается, либо мерцающая анимация и нормальные фоновые спрайты тау-пушки, либо не мерцающая анимация, и корявые спрайты