- From: Ashley Gullen <ashley@scirra.com>
- Date: Thu, 29 Mar 2012 00:38:43 +0100
On 28 March 2012 22:41, Ian Hickson <ian at hixie.ch> wrote: > > On Sat, 29 Oct 2011, Ashley Gullen wrote: > > > > I had a quick go with setting ctx.mozImageSmoothingEnabled = false. It > > works great with drawImage. However it does not appear to affect > > repeated patterns. This makes for quite a strange effect where the > > game's sprites are pixellated but the tiled backgrounds are bilinear > > filtered. So it's half way there. > > This matches what the spec has done; you can make it also affect patterns > if you like by first drawing the image scaled to another canvas and then > using that as the pattern (so the pattern doesn't have to be scaled). > > If you just have everything scaled, though, you might be better off just > drawing everything to the canvas without any scaling and then just scaling > the whole thing once per frame, either by stretching the canvas and > relying on CSS to turn off smoothing, or by using drawImage(). Why would anyone want to turn off smoothing for just drawImage and not repeat patterns? Our games use repeat patterns to draw tiled textures as a quicker way to render a grid of drawImage, so why not make them work the same? If I wasn't clear, in the quoted post I thought the fact mozImageSmoothingEnabled did not affect repeat patterns was a bug. IMO the smoothing property should affect everything (perhaps even the aliased lines request that was brought up). Things like a retro pixel-style game will want a simple option to deliberately alias/nearest-neighbour everything on the canvas, and having the smoothing option affect some things but not others seems to just be an inconvenience. BTW: - have you got a link to the spec including the smoothing property? can't seem to find it - don't get me wrong, this is great work, I'm just throwing in my thoughts on the changes! Ashley Gullen Scirra.com
Received on Wednesday, 28 March 2012 16:38:43 UTC