Open vorg opened 3 years ago
A correct viewport will be set if not provided but rendering to a texture but scissor is not. https://github.com/pex-gl/pex-context/blob/master/index.js#L533
if (!cmd.viewport && cmd.pass && cmd.pass.opts.color) { let tex = null if (cmd.pass.opts.color[0]) { tex = cmd.pass.opts.color[0].texture || cmd.pass.opts.color[0] } if (cmd.pass.opts.depth) { tex = cmd.pass.opts.depth.texture || cmd.pass.opts.depth } if (tex) { newCmd.viewport = [0, 0, tex.width, tex.height] } }
Other things to test:
Should we apply parent scissor if child command overwrote it and we finished rendering? https://github.com/pex-gl/pex-context/blob/master/index.js#L1019
if (cmd.scissor !== state.scissor) { state.scissor = cmd.scissor gl.disable(gl.SCISSOR_TEST) }
Same for viewport https://github.com/pex-gl/pex-context/blob/master/index.js#L1029
if (cmd.viewport) { if (cmd.viewport !== state.viewport) { state.viewport = cmd.viewport gl.viewport( state.viewport[0], state.viewport[1], state.viewport[2], state.viewport[3] ) } }
A correct viewport will be set if not provided but rendering to a texture but scissor is not. https://github.com/pex-gl/pex-context/blob/master/index.js#L533
Other things to test:
Scissor and viewport stacking in subcommands
Should we apply parent scissor if child command overwrote it and we finished rendering? https://github.com/pex-gl/pex-context/blob/master/index.js#L1019
Same for viewport https://github.com/pex-gl/pex-context/blob/master/index.js#L1029