common.in 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. kernel void backproject_burst_{0} (
  2. {1}
  3. global float *volume,
  4. const sampler_t sampler,
  5. const int3 real_size,
  6. const float2 x_center,
  7. const float y_center,
  8. const float2 x_region,
  9. const float2 y_region,
  10. const float2 z_region,
  11. const float2 lamino_region,
  12. float sin_lamino,
  13. float cos_lamino,
  14. const float{2} sines,
  15. const float{2} cosines,
  16. const int cumulate)
  17. {{
  18. int idx = get_global_id (0);
  19. int idy = get_global_id (1);
  20. int idz = get_global_id (2);
  21. float result, tmp, tmp_x, tmp_y;
  22. float2 pixel;
  23. float3 voxel;
  24. if (idx < real_size.x && idy < real_size.y && idz < real_size.z) {{
  25. {3}
  26. if (cumulate) {{
  27. volume[idz * real_size.x * real_size.y + idy * real_size.x + idx] += result;
  28. }} else {{
  29. volume[idz * real_size.x * real_size.y + idy * real_size.x + idx] = result;
  30. }}
  31. }}
  32. }}