0030483: Visualization, Path Tracing - make Tile Size configurable
[occt.git] / src / Shaders / Shaders_RaytraceRender_fs.pxx
index 1d6e5bd..1fe09ac 100644 (file)
@@ -41,11 +41,11 @@ static const char Shaders_RaytraceRender_fs[] =
   "\n"
   "#ifdef ADAPTIVE_SAMPLING\n"
   "\n"
-  "  ivec2 aTileXY = imageLoad (uOffsetImage, ivec2 (aFragCoord.x / BLOCK_SIZE,\n"
-  "                                                  aFragCoord.y / BLOCK_SIZE)).xy;\n"
+  "  ivec2 aTileXY = imageLoad (uOffsetImage, aFragCoord / uTileSize).xy * uTileSize;\n"
+  "  if (aTileXY.x < 0) { discard; }\n"
   "\n"
-  "  ivec2 aRealBlockSize = ivec2 (min (uWinSizeX - aTileXY.x, BLOCK_SIZE),\n"
-  "                                min (uWinSizeY - aTileXY.y, BLOCK_SIZE));\n"
+  "  ivec2 aRealBlockSize = ivec2 (min (uWinSizeX - aTileXY.x, uTileSize.x),\n"
+  "                                min (uWinSizeY - aTileXY.y, uTileSize.y));\n"
   "\n"
   "  aFragCoord.x = aTileXY.x + (aFragCoord.x % aRealBlockSize.x);\n"
   "  aFragCoord.y = aTileXY.y + (aFragCoord.y % aRealBlockSize.y);\n"