Сообщения

Сообщения за Август, 2010

RadialBlur HLSL Shader - 3 сэмпла

Решил добавить в игру простенький эффект радиальной размытия. В нете к счастью нашёл много информации, в результате скомпонованный шейдер получился следующего вида:


sampler ColorMapSampler : register(s0);

float4 radialBlur(float2 vTex:TEXCOORD0):COLOR
{
    float4 result=float4(1,0,0,1);
    //массив с сэмплами. тут их 3 для производительности
    float samples[3] = {0.05 ,0.03,  0.01};


Убрал баг с Alt-Tab, который возникал в полноэкранном режиме игры. Оказывается теперь XNA сама заботиться об восстановлении графического устройства после его потери. Я же думал что его нужно восстанавливать вручную по событию DeviceLost, что конечно неправильно.

Слава богу существует класс Trace который позволяет сделать быстрый лог того что происходит и значительно упростил отладку и поиск ошибки.