aboutsummaryrefslogtreecommitdiff
path: root/template/streamline.mako
diff options
context:
space:
mode:
authorAdrian Kummerlaender2020-06-19 21:30:34 +0200
committerAdrian Kummerlaender2020-06-19 21:30:34 +0200
commit621dec0f2b7a982c958cce4d7baa4ccd3994606a (patch)
tree70d5e43ee78e118594c61986fa6980e893dc229e /template/streamline.mako
parentbe7de4a18bdfd89fbd1fdc852d170f68cdc65ba4 (diff)
downloadsymlbm_playground-621dec0f2b7a982c958cce4d7baa4ccd3994606a.tar
symlbm_playground-621dec0f2b7a982c958cce4d7baa4ccd3994606a.tar.gz
symlbm_playground-621dec0f2b7a982c958cce4d7baa4ccd3994606a.tar.bz2
symlbm_playground-621dec0f2b7a982c958cce4d7baa4ccd3994606a.tar.lz
symlbm_playground-621dec0f2b7a982c958cce4d7baa4ccd3994606a.tar.xz
symlbm_playground-621dec0f2b7a982c958cce4d7baa4ccd3994606a.tar.zst
symlbm_playground-621dec0f2b7a982c958cce4d7baa4ccd3994606a.zip
Use OpenCL buffer to access moments in streamline impl
Diffstat (limited to 'template/streamline.mako')
-rw-r--r--template/streamline.mako10
1 files changed, 4 insertions, 6 deletions
diff --git a/template/streamline.mako b/template/streamline.mako
index 73c80e2..adf5efd 100644
--- a/template/streamline.mako
+++ b/template/streamline.mako
@@ -31,7 +31,7 @@ float3 blueRedPalette(float x) {
);
}
-__kernel void draw_streamline(__global float4* moments,
+__kernel void draw_streamline(__global float* moments,
__global int* material,
__global float2* origins,
__read_write image2d_t streamlines)
@@ -40,14 +40,12 @@ __kernel void draw_streamline(__global float4* moments,
for (int i = 0; i < ${2*memory.size_x}; ++i) {
const unsigned int gid = round(particle.y)*${memory.size_x} + round(particle.x);
- const float4 moment = moments[gid];
-
if (material[gid] != 1) {
break;
}
- particle.x += 0.5 * moment.y / 0.01;
- particle.y += 0.5 * moment.z / 0.01;
+ particle.x += 0.5 * moments[${1*memory.volume}+gid] / 0.01;
+ particle.y += 0.5 * moments[${2*memory.volume}+gid] / 0.01;
const int2 pos = (int2)(round(particle.x), round(particle.y));
@@ -56,4 +54,4 @@ __kernel void draw_streamline(__global float4* moments,
write_imagef(streamlines, pos, color);
}
-}
+} \ No newline at end of file