From 710c12067531e6e05280d081203aeb3b945669a9 Mon Sep 17 00:00:00 2001 From: Andreas Grois Date: Sat, 10 Mar 2018 13:46:12 +0100 Subject: Fix mirroring in png output Restrict starting value range to positive y-values, probably improving random quality --- BuddhaTest/src/BuddhaTest.cpp | 12 ++++++++++-- BuddhaTest/src/Helpers.cpp | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'BuddhaTest/src') diff --git a/BuddhaTest/src/BuddhaTest.cpp b/BuddhaTest/src/BuddhaTest.cpp index f8b9074..09a3cf1 100644 --- a/BuddhaTest/src/BuddhaTest.cpp +++ b/BuddhaTest/src/BuddhaTest.cpp @@ -21,6 +21,14 @@ int main() unsigned int orbitLengthGreen = 100; unsigned int orbitLengthBlue = 1000; + unsigned int localWorkgroupSizeX = 1024; + unsigned int localWorkgroupSizeY = 1; + unsigned int localWorkgroupSizeZ = 1; + + unsigned int globalWorkGroupSizeX = 1024; + unsigned int globalWorkGroupSizeY = 1; + unsigned int globalWorkGroupSizeZ = 1; + GLFWwindow* window; /* Initialize the library */ @@ -80,7 +88,7 @@ int main() // Create and compile our GLSL program from the shaders GLuint VertexAndFragmentShaders = Helpers::LoadShaders("Shaders/BuddhaVertex.glsl", "Shaders/BuddhaFragment.glsl"); //Do the same for the compute shader: - GLuint ComputeShader = Helpers::LoadComputeShader("Shaders/BuddhaCompute.glsl", 1024, 1, 1); + GLuint ComputeShader = Helpers::LoadComputeShader("Shaders/BuddhaCompute.glsl", localWorkgroupSizeX, localWorkgroupSizeY, localWorkgroupSizeZ); uint32_t iterationCount{0}; glUseProgram(ComputeShader); @@ -97,7 +105,7 @@ int main() glUseProgram(ComputeShader); //increase iterationCount, which is used for pseudo random generation glUniform1ui(iterationCountUniformHandle,++iterationCount); - glDispatchCompute(1024, 1, 1); + glDispatchCompute(globalWorkGroupSizeX, globalWorkGroupSizeY, globalWorkGroupSizeZ); //before reading the values in the ssbo, we need a memory barrier: glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT); //I hope this is the correct (and only required) bit diff --git a/BuddhaTest/src/Helpers.cpp b/BuddhaTest/src/Helpers.cpp index b092dc2..abe09fd 100644 --- a/BuddhaTest/src/Helpers.cpp +++ b/BuddhaTest/src/Helpers.cpp @@ -174,7 +174,7 @@ namespace Helpers } for(int i = 0; i < height/2;++i) { - for(int j = 0; j < width;++j) + for(int j = 0; j < width*3;++j) { png_byte average = (rows[i][j] + rows[height-i-1][j])/2; rows[i][j] = rows[height-i-1][j] = average; -- cgit v1.2.3