Skip to content

Commit bc34515

Browse files
prevent hue shift from the kernel
1 parent e8e41f4 commit bc34515

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

examples_tests/49.ComputeFFT/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ int main()
443443
video::IGPUImage::SCreationParams imageParams;
444444
imageParams.flags = static_cast<asset::IImage::E_CREATE_FLAGS>(0u);
445445
imageParams.type = asset::IImage::ET_2D;
446-
imageParams.format = asset::EF_R16G16_SFLOAT;
446+
imageParams.format = useHalfFloats ? EF_R16G16_SFLOAT:EF_R32G32_SFLOAT;
447447
imageParams.extent = { paddedKerDim.width,paddedKerDim.height,1u};
448448
imageParams.mipLevels = 1u;
449449
imageParams.arrayLayers = 1u;
@@ -453,7 +453,7 @@ int main()
453453
viewParams.flags = static_cast<video::IGPUImageView::E_CREATE_FLAGS>(0u);
454454
viewParams.image = driver->createGPUImageOnDedMem(std::move(imageParams),driver->getDeviceLocalGPUMemoryReqs());
455455
viewParams.viewType = video::IGPUImageView::ET_2D;
456-
viewParams.format = asset::EF_R16G16_SFLOAT;
456+
viewParams.format = useHalfFloats ? EF_R16G16_SFLOAT:EF_R32G32_SFLOAT;
457457
viewParams.components = {};
458458
viewParams.subresourceRange = {};
459459
viewParams.subresourceRange.levelCount = 1u;

examples_tests/49.ComputeFFT/normalization.comp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,17 @@ layout(push_constant) uniform PushConstants
1515
uvec4 bitreverse_shift;
1616
} pc;
1717

18+
#include <nbl/builtin/glsl/colorspace/encodeCIEXYZ.glsl>
19+
1820
void main()
1921
{
2022
nbl_glsl_complex value = nbl_glsl_ext_FFT_storage_t_get(in_data[nbl_glsl_dot(gl_GlobalInvocationID,pc.strides.xyz)]);
2123

22-
const float power = abs(nbl_glsl_ext_FFT_storage_t_get(in_data[0]).x); // imaginary component will be 0
24+
// imaginary component will be 0, image shall be positive
25+
vec3 avg;
26+
for (uint i=0u; i<3u; i++)
27+
avg[i] = nbl_glsl_ext_FFT_storage_t_get(in_data[pc.strides.z*i]).x;
28+
const float power = (nbl_glsl_scRGBtoXYZ*avg).y;
2329

2430
const uvec2 coord = bitfieldReverse(gl_GlobalInvocationID.xy)>>pc.bitreverse_shift.xy;
2531
const nbl_glsl_complex shift = nbl_glsl_expImaginary(-nbl_glsl_PI*float(coord.x+coord.y));

0 commit comments

Comments
 (0)