diff --git a/applications/reconstruct/src/ilw/ilw.cpp b/applications/reconstruct/src/ilw/ilw.cpp index 464e1f57e688d328ccd345ee604156d96dbe4791..973a162e6249588c7a935fb4200ac750f275972f 100644 --- a/applications/reconstruct/src/ilw/ilw.cpp +++ b/applications/reconstruct/src/ilw/ilw.cpp @@ -58,7 +58,7 @@ bool ILW::process(ftl::rgbd::FrameSet &fs, cudaStream_t stream) { } _phase1(fs, win, stream); //for (int j=0; j<3; ++j) { - _phase2(fs, 0.5f, stream); + _phase2(fs, 0.4f, stream); //} // TODO: Break if no time left diff --git a/applications/reconstruct/src/ilw/ilw.cu b/applications/reconstruct/src/ilw/ilw.cu index 488ed7cb1ff894f8037514430e5d7291194865c8..96fd0727d992ec31ef3e79f7ccc6da827dbaf32b 100644 --- a/applications/reconstruct/src/ilw/ilw.cu +++ b/applications/reconstruct/src/ilw/ilw.cu @@ -163,12 +163,12 @@ __global__ void move_points_kernel( for (int v=-MOTION_RADIUS; v<=MOTION_RADIUS; ++v) { for (int u=-MOTION_RADIUS; u<=MOTION_RADIUS; ++u) { const float4 vecn = ev.tex2D((int)x+u,(int)y+v); - //const float3 pn = make_float3(p.tex2D((int)x+u,(int)y+v)); - //if (pn.x == MINF) continue; + const float3 pn = make_float3(p.tex2D((int)x+u,(int)y+v)); + if (pn.x == MINF) continue; - //const float s = ftl::cuda::spatialWeighting(pn, make_float3(world), 0.04f); - contrib += vecn.w; - vec += vecn.w * vecn; + const float s = ftl::cuda::spatialWeighting(pn, make_float3(world), 0.01f); + contrib += vecn.w * s; + vec += vecn.w * s * vecn; } }