+1 Having matrix manipulation functions on ArrayBuffers that were implemented at a lower, more optimised level would be awesome and would open up all sorts of app opportunities.
roBman On Thu, 20 Sep 2012 22:45:29 +0000 (UTC) Ian Hickson <i...@hixie.ch> wrote: > On Mon, 23 Apr 2012, Tyler Larson wrote: > > > > Looping over every pixel in JavaScript is slow. Many cool things > > could be taken care of much faster if the canvas had some form of > > matrix manipulations built in. > > > > All of the pixels could have one transformation operation defined > > and all of the pixels could be operated on at once in something > > lower level. > > > > It could look like this... > > > > context.transformMatrix([0.5,0.5,0.5,0,0, > > 0.5,0.5,0.5,0,0, > > 0.5,0.5,0.5,0,0, > > 0,0,0,1,0, > > 0,0,0,0,1]); > > > > It's far simpler than looping over an array of pixels and picking > > out the values of each color. > > > > Other graphics systems have ways of doing this already. You can > > easily find sample tutorials on how to create and transform > > matrixes. > > > > In some languages they have matrix objects that have methods for > > even easier manipulation of these transformations but I'm cool > > without this if it is easier. > > It seems like a reasonable suggestion, but since the pixel data is > available as an ArrayBuffer, it seems like the more reasonable thing > to do is to provide generic ArrayBuffer manipulation routines. > > I recommend raising this as feedback on the ArrayBuffer spec. >