Cycles uses this system, tiles have the same x/y/w/h coordinates as Blender expects. It’s just what you get when you make a grid of tiles with size scene.render.tile_x
and scene.render.tile_y
, starting from the bottom left corner. The order doesn’t matter.
Anyway, if you want to use the existing system you have, is there a specific reason you need to use a single begin_result
call instead of one per tile as you are already doing for writing the result without cancelling?
For border render, as far as I know you should consider it as if you’re rendering an image with a smaller size with a different camera projection matrix. Depending on the border Crop option Blender can copy the result into a bigger image after rendering, or not, but this should not affect the render engine.