mirror of
https://github.com/overte-org/overte.git
synced 2025-07-26 09:18:26 +02:00
Fix blur taps alignment issue
This commit is contained in:
parent
507718e08b
commit
6584f3d4fd
3 changed files with 7 additions and 3 deletions
|
@ -91,8 +91,12 @@ void BlurParams::setFilterGaussianTaps(int numHalfTaps, float sigma) {
|
||||||
weight = (float)exp(-offset*offset * inverseTwoSigmaSquared);
|
weight = (float)exp(-offset*offset * inverseTwoSigmaSquared);
|
||||||
params.filterTaps[i + 1].x = offset;
|
params.filterTaps[i + 1].x = offset;
|
||||||
params.filterTaps[i + 1].y = weight;
|
params.filterTaps[i + 1].y = weight;
|
||||||
|
params.filterTaps[i + 1].z = 0.0f;
|
||||||
|
params.filterTaps[i + 1].w = 0.0f;
|
||||||
params.filterTaps[i + 1 + numHalfTaps].x = -offset;
|
params.filterTaps[i + 1 + numHalfTaps].x = -offset;
|
||||||
params.filterTaps[i + 1 + numHalfTaps].y = weight;
|
params.filterTaps[i + 1 + numHalfTaps].y = weight;
|
||||||
|
params.filterTaps[i + 1 + numHalfTaps].z = 0.0f;
|
||||||
|
params.filterTaps[i + 1 + numHalfTaps].w = 0.0f;
|
||||||
totalWeight += 2 * weight;
|
totalWeight += 2 * weight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ public:
|
||||||
glm::vec4 linearDepthInfo{ 0.0f };
|
glm::vec4 linearDepthInfo{ 0.0f };
|
||||||
|
|
||||||
// Taps (offset, weight)
|
// Taps (offset, weight)
|
||||||
glm::vec2 filterTaps[BLUR_MAX_NUM_TAPS];
|
glm::vec4 filterTaps[BLUR_MAX_NUM_TAPS];
|
||||||
|
|
||||||
Params() {}
|
Params() {}
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,7 +18,7 @@ struct BlurParameters {
|
||||||
vec4 depthInfo;
|
vec4 depthInfo;
|
||||||
vec4 stereoInfo;
|
vec4 stereoInfo;
|
||||||
vec4 linearDepthInfo;
|
vec4 linearDepthInfo;
|
||||||
vec2 taps[BLUR_MAX_NUM_TAPS];
|
vec4 taps[BLUR_MAX_NUM_TAPS];
|
||||||
};
|
};
|
||||||
|
|
||||||
LAYOUT(binding=0) uniform blurParamsBuffer {
|
LAYOUT(binding=0) uniform blurParamsBuffer {
|
||||||
|
@ -46,7 +46,7 @@ float getOutputAlpha() {
|
||||||
}
|
}
|
||||||
|
|
||||||
vec2 getFilterTap(int index) {
|
vec2 getFilterTap(int index) {
|
||||||
return parameters.taps[index];
|
return parameters.taps[index].xy;
|
||||||
}
|
}
|
||||||
|
|
||||||
float getFilterTapOffset(vec2 tap) {
|
float getFilterTapOffset(vec2 tap) {
|
||||||
|
|
Loading…
Reference in a new issue