Closed davepagurek closed 4 months ago
1.9.3
All
ortho()
This is due to ortho() using the _renderer to get its width and height: https://github.com/processing/p5.js/blob/f62fc6d6c2725b144ba1fd138ad7658dc1457590/src/webgl/p5.Camera.js#L2242-L2246
_renderer
p5.FramebufferCamera has a this.fbo property, so probably in ortho every instance of _renderer should be replaced with (this.fbo || this._renderer).
p5.FramebufferCamera
this.fbo
ortho
(this.fbo || this._renderer)
let fbo let fboCam function setup() { createCanvas(400, 400, WEBGL); fbo = createFramebuffer({ width: 200, height: 400 }) push() fboCam = fbo.createCamera() pop() fboCam.ortho() } function draw() { background(220); fbo.draw(() => { setCamera(fboCam) rectMode(CENTER) rect(0, 0, fbo.width, fbo.height) }) imageMode(CENTER) image(fbo, 0, 0) }
Live: https://editor.p5js.org/davepagurek/sketches/s2u8gyUSb
Actual behaviour: the framebuffer has a white rectangle 1/4 of the width of the main canvas instead of 1/2:
Expected behaviour: the framebuffer has a white rectangle half the width of the main canvas
Most appropriate sub-area of p5.js?
p5.js version
1.9.3
Web browser and version
All
Operating system
All
Steps to reproduce this
Steps:
ortho()
on the cameraThis is due to
ortho()
using the_renderer
to get its width and height: https://github.com/processing/p5.js/blob/f62fc6d6c2725b144ba1fd138ad7658dc1457590/src/webgl/p5.Camera.js#L2242-L2246p5.FramebufferCamera
has athis.fbo
property, so probably inortho
every instance of_renderer
should be replaced with(this.fbo || this._renderer)
.Snippet:
Live: https://editor.p5js.org/davepagurek/sketches/s2u8gyUSb
Actual behaviour: the framebuffer has a white rectangle 1/4 of the width of the main canvas instead of 1/2:
Expected behaviour: the framebuffer has a white rectangle half the width of the main canvas