learn imguiблять как это сделать. нашел максимум блюр для дх9, но там ваще не то
незя(можно но оптимизация будет желать лучшего)блять как это сделать. нашел максимум блюр для дх9, но там ваще не то
в airflow всё нормально.незя(можно но оптимизация будет желать лучшего)
там direct9 пастерв airflow всё нормально.
кстати да, можешь там посмотреть как она сделана
пастерок, если все правильно сделать, то на чем угодно будет нормально блюр работать, а уж на директ икс 11 тем болеетам direct9 пастер
лучше всего изучить как работают шейдеры (в частности пиксель шейдеры)блять как это сделать. нашел максимум блюр для дх9, но там ваще не то
А если у меня нормальная видюха а не nvidia будет работать ?пастерок, если все правильно сделать, то на чем угодно будет нормально блюр работать, а уж на директ икс 11 тем более
лучше всего изучить как работают шейдеры (в частности пиксель шейдеры)Пожалуйста, авторизуйтесь для просмотра ссылки.
немного потыкать сурсы другие с блюром можно link
ну и еще можно подебажить как делает это игра с помощью мощной штучки -Пожалуйста, авторизуйтесь для просмотра ссылки.
Типо самодельная?у меня нормальная видюха
на нормальных видеокартах работает, на амд тоже должно, хотя не уверенА если у меня нормальная видюха а не nvidia будет работать ?
ало долбаёб ты сам нихуя не знаешь и подпёздываешь дак и ещё сурсы на кс 2 кидаешьпастерок, если все правильно сделать, то на чем угодно будет нормально блюр работать, а уж на директ икс 11 тем более
лучше всего изучить как работают шейдеры (в частности пиксель шейдеры)Пожалуйста, авторизуйтесь для просмотра ссылки.
немного потыкать сурсы другие с блюром можно link
ну и еще можно подебажить как делает это игра с помощью мощной штучки -Пожалуйста, авторизуйтесь для просмотра ссылки.
дак ещё и dx11 блюрчик незя там урезаны шейдерыпастерок, если все правильно сделать, то на чем угодно будет нормально блюр работать, а уж на директ икс 11 тем более
лучше всего изучить как работают шейдеры (в частности пиксель шейдеры)Пожалуйста, авторизуйтесь для просмотра ссылки.
немного потыкать сурсы другие с блюром можно link
ну и еще можно подебажить как делает это игра с помощью мощной штучки -Пожалуйста, авторизуйтесь для просмотра ссылки.
да ты че, правда что ли? ну ладно, значит каким то чудом я сделал блюр который хавает 0 фпсты сам нихуя не знаешь
мне кажется у тебя мозг урезан, если ты не можешь документацию почитать и понять, что все там круто, и круче чем dx9дак ещё и dx11 блюрчик незя там урезаны шейдеры
struct PS_INPUT {
float4 pos : SV_POSITION;
float4 col : COLOR0;
float2 uv : TEXCOORD0;
};
Texture2D tex_source : TEX_SOURCE;
sampler tex_sampler;
cbuffer pixel_buffer : register(b0) {
float2 clamp_coordinats;
float texel_width;
};
static const float offsets[3] = { 0.0f, 1.3846153846f, 3.2307692308f };
static const float weights[3] = { 0.2270270270f, 0.3162162162f, 0.0702702703f };
float4 main(PS_INPUT input) : SV_Target {
float4 color = tex_source.Sample(tex_sampler, input.uv);
color *= weights[0];
for (int i = 1; i < 3; ++i) {
float left = clamp(input.uv.x - texel_width * offsets[i], clamp_coordinats.x, clamp_coordinats.y);
float right = clamp(input.uv.x + texel_width * offsets[i], clamp_coordinats.x, clamp_coordinats.y);
color += tex_source.Sample(tex_sampler, float2(left, input.uv.y)) * weights[i];
color += tex_source.Sample(tex_sampler, float2(right, input.uv.y)) * weights[i];
}
return color;
}
struct PS_INPUT {
float4 pos : SV_POSITION;
float4 col : COLOR0;
float2 uv : TEXCOORD0;
};
Texture2D tex_source : TEX_SOURCE;
sampler tex_sampler;
cbuffer pixel_buffer : register(b0) {
float2 clamp_coordinats;
float texel_height;
};
static const float offsets[3] = { 0.0f, 1.3846153846f, 3.2307692308f };
static const float weights[3] = { 0.2270270270f, 0.3162162162f, 0.0702702703f };
float4 main(PS_INPUT input) : SV_Target {
float4 color = tex_source.Sample(tex_sampler, input.uv);
color *= weights[0];
for (int i = 1; i < 3; ++i) {
float upper = clamp(input.uv.y - texel_height * offsets[i], clamp_coordinats.x, clamp_coordinats.y);
float bottom = clamp(input.uv.y + texel_height * offsets[i], clamp_coordinats.x, clamp_coordinats.y);
color += tex_source.Sample(tex_sampler, float2(input.uv.x, upper)) * weights[i];
color += tex_source.Sample(tex_sampler, float2(input.uv.x, bottom)) * weights[i];
}
return color;
}
Ну это же очень малая часть, так ещё и со статическим размером блюра, хотя +- нормМега хардово наверное накидать / найти шейдеры под дх11 блюр да...
blurX:struct PS_INPUT { float4 pos : SV_POSITION; float4 col : COLOR0; float2 uv : TEXCOORD0; }; Texture2D tex_source : TEX_SOURCE; sampler tex_sampler; cbuffer pixel_buffer : register(b0) { float2 clamp_coordinats; float texel_width; }; static const float offsets[3] = { 0.0f, 1.3846153846f, 3.2307692308f }; static const float weights[3] = { 0.2270270270f, 0.3162162162f, 0.0702702703f }; float4 main(PS_INPUT input) : SV_Target { float4 color = tex_source.Sample(tex_sampler, input.uv); color *= weights[0]; for (int i = 1; i < 3; ++i) { float left = clamp(input.uv.x - texel_width * offsets[i], clamp_coordinats.x, clamp_coordinats.y); float right = clamp(input.uv.x + texel_width * offsets[i], clamp_coordinats.x, clamp_coordinats.y); color += tex_source.Sample(tex_sampler, float2(left, input.uv.y)) * weights[i]; color += tex_source.Sample(tex_sampler, float2(right, input.uv.y)) * weights[i]; } return color; }
blurY:struct PS_INPUT { float4 pos : SV_POSITION; float4 col : COLOR0; float2 uv : TEXCOORD0; }; Texture2D tex_source : TEX_SOURCE; sampler tex_sampler; cbuffer pixel_buffer : register(b0) { float2 clamp_coordinats; float texel_height; }; static const float offsets[3] = { 0.0f, 1.3846153846f, 3.2307692308f }; static const float weights[3] = { 0.2270270270f, 0.3162162162f, 0.0702702703f }; float4 main(PS_INPUT input) : SV_Target { float4 color = tex_source.Sample(tex_sampler, input.uv); color *= weights[0]; for (int i = 1; i < 3; ++i) { float upper = clamp(input.uv.y - texel_height * offsets[i], clamp_coordinats.x, clamp_coordinats.y); float bottom = clamp(input.uv.y + texel_height * offsets[i], clamp_coordinats.x, clamp_coordinats.y); color += tex_source.Sample(tex_sampler, float2(input.uv.x, upper)) * weights[i]; color += tex_source.Sample(tex_sampler, float2(input.uv.x, bottom)) * weights[i]; } return color; }
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz