This commit is contained in:
2016-01-15 15:07:38 -08:00
parent 7b25b1e845
commit 08fd8b2398
3 changed files with 37 additions and 59 deletions

View File

@@ -1,8 +1,8 @@
__kernel void conway_compute(__write_only image2d_t front_image, __global unsigned char* back_image, __global int* num_workers, __global int* grid_width, __global int *grid_height)
__kernel void conway_compute(__write_only image2d_t front_image, __global char* back_image, __global int* num_workers, __global int* grid_width, __global int *grid_height)
{
float4 black = (float4)(1.0, 0.0, 0.0, 1.0);
float4 white = (float4)(0.0, 0.0, 1.0, 0.0);
float4 black = (float4)(.49, .68, .81, 1);
float4 white = (float4)(.49, .68, .71, .3);
// Caclulate the start and end range that this worker will be calculating
int data_length = *grid_width * *grid_height;
@@ -16,8 +16,6 @@ __kernel void conway_compute(__write_only image2d_t front_image, __global unsign
for (int i = start_range; i < end_range; i++){
unsigned char im = back_image[i];
int2 pixelcoord = (int2) (i % *grid_width, i / *grid_height);
// add all 8 blocks to neghbors
@@ -28,10 +26,10 @@ __kernel void conway_compute(__write_only image2d_t front_image, __global unsign
// Top right
neighbors += back_image[i - *grid_width + 1];
/// Right
// Right
neighbors += back_image[i + 1];
/// Bottom Right
// Bottom Right
neighbors += back_image[i + *grid_width + 1];
// Bottom
@@ -49,14 +47,13 @@ __kernel void conway_compute(__write_only image2d_t front_image, __global unsign
// push living status to the padded second char
//write_imagef(front_image, pixelcoord, black);
if (neighbors == 3 || (neighbors == 2 && back_image[i] == 1) || (i % 10) == 1){
write_imagef(front_image, pixelcoord, black);
}
else{
write_imagef(front_image, pixelcoord, black);
if (neighbors == 3 || (neighbors == 2 && back_image[i])){
write_imagef(front_image, pixelcoord, white);
}
//else
//write_imagei(front_image, pixelcoord, white);
}
}