Commit f3cba575 authored by Andrey Filippov's avatar Andrey Filippov

Seems to fix textures near the edges

parent 0c14826c
...@@ -271,20 +271,38 @@ def printTextureBlend(transform_size): ...@@ -271,20 +271,38 @@ def printTextureBlend(transform_size):
a *= blend1d[ts2m1 - i] a *= blend1d[ts2m1 - i]
alphabBlend[m][indx] = a; alphabBlend[m][indx] = a;
floats_in_line=8 # 16 #8 floats_in_line0=8 # 16 #8
segment_len = transform_size*transform_size//2
print("__constant__ float textureBlend[8][%d] = {"%(ts2*ts2)) print("__constant__ float textureBlend[8][%d] = {"%(segment_len)) #32
# only for transform_size == 8
for m, blend in enumerate (alphabBlend): for m, blend in enumerate (alphabBlend):
for i in range (ts2 * ts2):
for i in range (segment_len):
if m in (0,1):
x = 4 + (i % 8)
y = 4 + (i // 8)
elif m in (2,3):
x = 8 + (i % 4)
y = 4 + (i // 4)
elif m in (4,5):
x = 4 + (i % 8)
y = 8 + (i // 8)
elif m in (6,7):
x = 4 + (i % 4)
y = 4 + (i // 4)
indx = x + 16 * y
floats_in_line = floats_in_line0
if ((m >>1) & 1) !=0:
floats_in_line = floats_in_line0 // 2
if ((i % floats_in_line) == 0): if ((i % floats_in_line) == 0):
print(" ",end="") print(" ",end="")
if (i == 0) : if (i == 0) :
print("{",end="") print("{",end="")
else: else:
print(" ",end="") print(" ",end="")
print("%ff"%(blend[i]), end ="") print("%ff"%(blend[indx]), end ="")
if (((i + 1) % floats_in_line) == 0): if (((i + 1) % floats_in_line) == 0):
if (i == (ts2 * ts2 -1)): if (i == (segment_len -1)):
print("}",end="") print("}",end="")
else: else:
print(",") print(",")
...@@ -294,8 +312,8 @@ def printTextureBlend(transform_size): ...@@ -294,8 +312,8 @@ def printTextureBlend(transform_size):
print("};") print("};")
else: else:
print(",") print(",")
printTextureBlend(8)
printTextureBlend(8)
""" """
...@@ -438,263 +456,55 @@ __constant__ float LoG_corr[64]={ // modify if needed high-pass filter before co ...@@ -438,263 +456,55 @@ __constant__ float LoG_corr[64]={ // modify if needed high-pass filter before co
1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f,
1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f
}; };
__constant__ float textureBlend[8][256] = { __constant__ float textureBlend[8][32] = {
{0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, {0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f,
0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f,
0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f,
0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f,
0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f,
0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f,
0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f,
0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f,
0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f,
0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f,
0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f,
0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f,
0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f,
0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f},
0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, {0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.003867f, 0.033913f, 0.089431f, 0.161970f,
0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.002135f, 0.018725f, 0.049379f, 0.089431f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000810f, 0.007101f, 0.018725f, 0.033913f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000092f, 0.000810f, 0.002135f, 0.003867f},
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, {0.009607f, 0.084265f, 0.222215f, 0.402455f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.009607f, 0.084265f, 0.222215f, 0.402455f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.009607f, 0.084265f, 0.222215f, 0.402455f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.009607f, 0.084265f, 0.222215f, 0.402455f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.009607f, 0.084265f, 0.222215f, 0.402455f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.009607f, 0.084265f, 0.222215f, 0.402455f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.009607f, 0.084265f, 0.222215f, 0.402455f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.009607f, 0.084265f, 0.222215f, 0.402455f},
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, {0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000092f, 0.000810f, 0.002135f, 0.003867f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}, 0.000810f, 0.007101f, 0.018725f, 0.033913f,
{0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.002135f, 0.018725f, 0.049379f, 0.089431f,
0.009515f, 0.083456f, 0.220080f, 0.398588f, 0.591804f, 0.770313f, 0.906937f, 0.980878f, 0.003867f, 0.033913f, 0.089431f, 0.161970f},
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, {0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f,
0.008798f, 0.077165f, 0.203490f, 0.368542f, 0.547193f, 0.712245f, 0.838570f, 0.906937f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.007472f, 0.065540f, 0.172835f, 0.313023f, 0.464762f, 0.604950f, 0.712245f, 0.770313f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.005741f, 0.050352f, 0.132783f, 0.240485f, 0.357060f, 0.464762f, 0.547193f, 0.591804f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.003867f, 0.033913f, 0.089431f, 0.161970f, 0.240485f, 0.313023f, 0.368542f, 0.398588f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.002135f, 0.018725f, 0.049379f, 0.089431f, 0.132783f, 0.172835f, 0.203490f, 0.220080f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000810f, 0.007101f, 0.018725f, 0.033913f, 0.050352f, 0.065540f, 0.077165f, 0.083456f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000092f, 0.000810f, 0.002135f, 0.003867f, 0.005741f, 0.007472f, 0.008798f, 0.009515f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f},
{0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.084265f, 0.222215f, 0.402455f, 0.597545f, 0.777785f, 0.915735f, 0.990393f},
{0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000092f, 0.000810f, 0.002135f, 0.003867f, 0.005741f, 0.007472f, 0.008798f, 0.009515f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000810f, 0.007101f, 0.018725f, 0.033913f, 0.050352f, 0.065540f, 0.077165f, 0.083456f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.002135f, 0.018725f, 0.049379f, 0.089431f, 0.132783f, 0.172835f, 0.203490f, 0.220080f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.003867f, 0.033913f, 0.089431f, 0.161970f, 0.240485f, 0.313023f, 0.368542f, 0.398588f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.005741f, 0.050352f, 0.132783f, 0.240485f, 0.357060f, 0.464762f, 0.547193f, 0.591804f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.007472f, 0.065540f, 0.172835f, 0.313023f, 0.464762f, 0.604950f, 0.712245f, 0.770313f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.008798f, 0.077165f, 0.203490f, 0.368542f, 0.547193f, 0.712245f, 0.838570f, 0.906937f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009515f, 0.083456f, 0.220080f, 0.398588f, 0.591804f, 0.770313f, 0.906937f, 0.980878f},
{0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f,
0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f, 0.009607f,
0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f,
0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f, 0.084265f,
0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f,
0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.222215f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f},
0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, {0.003867f, 0.002135f, 0.000810f, 0.000092f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.402455f, 0.033913f, 0.018725f, 0.007101f, 0.000810f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.089431f, 0.049379f, 0.018725f, 0.002135f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.597545f, 0.161970f, 0.089431f, 0.033913f, 0.003867f, 0.000000f, 0.000000f, 0.000000f, 0.000000f},
0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, {0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.777785f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.915735f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f, 0.990393f}, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
{0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.402455f, 0.222215f, 0.084265f, 0.009607f},
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, {0.161970f, 0.089431f, 0.033913f, 0.003867f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.089431f, 0.049379f, 0.018725f, 0.002135f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.033913f, 0.018725f, 0.007101f, 0.000810f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.003867f, 0.002135f, 0.000810f, 0.000092f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}};
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009515f, 0.008798f, 0.007472f, 0.005741f, 0.003867f, 0.002135f, 0.000810f, 0.000092f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.083456f, 0.077165f, 0.065540f, 0.050352f, 0.033913f, 0.018725f, 0.007101f, 0.000810f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.220080f, 0.203490f, 0.172835f, 0.132783f, 0.089431f, 0.049379f, 0.018725f, 0.002135f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.398588f, 0.368542f, 0.313023f, 0.240485f, 0.161970f, 0.089431f, 0.033913f, 0.003867f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.591804f, 0.547193f, 0.464762f, 0.357060f, 0.240485f, 0.132783f, 0.050352f, 0.005741f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.770313f, 0.712245f, 0.604950f, 0.464762f, 0.313023f, 0.172835f, 0.065540f, 0.007472f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.906937f, 0.838570f, 0.712245f, 0.547193f, 0.368542f, 0.203490f, 0.077165f, 0.008798f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.980878f, 0.906937f, 0.770313f, 0.591804f, 0.398588f, 0.220080f, 0.083456f, 0.009515f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f},
{0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.990393f, 0.915735f, 0.777785f, 0.597545f, 0.402455f, 0.222215f, 0.084265f, 0.009607f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f},
{0.980878f, 0.906937f, 0.770313f, 0.591804f, 0.398588f, 0.220080f, 0.083456f, 0.009515f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.906937f, 0.838570f, 0.712245f, 0.547193f, 0.368542f, 0.203490f, 0.077165f, 0.008798f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.770313f, 0.712245f, 0.604950f, 0.464762f, 0.313023f, 0.172835f, 0.065540f, 0.007472f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.591804f, 0.547193f, 0.464762f, 0.357060f, 0.240485f, 0.132783f, 0.050352f, 0.005741f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.398588f, 0.368542f, 0.313023f, 0.240485f, 0.161970f, 0.089431f, 0.033913f, 0.003867f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.220080f, 0.203490f, 0.172835f, 0.132783f, 0.089431f, 0.049379f, 0.018725f, 0.002135f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.083456f, 0.077165f, 0.065540f, 0.050352f, 0.033913f, 0.018725f, 0.007101f, 0.000810f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.009515f, 0.008798f, 0.007472f, 0.005741f, 0.003867f, 0.002135f, 0.000810f, 0.000092f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}};
__constant__ int pairs_offsets[]= {0, 0, 0, 1, 4, 10, 20, 35, 56, 84, 120, 165, 220, 286, 364, 455, 560, 680}; __constant__ int pairs_offsets[]= {0, 0, 0, 1, 4, 10, 20, 35, 56, 84, 120, 165, 220, 286, 364, 455, 560, 680};
// {pair_start, pair_end, pair_length} // {pair_start, pair_end, pair_length}
...@@ -3765,17 +3575,44 @@ extern "C" __global__ void textures_accumulate( // (8,4,1) (N,1,1) ...@@ -3765,17 +3575,44 @@ extern "C" __global__ void textures_accumulate( // (8,4,1) (N,1,1)
float avg_val = texture_averaging[0]; float avg_val = texture_averaging[0];
// now add scale average value for each missing direction // now add scale average value for each missing direction
for (int idir = 0; idir < 8; idir ++) if ((alpha_mode & (1 << idir)) == 0) { // no tile in this direction for (int idir = 0; idir < 8; idir ++) if ((alpha_mode & (1 << idir)) == 0) { // no tile in this direction
for (int pass = 0; pass < 8; pass ++) { /* */
int row = pass * 2 + (threadIdx.y >> 1); int row, col;
int col = ((threadIdx.y & 1) << 3) + threadIdx.x; switch (idir >> 1) {
case 0:
row = 4 + threadIdx.y;
col = 4 + threadIdx.x;
break;
case 1:
row = 4 + (threadIdx.x >> 2) + (threadIdx.y << 1);
col = 8 + (threadIdx.x & 3);
break;
case 2:
row = 8 + threadIdx.y;
col = 4 + threadIdx.x;
break;
case 3:
row = 4 + (threadIdx.x >> 2) + (threadIdx.y << 1);
col = 4 + (threadIdx.x & 3);
break;
}
int i = row * DTT_SIZE21 + col; int i = row * DTT_SIZE21 + col;
int gi = row * DTT_SIZE2 + col; float * rgba_i = rgbaw + i;
// always copy 3 (1) colors + alpha
*(rgba_i + ncol * (DTT_SIZE2 * DTT_SIZE21)) += textureBlend[idir][(threadIdx.y <<3) + threadIdx.x] * avg_val;
/*
for (int pass = 0; pass < 8; pass ++) {
int row1 = pass * 2 + (threadIdx.y >> 1);
int col1 = ((threadIdx.y & 1) << 3) + threadIdx.x;
int i = row1 * DTT_SIZE21 + col1;
int gi = row1 * DTT_SIZE2 + col1;
float * rgba_i = rgbaw + i; float * rgba_i = rgbaw + i;
// always copy 3 (1) colors + alpha // always copy 3 (1) colors + alpha
*(rgba_i + ncol * (DTT_SIZE2 * DTT_SIZE21)) += textureBlend[idir][gi] * avg_val; *(rgba_i + ncol * (DTT_SIZE2 * DTT_SIZE21)) += textureBlend[idir][gi] * avg_val;
} }
*/
} }
} }
// __syncthreads();
} }
int slice_stride = texture_rbg_stride * (*(woi + 3) + 1) * DTT_SIZE; // offset to the next color int slice_stride = texture_rbg_stride * (*(woi + 3) + 1) * DTT_SIZE; // offset to the next color
int tileY = tile_num / tilesx; // TILES-X; // slow, but 1 per tile int tileY = tile_num / tilesx; // TILES-X; // slow, but 1 per tile
...@@ -3840,15 +3677,42 @@ extern "C" __global__ void textures_accumulate( // (8,4,1) (N,1,1) ...@@ -3840,15 +3677,42 @@ extern "C" __global__ void textures_accumulate( // (8,4,1) (N,1,1)
// will re-use ports_rgb_shared[], if needed - average here for combined texture (see texture_averaging[sum_index] above) // will re-use ports_rgb_shared[], if needed - average here for combined texture (see texture_averaging[sum_index] above)
float avg_val = ports_rgb_shared[ncol * num_cams + ncam]; // texture_averaging[0]; float avg_val = ports_rgb_shared[ncol * num_cams + ncam]; // texture_averaging[0];
for (int idir = 0; idir < 8; idir ++) if ((alpha_mode & (1 << idir)) == 0) { // no tile in this direction for (int idir = 0; idir < 8; idir ++) if ((alpha_mode & (1 << idir)) == 0) { // no tile in this direction
for (int pass = 0; pass < 8; pass ++) { /* */
int row = pass * 2 + (threadIdx.y >> 1); int row, col;
int col = ((threadIdx.y & 1) << 3) + threadIdx.x; switch (idir >> 1) {
case 0:
row = 4 + threadIdx.y;
col = 4 + threadIdx.x;
break;
case 1:
row = 4 + (threadIdx.x >> 2) + (threadIdx.y << 1);
col = 8 + (threadIdx.x & 3);
break;
case 2:
row = 8 + threadIdx.y;
col = 4 + threadIdx.x;
break;
case 3:
row = 4 + (threadIdx.x >> 2) + (threadIdx.y << 1);
col = 4 + (threadIdx.x & 3);
break;
}
int i = row * DTT_SIZE21 + col; int i = row * DTT_SIZE21 + col;
int gi = row * DTT_SIZE2 + col; float * mclt_dst_i = mclt_dst_ncam + i;
int gi = (threadIdx.y <<3) + threadIdx.x;
*(mclt_dst_i + ncol * (MCLT_UNION_LEN)) += textureBlend[alpha_mode][gi] * avg_val;
/*
for (int pass = 0; pass < 8; pass ++) {
int row1 = pass * 2 + (threadIdx.y >> 1);
int col1 = ((threadIdx.y & 1) << 3) + threadIdx.x;
int i = row1 * DTT_SIZE21 + col1;
int gi = row1 * DTT_SIZE2 + col1;
float * mclt_dst_i = mclt_dst_ncam + i; float * mclt_dst_i = mclt_dst_ncam + i;
*(mclt_dst_i + ncol * (MCLT_UNION_LEN)) += textureBlend[alpha_mode][gi] * avg_val; *(mclt_dst_i + ncol * (MCLT_UNION_LEN)) += textureBlend[alpha_mode][gi] * avg_val;
} }
*/
} }
__syncthreads(); // needed?
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment