Unfortunately render targets in WebGL 1 cannot have Anti Alias, although WebGL 2.0 will do.
Have you tried using app.graphicsDevice.canvas.toDataURL(), here is script example, that will download screenshot when space key is hit:
pc.script.create('screen', function (app) {
var Screen = function (entity) {
this.entity = entity;
};
Screen.prototype = {
initialize: function () {
window.addEventListener('keydown', function(evt) {
if (evt.keyCode !== 32)
return;
app.once('frameend', function() {
var image = app.graphicsDevice.canvas.toDataURL('image/png');
window.location.href = image.replace('image/png', 'image/octet-stream');
});
}, false);
}
};
return Screen;
});
As it is done in frameend event, which is straight after rendering loop in sync manner, it does not need preserve drawing buffer check.
If you want to do screenshot in any other time of rendering or in async or before render loop, then you will need preserve draw buffer flag.