<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: CanvasArrayBuffer and Canvas*Array</title>
	<atom:link href="http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/</link>
	<description>Words</description>
	<lastBuildDate>Tue, 11 Oct 2011 15:15:55 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<item>
		<title>By: Ilmari Heikkinen</title>
		<link>http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/comment-page-1/#comment-4937</link>
		<dc:creator>Ilmari Heikkinen</dc:creator>
		<pubDate>Tue, 17 Nov 2009 15:24:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=213#comment-4937</guid>
		<description>The example about overlapping arrays to a single buffer makes a case for having a byteStride for the WebGLArrays. I mean, what you&#039;d like to write is &quot;points[i*3] = foo; normals[i*3] = bar; texcoords[i*2] = qux;&quot; where points, normals and texcoords all point to the same ArrayBuffer. 

Well, what I&#039;d actually like to write is &quot;points[i] = vec3(1,2,3); normals[i] = vec3(1,2,3); texcoords[i] = vec2(1,2);&quot;, but that&#039;s orthogonal to byteStride.</description>
		<content:encoded><![CDATA[<p>The example about overlapping arrays to a single buffer makes a case for having a byteStride for the WebGLArrays. I mean, what you&#8217;d like to write is &#8220;points[i*3] = foo; normals[i*3] = bar; texcoords[i*2] = qux;&#8221; where points, normals and texcoords all point to the same ArrayBuffer. </p>
<p>Well, what I&#8217;d actually like to write is &#8220;points[i] = vec3(1,2,3); normals[i] = vec3(1,2,3); texcoords[i] = vec2(1,2);&#8221;, but that&#8217;s orthogonal to byteStride.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Boston</title>
		<link>http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/comment-page-1/#comment-4878</link>
		<dc:creator>James Boston</dc:creator>
		<pubDate>Sat, 14 Nov 2009 20:09:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=213#comment-4878</guid>
		<description>This will be a great help to c3dl developers. Thanks.</description>
		<content:encoded><![CDATA[<p>This will be a great help to c3dl developers. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Two big retrospective changes to the lessons - Learning WebGL</title>
		<link>http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/comment-page-1/#comment-4869</link>
		<dc:creator>Two big retrospective changes to the lessons - Learning WebGL</dc:creator>
		<pubDate>Sat, 14 Nov 2009 03:48:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=213#comment-4869</guid>
		<description>[...] was odd, given that the classes weren&#8217;t really canvas-related, but as Vladimir Vukićević pointed out the other day, the classes could be useful for JavaScript code that has nothing to do with WebGL. [...]</description>
		<content:encoded><![CDATA[<p>[...] was odd, given that the classes weren&#8217;t really canvas-related, but as Vladimir Vukićević pointed out the other day, the classes could be useful for JavaScript code that has nothing to do with WebGL. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Oster</title>
		<link>http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/comment-page-1/#comment-4835</link>
		<dc:creator>Jason Oster</dc:creator>
		<pubDate>Mon, 09 Nov 2009 19:07:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=213#comment-4835</guid>
		<description>I actually like the sound of this. One of my problems with the Canvas API (as a video game level editor author) is that using a canvas ImageData / CanvasPixelArray to fill a large pixel buffer with random pixels (like a complete SNES level will do) is much slower than it ought to be.  Filling up a &quot;CanvasUnsignedWordArray&quot; or whatever the unsigned 32-bit data type is, would be much faster than writing 4 bytes to a CanvasPixelArray per pixel.

Wherever the CanvasArrayBuffer API goes, I hope (please! please!) that it will also be usable directly with putImageData() and friends.</description>
		<content:encoded><![CDATA[<p>I actually like the sound of this. One of my problems with the Canvas API (as a video game level editor author) is that using a canvas ImageData / CanvasPixelArray to fill a large pixel buffer with random pixels (like a complete SNES level will do) is much slower than it ought to be.  Filling up a &#8220;CanvasUnsignedWordArray&#8221; or whatever the unsigned 32-bit data type is, would be much faster than writing 4 bytes to a CanvasPixelArray per pixel.</p>
<p>Wherever the CanvasArrayBuffer API goes, I hope (please! please!) that it will also be usable directly with putImageData() and friends.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WebGL around the net, 9 Nov 2009 - Learning WebGL</title>
		<link>http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/comment-page-1/#comment-4830</link>
		<dc:creator>WebGL around the net, 9 Nov 2009 - Learning WebGL</dc:creator>
		<pubDate>Mon, 09 Nov 2009 13:47:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=213#comment-4830</guid>
		<description>[...] Vukićević has posted a great article clarifying what CanvasArrayBuffers and the associated CanvasFloatArray, CanvasByteArray, and so on [...]</description>
		<content:encoded><![CDATA[<p>[...] Vukićević has posted a great article clarifying what CanvasArrayBuffers and the associated CanvasFloatArray, CanvasByteArray, and so on [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giles</title>
		<link>http://blog.vlad1.com/2009/11/06/canvasarraybuffer-and-canvasarray/comment-page-1/#comment-4829</link>
		<dc:creator>Giles</dc:creator>
		<pubDate>Mon, 09 Nov 2009 12:50:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=213#comment-4829</guid>
		<description>Vlad, 

Many thanks for the explanation, that clears up some discussion we&#039;ve been having on the WebGL forums: http://www.khronos.org/message_boards/viewtopic.php?f=45&amp;t=2163&amp;p=5404

However, as one of the guys in the forum said, it looks like there&#039;s still a little way to go in Minefield; if you run:

var f2 = new CanvasFloatArray([12.3, 23.4, 34.5]);
alert(f2[2]);

...the alert box says &quot;undefined&quot;.  It works as you&#039;d expect in Chrome.

(Happy to put in a bug report if that would help.)


Cheers,

Giles</description>
		<content:encoded><![CDATA[<p>Vlad, </p>
<p>Many thanks for the explanation, that clears up some discussion we&#8217;ve been having on the WebGL forums: <a href="http://www.khronos.org/message_boards/viewtopic.php?f=45&#038;t=2163&#038;p=5404" rel="nofollow">http://www.khronos.org/message_boards/viewtopic.php?f=45&#038;t=2163&#038;p=5404</a></p>
<p>However, as one of the guys in the forum said, it looks like there&#8217;s still a little way to go in Minefield; if you run:</p>
<p>var f2 = new CanvasFloatArray([12.3, 23.4, 34.5]);<br />
alert(f2[2]);</p>
<p>&#8230;the alert box says &#8220;undefined&#8221;.  It works as you&#8217;d expect in Chrome.</p>
<p>(Happy to put in a bug report if that would help.)</p>
<p>Cheers,</p>
<p>Giles</p>
]]></content:encoded>
	</item>
</channel>
</rss>
