Oh my, it worked. Clean up time

master
MitchellHansen 9 years ago
parent 699150de2d
commit d8f31d2e81

@ -334,14 +334,27 @@ int main(int argc, char* argv[])
// Work size, for each y line
size_t global_work_size[1] = { 10 };
status = clEnqueueAcquireGLObjects(commandQueue, 1, &frontBuffer, 0, 0, 0);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture);
glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture1"), 0);
// Draw the triangle
ourShader.Use();
glBindVertexArray(VAO);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0);
glBindVertexArray(0);
glFinish();
status = clEnqueueAcquireGLObjects(commandQueue, 1, &frontBuffer, 0, 0, 0);
status = clEnqueueNDRangeKernel(commandQueue, compute_kernel, 1, NULL, global_work_size, NULL, 0, NULL, NULL);
glFinish();
//status = clEnqueueReadBuffer(commandQueue, frontBuffer, CL_TRUE, 0, GRID_WIDTH * GRID_HEIGHT * 4 * sizeof(unsigned char), (void*)pixel_array, 0, NULL, NULL);
status = clEnqueueReleaseGLObjects(commandQueue, 1, &frontBuffer, 0, NULL, NULL);
glFinish();
clFinish(commandQueue);
// ======================================= Rendering Shtuff =================================================
@ -349,15 +362,7 @@ int main(int argc, char* argv[])
// Render
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture);
glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture1"), 0);
// Draw the triangle
ourShader.Use();
glBindVertexArray(VAO);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0);
glBindVertexArray(0);
// Swap the screen buffers
glfwSwapBuffers(gl_window);

@ -4,22 +4,18 @@ __kernel void conway_compute(__write_only image2d_t front_grid, __global int* nu
//int width = *grid_width;
//int height = grid_height;
int2 pixelcoord = (int2) (get_global_id(0), get_global_id(1));
//if (pixelcoord.x < width && pixelcoord.y < height)
//{
//float4 pixel = read_imagef(image1, sampler, (int2)(pixelcoord.x, pixelcoord.y));
float4 black = (float4)(0,0,0,0);
for (int i = 0; i < 90000; i ++){
int2 pixelcoord = (int2) (i % *grid_width, i / *grid_height);
//if (pixelcoord.x < width && pixelcoord.y < height)
//{
//float4 pixel = read_imagef(image1, sampler, (int2)(pixelcoord.x, pixelcoord.y));
int4 black = (int4)(0,0,0,0);
// write_imagef(front_grid, pixelcoord, black);
//write_imagef(front_grid, pixelcoord, black);
write_imagei(front_grid, pixelcoord, black);
int num = *grid_width * *grid_height * 4;
for (int i = 0; i < num ; i += 4){
write_imagef(front_grid, pixelcoord, black);
//
}
}
//}
}
Loading…
Cancel
Save