48 const float xf = co[0] *
float(res[0]) - 0.5f;
49 const float yf = co[1] *
float(res[1]) - 0.5f;
50 const float zf = co[2] *
float(res[2]) - 0.5f;
59 _clamp(
y, 0, res[1] - 1) * res[0],
60 _clamp(
y + 1, 0, res[1] - 1) * res[0],
63 _clamp(
z, 0, res[2] - 1) * res[0] * res[1],
64 _clamp(
z + 1, 0, res[2] - 1) * res[0] * res[1],
67 const float dx = xf -
float(
x);
68 const float dy = yf -
float(
y);
69 const float dz = zf -
float(
z);
71 const float u[2] = {1.0f - dx, dx};
72 const float v[2] = {1.0f - dy, dy};
73 const float w[2] = {1.0f - dz, dz};
76 (
v[0] * (u[0] *
data[xc[0] + yc[0] + zc[0]] + u[1] *
data[xc[1] + yc[0] + zc[0]]) +
77 v[1] * (u[0] *
data[xc[0] + yc[1] + zc[0]] + u[1] *
data[xc[1] + yc[1] + zc[0]])) +
79 (
v[0] * (u[0] *
data[xc[0] + yc[0] + zc[1]] + u[1] *
data[xc[1] + yc[0] + zc[1]]) +
80 v[1] * (u[0] *
data[xc[0] + yc[1] + zc[1]] + u[1] *
data[xc[1] + yc[1] + zc[1]]));