Largest possible rendering with Jitter (GL)


    Jun 27 2017 | 1:00 pm
    Hi,
    I would like to make a large print out of a (complex) GL scene.
    So far, the largest dimensions I could get is 8192x8192 px by using a jit.world with size = 4096x406 and high_res attribute = 1... using a reaaally simple demo patch.
    Still the behaviour is unstable a crash happen quite often, even with that single-gridshape patch.
    Does anyone have any advice to increase rendering size and/or stability ?
    Can one apply some defer mode on jit.world's internal metro ?
    Any system to make multiple pass rendering (with different jit.gl.camera) ?
    I don't need to have the jit.window visible (if this could improve the rendering or stability), although a small preview would obviously be welcome...
    Anyone lucky with this ?
    Vincent

    • Jun 27 2017 | 6:13 pm
      i would try drawing everything with jit.gl.node @capture 1 @adapt 0 @dim BIGX BIGY, and keeping your jit.world window at a reasonable size.
      send the gl.node capture output to a jit.matrix for export to image.
    • Jun 27 2017 | 9:17 pm
      hi Rob,
      thanks, I did try that too but I meet the same ceiling dimensions of about 8200x8200 px.
      At some point this might be due to the GPU limits, as I end up getting the following errors if I increase the size beyond these dimensions :
      jit.gl.gridshape: jit.gl.mesh: unbinding vertex array: GL Error: Invalid Framebuffer Operation
      jit.gl.readback: error entering FBO: GL Error: Invalid Framebuffer Operation
      That is also why I was talking about multi-pass rendering, but I guess that this kind of system somehow has to be coded at some point.
      Anyone did that kind of thing ?
    • Jun 28 2017 | 2:18 pm
      Perhaps you're hitting the maximum buffer dimensions supported by the graphics card.
      It's possible to capture higher resolutions by tiling: e.g. capturing 3x3 tiles of 8000x8000 to get a 24000x24000 image. The trick is to get the projection matrices for the jit.gl.camera right for each tile -- you'd want to use jit.gl.camera @projection_mode frustum and set the frustum values accordingly: the left,right,top,bottom values of the frustum correspond to the positions of the near plane, so you can just figure out these to create a tiled image.
      Practice at low resolutions first!
    • Jun 28 2017 | 3:27 pm
      (and be careful with things like line and point sizes, and sometimes text, which are resolution-dependent)
    • Jun 28 2017 | 7:36 pm
      thanks Graham for the input... that's precisely what I am working at now.
      I am getting good results for a simple scene (did assemble a 48000x48000px so far, but I guess there should not be limitation with this technique apart from your image editor ability to glue the pieces).
      Things get a little more trickier when working on "real life" patchers with scenes using multiple cameras, feedback, etc.
      I hoped someone would have already come up with a neat ready-made package for the purpose ;)