summaryrefslogtreecommitdiffstats
path: root/cuda/3d
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2021-01-22 11:48:32 +0100
committerWillem Jan Palenstijn <wjp@usecode.org>2021-01-22 11:48:32 +0100
commitc20e4b3fe683fa27ab3dcba03a3f5cdfb9b8db0f (patch)
tree4eb30596204a4571417270b969e9a7ae80b6d6e6 /cuda/3d
parent74f822299c0292a77a0dfdf79a8cee4a2d4b6c1d (diff)
downloadastra-c20e4b3fe683fa27ab3dcba03a3f5cdfb9b8db0f.tar.gz
astra-c20e4b3fe683fa27ab3dcba03a3f5cdfb9b8db0f.tar.bz2
astra-c20e4b3fe683fa27ab3dcba03a3f5cdfb9b8db0f.tar.xz
astra-c20e4b3fe683fa27ab3dcba03a3f5cdfb9b8db0f.zip
Fix supersampling version of cone_bp and add test
Diffstat (limited to 'cuda/3d')
-rw-r--r--cuda/3d/cone_bp.cu8
1 files changed, 4 insertions, 4 deletions
diff --git a/cuda/3d/cone_bp.cu b/cuda/3d/cone_bp.cu
index df1e19f..3525eb4 100644
--- a/cuda/3d/cone_bp.cu
+++ b/cuda/3d/cone_bp.cu
@@ -213,15 +213,15 @@ __global__ void dev_cone_BP_SS(void* D_volData, unsigned int volPitch, int start
float fZs = fZ;
for (int iSubZ = 0; iSubZ < iRaysPerVoxelDim; ++iSubZ) {
- const float fUNum = fCu.w + fX * fCu.x + fY * fCu.y + fZ * fCu.z;
- const float fVNum = fCv.w + fX * fCv.x + fY * fCv.y + fZ * fCv.z;
- const float fDen = fCd.w + fX * fCd.x + fY * fCd.y + fZ * fCd.z;
+ const float fUNum = fCu.w + fXs * fCu.x + fYs * fCu.y + fZs * fCu.z;
+ const float fVNum = fCv.w + fXs * fCv.x + fYs * fCv.y + fZs * fCv.z;
+ const float fDen = fCd.w + fXs * fCd.x + fYs * fCd.y + fZs * fCd.z;
const float fr = __fdividef(1.0f, fDen);
const float fU = fUNum * fr;
const float fV = fVNum * fr;
- fVal += tex3D(gT_coneProjTexture, fU, fV, fAngle) * fr;
+ fVal += tex3D(gT_coneProjTexture, fU, fAngle, fV) * fr * fr;
fZs += fSubStep;
}