<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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>Rozengain.com - Creative Technology Blog</title>
	<atom:link href="http://www.rozengain.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rozengain.com/blog</link>
	<description></description>
	<pubDate>Tue, 23 Feb 2010 17:03:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blender Exporter Updated: ActionScript Vectors Support (FP10)</title>
		<link>http://www.rozengain.com/blog/2010/02/23/blender-exporter-updated-actionscript-vectors-support-fp10/</link>
		<comments>http://www.rozengain.com/blog/2010/02/23/blender-exporter-updated-actionscript-vectors-support-fp10/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 17:03:02 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[3D]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Blender]]></category>

		<category><![CDATA[fp10]]></category>

		<category><![CDATA[Vector]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=520</guid>
		<description><![CDATA[Another update to the Blender to ActionScript exporter. I&#8217;ve added the option to export to ActionScript Vectors. This way you can use the exported data with native Flash Player 10 3D. The export is quite basic, there&#8217;s still stuff you have to do yourself. This is the data that is exported:

vertices
indices
texture coordinates
scaling
translation
rotation

This example source code [...]]]></description>
			<content:encoded><![CDATA[<p>Another update to the Blender to ActionScript exporter. I&#8217;ve added the option to export to ActionScript Vectors. This way you can use the exported data with native Flash Player 10 3D. The export is quite basic, there&#8217;s still stuff you have to do yourself. This is the data that is exported:</p>
<ul>
<li>vertices</li>
<li>indices</li>
<li>texture coordinates</li>
<li>scaling</li>
<li>translation</li>
<li>rotation</li>
</ul>
<p>This example source code is a quick &amp; dirty example of how it can be used:</p>
<pre>
<code>
package
{
	import __AS3__.vec.Vector;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Matrix3D;
	import flash.geom.PerspectiveProjection;
	import flash.geom.Utils3D;
	import flash.geom.Vector3D;

	public class TestScene extends Sprite
	{
		private var sphere : Sphere;
		private var pp : PerspectiveProjection;
		private var proj : Vector.&lt;Number&gt;;

		public function TestScene()
		{
			super();
			init();
		}
		private function init() : void
		{
			sphere = new Sphere();
			pp = new PerspectiveProjection();
			pp.fieldOfView = 45;
			proj = new Vector.&lt;Number&gt;();
			addEventListener(Event.ENTER_FRAME, draw);
		}
		private var ry:Number=0;
		private function draw(event:Event):void
		{
			var tr : Matrix3D = new Matrix3D();
			tr.appendRotation(ry++, Vector3D.Y_AXIS);
			tr.appendTranslation(10,14,70);
			tr.append(pp.toMatrix3D());

			Utils3D.projectVectors(tr, sphere.v, proj, sphere.u);
			graphics.clear();
			graphics.lineStyle(0.1, 0x000000 );
			graphics.drawTriangles(proj, sphere.i );
		}
	}
}
</code>
</pre>
<p>The updated exporter script can be downloaded from the usual location <a title="Blender to ActionScript Exporter Download" href="/blog/2008/01/02/export-your-blender-objects-straight-to-away3d-papervision3d-and-sandy/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2010/02/23/blender-exporter-updated-actionscript-vectors-support-fp10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Beginning WebGL step-by-step tutorial</title>
		<link>http://www.rozengain.com/blog/2010/02/22/beginning-webgl-step-by-step-tutorial/</link>
		<comments>http://www.rozengain.com/blog/2010/02/22/beginning-webgl-step-by-step-tutorial/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 14:15:18 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[3D]]></category>

		<category><![CDATA[WebGL]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[OpenGL ES]]></category>

		<category><![CDATA[Shaders]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=508</guid>
		<description><![CDATA[I&#8217;ve put together this very basic WebGL tutorial that takes you through the process of initialising WebGL, creating shaders, creating a triangle and then showing it on the screen as a one-off render. I haven&#8217;t used external JavaScript libraries like sylvester because I wanted this tutorial to be self-contained. Because I don&#8217;t apply translations or [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve put together this very basic WebGL tutorial that takes you through the process of initialising WebGL, creating shaders, creating a triangle and then showing it on the screen as a one-off render. I haven&#8217;t used external JavaScript libraries like <a title="Sylvester - vector and matrix math for JavaScript" href="http://sylvester.jcoglan.com/" target="_blank">sylvester</a> because I wanted this tutorial to be self-contained. Because I don&#8217;t apply translations or rotations there&#8217;s no need for further Matrix operations.</p>
<p>All functions calls link to the <a title="OpenGL ES Documentation" href="http://www.khronos.org/opengles/sdk/docs/man/" target="_blank">OpenGL ES documentation</a> for easy reference.</p>
<p>The source file for this tutorial can be found <a title="WebGL Tutorial" href="/files/webgl/tutorial/WebGLTutorial.html" target="_blank">here</a>.</p>
<p><code>&lt;!--<br />
Define a simple GLSL (OpenGL Shading Language) fragment shader.<br />
More info: <a title="GLSL Shading Language" href="http://en.wikipedia.org/wiki/GLSL" target="_blank">http://en.wikipedia.org/wiki/GLSL</a><br />
&#8211;&gt;<br />
&lt;script id=&#8221;shader-fs&#8221; type=&#8221;x-shader/x-fragment&#8221;&gt;<br />
void main(void) {<br />
gl_FragColor = vec4(0.6, 0.0, 0.0, 1.0);<br />
}<br />
&lt;/script&gt;<br />
&lt;!&#8211;<br />
Define a simple GLSL (OpenGL Shading Language) vertex shader.<br />
More info: <a title="GLSL Shading Language" href="http://en.wikipedia.org/wiki/GLSL" target="_blank">http://en.wikipedia.org/wiki/GLSL</a><br />
&#8211;&gt;<br />
&lt;script id=&#8221;shader-vs&#8221; type=&#8221;x-shader/x-vertex&#8221;&gt;<br />
attribute vec3 vertexPosition;</code></p>
<p><code> </code></p>
<p><code>uniform mat4 modelViewMatrix;<br />
uniform mat4 perspectiveMatrix;</code></p>
<p><code>void main(void) {<br />
gl_Position = perspectiveMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);<br />
}<br />
&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;<br />
window.onload = loadScene;</code></p>
<p><code>/**<br />
* Initialises WebGL and creates the 3D scene.<br />
*/<br />
function loadScene()<br />
{<br />
//    Get the canvas element<br />
var canvas = document.getElementById("webGLCanvas");<br />
//    Get the WebGL context<br />
var gl = canvas.getContext("experimental-webgl");<br />
//    Check whether the WebGL context is available or not<br />
//    if it's not available exit<br />
if(!gl)<br />
{<br />
alert("There's no WebGL context available.");<br />
return;<br />
}<br />
//    Set the viewport to the canvas width and height<br />
gl.<a title="glViewPort" href="http://www.khronos.org/opengles/documentation/opengles1_0/html/glViewport.html" target="_blank">viewport</a>(0, 0, canvas.width, canvas.height);</code></p>
<p><code>//    Load the vertex shader that's defined in a separate script<br />
//    block at the top of this page.<br />
//    More info about shaders: <a title="Shaders" href="http://en.wikipedia.org/wiki/Shader_Model" target="_blank">http://en.wikipedia.org/wiki/Shader_Model</a><br />
//    More info about GLSL: <a title="GLSL OpenGL Shading Language" href="http://en.wikipedia.org/wiki/GLSL" target="_blank">http://en.wikipedia.org/wiki/GLSL</a><br />
//    More info about vertex shaders: <a title="Vertex Shaders" href="http://en.wikipedia.org/wiki/Vertex_shader" target="_blank">http://en.wikipedia.org/wiki/Vertex_shader</a></code></p>
<p><code>//    Grab the script element<br />
var vertexShaderScript = document.getElementById("shader-vs");<br />
//    Create a vertex shader object<br />
var vertexShader = gl.<a title="glCreateShader" href="http://www.opengl.org/sdk/docs/man/xhtml/glCreateShader.xml" target="_blank">createShader</a>(gl.VERTEX_SHADER);<br />
//    Load the shader with the source strings from the script element<br />
gl.<a title="glShaderSource" href="http://www.khronos.org/opengles/sdk/docs/man/glShaderSource.xml">shaderSource</a>(vertexShader, vertexShaderScript.text);<br />
//    Compile the shader source code string<br />
gl.<a title="glCompileShader" href="http://www.khronos.org/opengles/sdk/docs/man/glCompileShader.xml" target="_blank">compileShader</a>(vertexShader);<br />
//    Check if the shader has compiled without errors<br />
if(!gl.<a title="glGetShaderiv" href="http://www.khronos.org/opengles/sdk/docs/man/glGetShaderiv.xml" target="_blank">getShaderParameter</a>(vertexShader, gl.COMPILE_STATUS)) {<br />
alert(&#8221;Couldn&#8217;t compile the vertex shader&#8221;);<br />
//    Clean up<br />
gl.<a title="glDeleteShader" href="http://www.khronos.org/opengles/sdk/docs/man/glDeleteShader.xml" target="_blank">deleteShader</a>(vertexShader);<br />
return;<br />
}</code></p>
<p><code>//    Load the fragment shader that's defined in a separate script<br />
//    block at the top of this page.<br />
//    More info about fragment shaders: <a title="Fragment Shaders" href="http://en.wikipedia.org/wiki/Fragment_shader" target="_blank">http://en.wikipedia.org/wiki/Fragment_shader</a><br />
var fragmentShaderScript = document.getElementById(&#8221;shader-fs&#8221;);<br />
//    Create a fragment shader object<br />
var fragmentShader = gl.<a title="glCreateShader" href="http://www.opengl.org/sdk/docs/man/xhtml/glCreateShader.xml" target="_blank">createShader</a>(gl.FRAGMENT_SHADER);<br />
//    Load the shader with the source strings from the script element<br />
gl.<a title="glShaderSource" href="http://www.khronos.org/opengles/sdk/docs/man/glShaderSource.xml" target="_blank">shaderSource</a>(fragmentShader, fragmentShaderScript.text);<br />
//    Compile the shader source code string<br />
gl.<a title="glCompileShader" href="http://www.khronos.org/opengles/sdk/docs/man/glCompileShader.xml" target="_blank">compileShader</a>(fragmentShader);<br />
//    Check if the shader has compiled without errors<br />
if(!gl.<a title="glGetShaderiv" href="http://www.khronos.org/opengles/sdk/docs/man/glGetShaderiv.xml" target="_blank">getShaderParameter</a>(fragmentShader, gl.COMPILE_STATUS)) {<br />
alert(&#8221;Couldn&#8217;t compile the fragment shader&#8221;);<br />
//    Clean up<br />
gl.<a title="glDeleteShader" href="http://www.khronos.org/opengles/sdk/docs/man/glDeleteShader.xml" target="_blank">deleteShader</a>(fragmentShader);<br />
return;<br />
}</code></p>
<p><code>//    Create a shader program. From the OpenGL documentation:<br />
//    A program object is an object to which shader objects can be attached.<br />
//    This provides a mechanism to specify the shader objects that will be linked to<br />
//    create a program. It also provides a means for checking the compatibility of the<br />
//    shaders that will be used to create a program (for instance, checking the<br />
//    compatibility between a vertex shader and a fragment shader).<br />
gl.program = gl.<a title="glCreateProgram" href="http://www.opengl.org/sdk/docs/man/xhtml/glCreateProgram.xml" target="_blank">createProgram</a>();<br />
//    Attach the vertex shader to the program<br />
gl.<a title="glAttachShader" href="http://www.khronos.org/opengles/sdk/docs/man/glAttachShader.xml" target="_blank">attachShader</a>(gl.program, vertexShader);<br />
//    Attach the fragment shader to the program<br />
gl.<a title="glAttachShader" href="http://www.khronos.org/opengles/sdk/docs/man/glAttachShader.xml" target="_blank">attachShader</a>(gl.program, fragmentShader);<br />
//    Before we can use the shaders for rendering, we have to link the program<br />
//    object.<br />
gl.<a title="glLinkProgram" href="http://www.khronos.org/opengles/sdk/docs/man/glLinkProgram.xml" target="_blank">linkProgram</a>(gl.program);<br />
//    Check the status of the link operation to see if it was linked without<br />
//    errors.<br />
if (!gl.<a title="glGetProgramiv" href="http://www.khronos.org/opengles/sdk/docs/man/glGetProgramiv.xml" target="_blank">getProgramParameter</a>(gl.program, gl.LINK_STATUS)) {<br />
alert(&#8221;Unable to initialise shaders&#8221;);<br />
//    Clean up<br />
gl.<a title="glDeleteProgram" href="http://www.khronos.org/opengles/sdk/docs/man/glDeleteProgram.xml" target="_blank">deleteProgram</a>(gl.program);<br />
gl.<a title="glDeleteProgram" href="http://www.khronos.org/opengles/sdk/docs/man/glDeleteProgram.xml" target="_blank">deleteProgram</a>(vertexShader);<br />
gl.<a title="glDeleteProgram" href="http://www.khronos.org/opengles/sdk/docs/man/glDeleteProgram.xml" target="_blank">deleteProgram</a>(fragmentShader);<br />
return;<br />
}<br />
//    Install the program as part of the current rendering state<br />
gl.<a title="glUseProgram" href="http://www.khronos.org/opengles/sdk/docs/man/glUseProgram.xml" target="_blank">useProgram</a>(gl.program);<br />
//    Get the vertexPosition attribute from the linked shader program<br />
var vertexPosition = gl.<a title="glGetAttribLocation" href="http://www.khronos.org/opengles/sdk/docs/man/glGetAttribLocation.xml" target="_blank">getAttribLocation</a>(gl.program, &#8220;vertexPosition&#8221;);<br />
//    Enable the vertexPosition vertex attribute array. If enabled, the array<br />
//    will be accessed an used for rendering when calls are made to commands like<br />
//    gl.drawArrays, gl.drawElements, etc.<br />
gl.<a title="glEnableVertexAttribArray" href="http://www.khronos.org/opengles/sdk/docs/man/glEnableVertexAttribArray.xml" target="_blank">enableVertexAttribArray</a>(vertexPosition);</code></p>
<p><code>//    Clear the color buffer (r, g, b, a) with the specified color<br />
gl.<a title="glClearColor" href="http://www.khronos.org/opengles/documentation/opengles1_0/html/glClearColor.html" target="_blank">clearColor</a>(0.0, 0.0, 0.0, 1.0);<br />
//    Clear the depth buffer. The value specified is clamped to the range [0,1].<br />
//    More info about depth buffers: http://en.wikipedia.org/wiki/Depth_buffer<br />
gl.<a title="glClearDepth" href="http://www.khronos.org/opengles/documentation/opengles1_0/html/glClearDepth.html" target="_blank">clearDepth</a>(1.0);<br />
//    Enable depth testing. This is a technique used for hidden surface removal.<br />
//    It assigns a value (z) to each pixel that represents the distance from this<br />
//    pixel to the viewer. When another pixel is drawn at the same location the z<br />
//    values are compared in order to determine which pixel should be drawn.<br />
gl.<a title="glEnable" href="http://www.khronos.org/opengles/documentation/opengles1_0/html/glEnable.html" target="_blank">enable</a>(gl.DEPTH_TEST);<br />
//    Specify which function to use for depth buffer comparisons. It compares the<br />
//    value of the incoming pixel against the one stored in the depth buffer.<br />
//    Possible values are (from the OpenGL documentation):<br />
//    GL_NEVER - Never passes.<br />
//    GL_LESS - Passes if the incoming depth value is less than the stored depth value.<br />
//    GL_EQUAL - Passes if the incoming depth value is equal to the stored depth value.<br />
//    GL_LEQUAL - Passes if the incoming depth value is less than or equal to the stored depth value.<br />
//    GL_GREATER - Passes if the incoming depth value is greater than the stored depth value.<br />
//    GL_NOTEQUAL - Passes if the incoming depth value is not equal to the stored depth value.<br />
//    GL_GEQUAL - Passes if the incoming depth value is greater than or equal to the stored depth value.<br />
//    GL_ALWAYS - Always passes.<br />
gl.<a title="glDepthFunc" href="http://www.khronos.org/opengles/documentation/opengles1_0/html/glDepthFunc.html" target="_blank">depthFunc</a>(gl.LEQUAL);</p>
<p>//    Now create a shape.<br />
//    First create a vertex buffer in which we can store our data.<br />
var vertexBuffer = gl.<a title="glGenBuffers" href="http://www.khronos.org/opengles/sdk/docs/man/glGenBuffers.xml" target="_blank">createBuffer</a>();<br />
//    Bind the buffer object to the ARRAY_BUFFER target.<br />
gl.<a title="glBindBuffer" href="http://www.khronos.org/opengles/sdk/1.1/docs/man/glBindBuffer.xml" target="_blank">bindBuffer</a>(gl.ARRAY_BUFFER, vertexBuffer);<br />
//    Specify the vertex positions (x, y, z)<br />
var vertices = new <a title="WebGLFloatArray" href="https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html#5.14.3.10" target="_blank">WebGLFloatArray</a>([<br />
0.0,  1.0,  4.0,<br />
-1.0, -1.0,  4.0,<br />
1.0, -1.0,  4.0<br />
]);</p>
<p>//    Creates a new data store for the vertices array which is bound to the ARRAY_BUFFER.<br />
//    The third paramater indicates the usage pattern of the data store. Possible values are<br />
//    (from the OpenGL documentation):<br />
//    The frequency of access may be one of these:<br />
//    STREAM - The data store contents will be modified once and used at most a few times.<br />
//    STATIC - The data store contents will be modified once and used many times.<br />
//    DYNAMIC - The data store contents will be modified repeatedly and used many times.<br />
//    The nature of access may be one of these:<br />
//    DRAW - The data store contents are modified by the application, and used as the source for<br />
//           GL drawing and image specification commands.<br />
//    READ - The data store contents are modified by reading data from the GL, and used to return<br />
//           that data when queried by the application.<br />
//    COPY - The data store contents are modified by reading data from the GL, and used as the source<br />
//           for GL drawing and image specification commands.<br />
gl.<a title="glBufferData" href="http://www.khronos.org/opengles/sdk/1.1/docs/man/glBufferData.xml" target="_blank">bufferData</a>(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);</p>
<p>//    Clear the color buffer and the depth buffer<br />
gl.<a title="glClear" href="http://www.khronos.org/opengles/sdk/docs/man/glClear.xml" target="_blank">clear</a>(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);</p>
<p>//    Define the viewing frustum parameters<br />
//    More info: <a title="Viewing Frustum" href="http://en.wikipedia.org/wiki/Viewing_frustum" target="_blank">http://en.wikipedia.org/wiki/Viewing_frustum</a><br />
//    More info: <a title="Viewing Frustum" href="http://knol.google.com/k/view-frustum" target="_blank">http://knol.google.com/k/view-frustum</a><br />
var fieldOfView = 30.0;<br />
var aspectRatio = canvas.width / canvas.height;<br />
var nearPlane = 1.0;<br />
var farPlane = 10000.0;<br />
var top = nearPlane * Math.tan(fieldOfView * Math.PI / 360.0);<br />
var bottom = -top;<br />
var right = top * aspectRatio;<br />
var left = -right;</p>
<p>//     Create the perspective matrix. The OpenGL function that&#8217;s normally used for this,<br />
//     <a title="glFrustum" href="http://www.khronos.org/opengles/documentation/opengles1_0/html/glFrustum.html" target="_blank">glFrustum</a>() is not included in the WebGL API. That&#8217;s why we have to do it manually here.<br />
//     More info: <a title="glFrustum" href="http://www.cs.utk.edu/~vose/c-stuff/opengl/glFrustum.html" target="_blank">http://www.cs.utk.edu/~vose/c-stuff/opengl/glFrustum.html</a><br />
var a = (right + left) / (right - left);<br />
var b = (top + bottom) / (top - bottom);<br />
var c = (farPlane + nearPlane) / (farPlane - nearPlane);<br />
var d = (2 * farPlane * nearPlane) / (farPlane - nearPlane);<br />
var x = (2 * nearPlane) / (right - left);<br />
var y = (2 * nearPlane) / (top - bottom);<br />
var perspectiveMatrix = [<br />
x, 0, a, 0,<br />
0, y, b, 0,<br />
0, 0, c, d,<br />
0, 0, -1, 0<br />
];</p>
<p></code></p>
<p><code> //     Create the modelview matrix<br />
//     More info about the modelview matrix: <a title="Modelview Matrix" href="http://3dengine.org/Modelview_matrix" target="_blank">http://3dengine.org/Modelview_matrix</a><br />
//     More info about the identity matrix: <a title="Modelview Matrix" href="http://en.wikipedia.org/wiki/Identity_matrix" target="_blank">http://en.wikipedia.org/wiki/Identity_matrix</a><br />
var modelViewMatrix = [<br />
1, 0, 0, 0,<br />
0, 1, 0, 0,<br />
0, 0, 1, 0,<br />
0, 0, 0, 1<br />
];<br />
//     Get the vertex position attribute location from the shader program<br />
var vertexPosAttribLocation = gl.<a title="glGetAttribLocation" href="http://www.khronos.org/opengles/sdk/docs/man/glGetAttribLocation.xml" target="_blank">getAttribLocation</a>(gl.program, &#8220;vertexPosition&#8221;);<br />
//     Specify the location and format of the vertex position attribute<br />
gl.<a title="glVertexAttribPointer" href="http://www.khronos.org/opengles/sdk/docs/man/glVertexAttribPointer.xml" target="_blank">vertexAttribPointer</a>(vertexPosAttribLocation, 3.0, gl.FLOAT, false, 0, 0);<br />
//     Get the location of the &#8220;modelViewMatrix&#8221; uniform variable from the<br />
//     shader program<br />
var uModelViewMatrix = gl.<a title="glGetUniformLocation" href="http://www.opengl.org/sdk/docs/man/xhtml/glGetUniformLocation.xml" target="_blank">getUniformLocation</a>(gl.program, &#8220;modelViewMatrix&#8221;);<br />
//     Get the location of the &#8220;perspectiveMatrix&#8221; uniform variable from the<br />
//     shader program<br />
var uPerspectiveMatrix = gl.<a title="glGetUniformLocation" href="http://www.opengl.org/sdk/docs/man/xhtml/glGetUniformLocation.xml" target="_blank">getUniformLocation</a>(gl.program, &#8220;perspectiveMatrix&#8221;);<br />
//     Set the values<br />
gl.<a title="glUniform" href="http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml" target="_blank">uniformMatrix4fv</a>(uModelViewMatrix, false, new <a title="WebGLFloatArray" href="https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html#5.14.3.10" target="_blank">WebGLFloatArray</a>(perspectiveMatrix));<br />
gl.<a title="glUniform" href="http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml" target="_blank">uniformMatrix4fv</a>(uPerspectiveMatrix, false, new <a title="WebGLFloatArray" href="https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html#5.14.3.10" target="_blank">WebGLFloatArray</a>(modelViewMatrix));<br />
//     Draw the triangles in the vertex buffer. The first parameter specifies what<br />
//     drawing mode to use. This can be GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP,<br />
//     GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP,<br />
//     GL_QUADS, and GL_POLYGON<br />
gl.<a title="glDrawArrays" href="http://www.khronos.org/opengles/documentation/opengles1_0/html/glDrawArrays.html" target="_blank">drawArrays</a>(gl.TRIANGLES, 0, vertices.length / 3.0);<br />
gl.<a title="glFlush" href="http://www.khronos.org/opengles/sdk/docs/man/glFlush.xml" target="_blank">flush</a>();<br />
}<br />
&lt;/script&gt;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2010/02/22/beginning-webgl-step-by-step-tutorial/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blender to WebGL JavaScript Exporter</title>
		<link>http://www.rozengain.com/blog/2010/02/04/blender-to-webgl-javascript-exporter/</link>
		<comments>http://www.rozengain.com/blog/2010/02/04/blender-to-webgl-javascript-exporter/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 21:24:22 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[3D]]></category>

		<category><![CDATA[WebGL]]></category>

		<category><![CDATA[Blender]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=502</guid>
		<description><![CDATA[I&#8217;ve been playing with this technology lately and I have to say: WebGL is hot stuff. Through the HTML5 &#60;canvas&#62; element you can add hardware-accelerated 3D graphics to web pages. There&#8217;s no need to install a separate plug-in. It isn&#8217;t available in current browser versions however. You&#8217;ll need to install nightly builds of Firefox, Chrome [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing with this technology lately and I have to say: <a title="WebGL - OpenGL ES 2.0 for the Web" href="http://www.khronos.org/webgl/">WebGL</a> is hot stuff. Through the <a title="HTML5" href="http://en.wikipedia.org/wiki/HTML5">HTML5</a> <a title="The HTML5 Canvas Element" href="http://en.wikipedia.org/wiki/Canvas_element">&lt;canvas&gt; element</a> you can add hardware-accelerated 3D graphics to web pages. There&#8217;s no need to install a separate plug-in. It isn&#8217;t available in current browser versions however. You&#8217;ll need to install nightly builds of <a title="Firefox nightly build" href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">Firefox</a>, <a title="Chrome nightly build" href="http://build.chromium.org/buildbot/continuous/">Chrome</a> or <a title="Safari nightly build" href="http://nightly.webkit.org/">Safari</a> in order to view WebGL.</p>
<p>Its worth playing around with WebGL even though it&#8217;ll take a fair bit of time until it becomes mainstream technology. WebGL a binding for JavaScript to native OpenGL ES 2.0<br />
which means that if you learn the API you can use it for iPhone (Objective-C) and Android (Java) development as well.</p>
<p>You can also write <a title="Shader" href="http://en.wikipedia.org/wiki/Shader">shaders</a> using <a title="OpenGL Shading Language" href="http://en.wikipedia.org/wiki/GLSL">GLSL</a> (OpenGL Shading Language). To see what you can do with shaders take a look <a title="Shader Toy" href="http://www.iquilezles.org/apps/shadertoy/">at this page</a>.</p>
<p>If you don&#8217;t want to get your hands dirty with the low-level stuff then there are a couple of excellent libraries that do a lot of work for you. A very powerful one is <a title="GLGE" href="http://www.glge.org/">GLGE</a>. There&#8217;s also a fairly new one called <a title="SceneJS - JavaScript Scene Graph Library for WebGL" href="http://scenejs.com/">SceneJS</a>.</p>
<p>During my presentation at <a title="London Flash Platform User Group" href="http://www.lfpug.com/">LFPUG</a> last week I briefly touched WebGL to show how easy it is to write exporter scripts for Blender. I&#8217;m still working on the script but here are some preliminary results:</p>
<p><a href="/files/webgl/blenderexport/monkey.html"><img class="alignnone" title="WebGL Blender export" src="/files/webgl/blenderexport/webgl-monkey.jpg" alt="" width="400" height="400" /></a></p>
<p><a href="/files/webgl/blenderexport/texturedcube.html"><img class="alignnone" title="WebGL Blender export" src="/files/webgl/blenderexport/webgl-textured-cube.jpg" alt="" width="400" height="400" /></a></p>
<p>The script exports to SceneJS for now but I will add the option to export to pure WebGL and GLGE. I will make it available soon <img src='http://www.rozengain.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2010/02/04/blender-to-webgl-javascript-exporter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blender to ActionScript Exporter Updated: Away3D Lite 1.0.2</title>
		<link>http://www.rozengain.com/blog/2010/01/28/blender-to-actionscript-exporter-updated-away3d-lite-102/</link>
		<comments>http://www.rozengain.com/blog/2010/01/28/blender-to-actionscript-exporter-updated-away3d-lite-102/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 11:08:01 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[3D]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Blender]]></category>

		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=500</guid>
		<description><![CDATA[Another update to the Blender to ActionScript exporter. Away3D Lite 1.02. has been added to the list. Download it from the usual place here.
]]></description>
			<content:encoded><![CDATA[<p>Another update to the Blender to ActionScript exporter. Away3D Lite 1.02. has been added to the list. Download it from the usual place <a title="Blender to ActionScript Exporter" href="http://www.rozengain.com/blog/2008/01/02/export-your-blender-objects-straight-to-away3d-papervision3d-and-sandy/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2010/01/28/blender-to-actionscript-exporter-updated-away3d-lite-102/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Book Review: Unity Game Development Essentials</title>
		<link>http://www.rozengain.com/blog/2009/12/08/book-review-unity-game-development-essentials/</link>
		<comments>http://www.rozengain.com/blog/2009/12/08/book-review-unity-game-development-essentials/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 16:07:54 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[3D]]></category>

		<category><![CDATA[book review]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=494</guid>
		<description><![CDATA[Flash offers a lot of cool features to play with. The last few years we&#8217;ve seen an abundance of 3D engines which have all been optimised to run on a very limited platform. The results are very impressive and have spawned many ground breaking and visually stunning online experiences.
Despite all this many developers are frustrated [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packtpub.com/unity-game-development-essentials/book"><img class="alignleft" title="Unity Game Development Essentials" src="http://ebooksbaba.com/wp-content/uploads/2009/10/unity-game-development-essentials.jpeg" alt="" width="300" height="300" /></a>Flash offers a lot of cool features to play with. The last few years we&#8217;ve seen an abundance of 3D engines which have all been optimised to run on a very limited platform. The results are very impressive and have spawned many ground breaking and visually stunning online experiences.</p>
<p>Despite all this many developers are frustrated with the weak performance. The latest Flash Player version (10) offers some native 3D methods like Utils3D.projectVectors(), Graphics.drawTriangles(), Matrix3D and TriangleCulling but no support for hardware rendering.</p>
<p>This is where Danish <a title="Unity" href="http://unity3d.com/">Unity </a>steps in to fill the void. Their web player takes you into the third dimension properly. If you have never installed the plugin I highly recommend you<a title="Download the Unity web player" href="http://unity3d.com/webplayer/"> do so right now</a> <img src='http://www.rozengain.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Unity has a complete development environment that allows you to create games easily. There are three programming languages that you can use: JavaScript, C# and one of their own creations called Boo (a Python dialect).</p>
<p>Packt Publishing have published a Unity book that teaches you how to create games using JavaScript. It is written by <a title="Will Goldstone's Stuff" href="http://www.willgoldstone.com">Will Goldstone</a>, an English interactive designer and tutor.</p>
<p>The book takes you through the process of building a First-Person-viewed 3D game, from start to finish. You don&#8217;t have to be an experienced programmer to be able to grasp the concepts presented in this book. You don&#8217;t even have to be a 3D expert. Everything is well explained, from basic 3D concepts to collision detection, terrain generation, ray casting, prefabs, particles, deployment, testing, etc.</p>
<p>Anyone who is tired of Flash 3D should make a start with Unity to be able to fully express their creativity. This book is a proper introduction to this exciting new platform.</p>
<p>The only downside to this book is the layout. All of the illustrations are printed in black &amp; white and the text layout could be organised in a better way. This is a minor thing though. I highly recommend this book as the proper way to start exploring Unity.</p>
<p>More information about this book can be found on the Packt Publishing website: <a title="Unity Game Development Essentials book @ Packt Publishing" href="http://www.packtpub.com/unity-game-development-essentials/book">http://www.packtpub.com/unity-game-development-essentials/book</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2009/12/08/book-review-unity-game-development-essentials/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blender to ActionScript Exporter Updated: haXe Support</title>
		<link>http://www.rozengain.com/blog/2009/10/28/blender-to-actionscript-exporter-updated-haxe-support/</link>
		<comments>http://www.rozengain.com/blog/2009/10/28/blender-to-actionscript-exporter-updated-haxe-support/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 14:33:52 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[3D]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Blender]]></category>

		<category><![CDATA[haxe]]></category>

		<category><![CDATA[sandy]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=488</guid>
		<description><![CDATA[The haXe port has become the main focus of the Sandy 3D engine. Why use haXe? According to the Sandy website:
&#8220;There are some good reasons why you might want to use haXe: performance, ability to cross language boundaries, a language packed with features. Sandy provides a native implementation, bringing with it all the cross-platform and [...]]]></description>
			<content:encoded><![CDATA[<p>The <a title="haXe" href="http://haxe.org/">haXe</a> port has become the main focus of the <a title="Sandy 3D Engine" href="http://www.flashsandy.org/haxe">Sandy 3D engine</a>. Why use haXe? According to the Sandy website:</p>
<p><span style="font-style: italic">&#8220;There are some good reasons why you might want to use haXe: performance, ability to cross language boundaries, a language packed with features. Sandy provides a native implementation, bringing with it all the cross-platform and performance advantages over using extern wrappers.&#8221;</span></p>
<p>The Blender to ActionScript exporter now supports Sandy/haXe. Paul Fitzpatrick has been kind enough to update the code. Thanks alot!</p>
<p><a title="Blender to ActionScript Exporter" href="http://www.rozengain.com/blog/2008/01/02/export-your-blender-objects-straight-to-away3d-papervision3d-and-sandy/">Download the new version here</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2009/10/28/blender-to-actionscript-exporter-updated-haxe-support/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Download AS3 libraries to Eclipse/FDT/Flash Builder/Flex Builder plugin updated</title>
		<link>http://www.rozengain.com/blog/2009/10/19/download-as3-libraries-to-eclipsefdtflash-builderflex-builder-plugin-updated/</link>
		<comments>http://www.rozengain.com/blog/2009/10/19/download-as3-libraries-to-eclipsefdtflash-builderflex-builder-plugin-updated/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 14:29:33 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[fdt]]></category>

		<category><![CDATA[flex builder]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=479</guid>
		<description><![CDATA[Many people who downloaded and installed the plugin asked me if I could add the option to add frameworks and repositories.
I just uploaded a new version that enables you to do so. I added a dialog in the Eclipse Preferences window where you can select which frameworks you want to see in the context menu. [...]]]></description>
			<content:encoded><![CDATA[<p>Many people who downloaded and installed the plugin asked me if I could add the option to add frameworks and repositories.</p>
<p>I just uploaded a new version that enables you to do so. I added a dialog in the Eclipse Preferences window where you can select which frameworks you want to see in the context menu. All the frameworks from the previous version are there and you can also add any subversion URL or swc URL.</p>
<p>I also fixed an issue with source folders. In Flash Builder beta the download option wasn&#8217;t visible when right-clicking on a source folder.</p>
<p>Please give me a shout if you have any ideas about Eclipse plugins that could be useful.</p>
<p>The <a title="Eclipse Plug-in: Download AS3 libraries straight to your Eclipse/Flex Builder/FDT project" href="http://www.rozengain.com/blog/2009/10/09/eclipse-plug-in-download-as3-libraries-straight-to-your-eclipseflex-builderfdt-project/">download page is here</a>.</p>
<p>The new Preferences dialog:</p>
<p><img class="alignnone" title="Preferences window" src="/files/blog/eclipse-plugin/asdownload-preferences.jpg" alt="" width="600" height="529" /></p>
<p><img class="alignnone" title="Add frameworks" src="/files/blog/eclipse-plugin/asdownload-add.jpg" alt="" width="600" height="560" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2009/10/19/download-as3-libraries-to-eclipsefdtflash-builderflex-builder-plugin-updated/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Book Review: Papervision3D Essentials</title>
		<link>http://www.rozengain.com/blog/2009/10/15/book-review-papervision3d-essentials/</link>
		<comments>http://www.rozengain.com/blog/2009/10/15/book-review-papervision3d-essentials/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:34:02 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[3D]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[book review]]></category>

		<category><![CDATA[papervision3d]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=463</guid>
		<description><![CDATA[
Packt Publishing sent me book for review. So here we go …
Authors: Paul Tondeur (www.paultondeur.com) and Jeff Winder (www.jeffwinder.nl)
Publisher: Packt publishing (www.packtpub.com)
Pages: 407
Finally there is a book about the most popular 3D engine for Flash, Papervision3D. With a lot of information scattered about on the internet there is a huge need for something coherent. This [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packtpub.com/papervision3d-essentials?utm_source=rozengain.com&amp;utm_medium=bookrev&amp;utm_content=blog&amp;utm_campaign=mdb_000710"><img class="alignleft" title="Papervision3D Essentials Book" src="/files/images/pv3dessentials-cover.jpg" alt="" width="200" height="247" /></a></p>
<p>Packt Publishing sent me book for review. So here we go …</p>
<p>Authors: Paul Tondeur (<a title="Paul Tondeur" href="http://www.paultondeur.com">www.paultondeur.com</a>) and Jeff Winder (<a title="Jeff Winder" href="http://www.jeffwinder.nl">www.jeffwinder.nl</a>)<br />
Publisher: Packt publishing (<a title="Packt Publishing" href="http://www.packtpub.com">www.packtpub.com</a>)<br />
Pages: 407</p>
<p>Finally there is a book about the most popular 3D engine for Flash, Papervision3D. With a lot of information scattered about on the internet there is a huge need for something coherent. This book will please a lot of people because it covers a lot of ground.</p>
<p>When I first opened the book, I was immediately disappointed by the layout of the table of contents. It looks a bit cheapish and very similar to something that Microsoft Word auto-generates. Unfortunately that applies more or less to the rest of the book. All the images are printed in black &amp; white and sometimes it is hard to see what’s going on in the pictures. A few color pages would’ve been a great addition to this book. Especially because the topic at hand is 3D graphics and not something like database programming.</p>
<p>Fortunately, the book’s contents are great. If you have no experience with 3D programming then this book will tell you all you need to know to get started. It even covers basic topics like Object Oriented Programming, how to use Subversion and how to configure Flash. The Papervision3D part starts with an explanation about basic concepts like Scene, Camera, Viewport, etc and then moves on to primitives, the rendering pipeline and materials. The pace is good and the reader should be able to grasp the basics after reading these chapters.</p>
<p>Don’t get me wrong, this book is not only for beginners. After getting the basics out of the way the more advanced topics are presented. The chapters about cameras, culling, clipping and importing external models are essential and the chapter about z-sorting clarifies some interesting things (like the painter’s algorithm z sort, origin sort, index sort, quadtree rendering).</p>
<p>The last three chapters are about particles, filters, effects, 3D vector drawing, text and performance optimization, very useful if you want to take things a bit further. These topics are also described in detail with some good examples for further clarification. The pace in these chapters is also very good.</p>
<p>Conclusion: this book is definitely an essential resource if you’re a serious Papervision3D developer. Despite the annoying layout quirks I can highly recommend this book. The authors have succeeded in explaining complex matter in a simple way. The text is not too verbose, nor is it too compact. Like I said before, the pace is right throughout the book.</p>
<p>Apart from the paper version, there is also a PDF version available. <a title="Papervision3D Essentials" href="http://www.packtpub.com/papervision3d-essentials?utm_source=rozengain.com&amp;utm_medium=bookrev&amp;utm_content=blog&amp;utm_campaign=mdb_000710">Go to Packt’s site to get more info</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2009/10/15/book-review-papervision3d-essentials/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eclipse Plug-in: Download AS3 libraries straight to your Eclipse/Flex Builder/FDT project</title>
		<link>http://www.rozengain.com/blog/2009/10/09/eclipse-plug-in-download-as3-libraries-straight-to-your-eclipseflex-builderfdt-project/</link>
		<comments>http://www.rozengain.com/blog/2009/10/09/eclipse-plug-in-download-as3-libraries-straight-to-your-eclipseflex-builderfdt-project/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 15:21:47 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[fdt]]></category>

		<category><![CDATA[flex builder]]></category>

		<category><![CDATA[frameworks]]></category>

		<category><![CDATA[plug-in]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=455</guid>
		<description><![CDATA[Do you use ActionScript frameworks a lot? Are you tired of always downloading each framework from different websites when setting up a new project in Eclipse, Flex Builder or FDT? Well, be tired no more  
I was getting sick of this myself so I wrote a plug-in that makes this a lot easier. Just [...]]]></description>
			<content:encoded><![CDATA[<p>Do you use ActionScript frameworks a lot? Are you tired of always downloading each framework from different websites when setting up a new project in Eclipse, Flex Builder or FDT? Well, be tired no more <img src='http://www.rozengain.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I was getting sick of this myself so I wrote a plug-in that makes this a lot easier. Just right-click on a folder in your Eclipse project and select &#8220;Download ActionScript Framework Here&#8221;. A dialog will appear listing the ActionScript frameworks that you selected. It can also be a framework you added yourself. Just select the ones you&#8217;re after and press &#8220;Finish&#8221;. It will then either download from Subversion or from another URL. The download progress is then shown in the Eclipse console. When it&#8217;s finished refresh your project and you&#8217;re done!</p>
<p>What do you need for this to work?<br />
- Eclipse 3.2 or higher<br />
- Subversion command line tools (Windows: <a title="Subversion" href="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100">http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100</a> Mac: <a title="Subversion" href="http://subversion.tigris.org/getting.html#osx">http://subversion.tigris.org/getting.html#osx</a>). To check if this is set up properly: open up a command prompt, type &#8220;svn&#8221; and hit enter. If it says &#8220;Type &#8217;svn help&#8217; for usage.&#8221; you&#8217;re good to go.</p>
<p>If you have this properly set up then <a title="Eclipse plug-in: download ActionScript Frameworks" href="/files/com.rozengain.eclipse.asframework.jar">download this jar file</a> and place it in Eclipse&#8217;s plugin folder.</p>
<p>To check if it has been installed properly, right click on any folder and see if the &#8220;Download ActionScript Framework Here&#8221; option is there. By default there are no frameworks. You need to add them in Window &gt; Preferences &gt; ActionScript Framework Downloader.</p>
<p>The plugin has been tested on Windows, Mac, Flexbuilder standalone, FDT standalone. If for some reason it is not working on your machine, then please send me your Eclipse version, Java version and OS name/version.</p>
<p>If you know a framework that you&#8217;d like to see added to the list, just give me a shout and I&#8217;ll add it. Also, if you have an idea for an Eclipse plug-in, just let me know!</p>
<div class="wp-caption alignnone" style="width: 610px"><img title="Download ActionScript Frameworks Preference Window" src="/files/blog/eclipse-plugin/asdownload-preferences.jpg" alt="Download ActionScript Frameworks Preference Window" width="600" height="529" /><p class="wp-caption-text">Download ActionScript Frameworks Preference Window</p></div>
<div class="wp-caption alignnone" style="width: 610px"><img title="Add your own framework" src="/files/blog/eclipse-plugin/asdownload-add.jpg" alt="Add your own framework" width="600" height="560" /><p class="wp-caption-text">Add your own framework</p></div>
<div class="wp-caption alignnone" style="width: 610px"><img title="Eclipse plug-in: Download ActionScript Frameworks" src="/files/blog/eclipse-plugin/eclipse-plugin-01.jpg" alt="" width="600" height="595" /><p class="wp-caption-text">Right click on a folder and select &quot;Download ActionScript Framework Here&quot;</p></div>
<div class="wp-caption alignnone" style="width: 610px"><img title="Eclipse plug-in: Download ActionScript Frameworks" src="/files/blog/eclipse-plugin/asdownload-download.jpg" alt="" width="600" height="658" /><p class="wp-caption-text">Choose the frameworks to download</p></div>
<div class="wp-caption alignnone" style="width: 610px"><img title="Eclipse plug-in: Download ActionScript Frameworks" src="/files/blog/eclipse-plugin/eclipse-plugin-03.jpg" alt="" width="600" height="225" /><p class="wp-caption-text">The progress is shown in a console.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2009/10/09/eclipse-plug-in-download-as3-libraries-straight-to-your-eclipseflex-builderfdt-project/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Collada to ActionScript 3.0 exporter BETA: Testers needed!</title>
		<link>http://www.rozengain.com/blog/2009/10/05/collada-to-actionscript-30-exporter-beta-testers-needed/</link>
		<comments>http://www.rozengain.com/blog/2009/10/05/collada-to-actionscript-30-exporter-beta-testers-needed/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 12:06:15 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[3D]]></category>

		<category><![CDATA[alternativa3D]]></category>

		<category><![CDATA[away3d]]></category>

		<category><![CDATA[collada]]></category>

		<category><![CDATA[papervision3d]]></category>

		<category><![CDATA[sandy]]></category>

		<guid isPermaLink="false">http://www.rozengain.com/blog/?p=448</guid>
		<description><![CDATA[There are a lot of people who use Blender and the Blender to ActionScript exporter. However, there are a lot of people who use Maya, SketchUp, DAZ Studio or any other 3D program who aren&#8217;t able to export to ActionScript classes. Some people came to me with the question &#8220;why don&#8217;t you create a COLLADA [...]]]></description>
			<content:encoded><![CDATA[<p>There are a lot of people who use Blender and the Blender to ActionScript exporter. However, there are a lot of people who use Maya, SketchUp, DAZ Studio or any other 3D program who aren&#8217;t able to export to ActionScript classes. Some people came to me with the question &#8220;why don&#8217;t you create a COLLADA to ActionScript exporter?&#8221;. Almost all 3D programs have a COLLADA exporter so it makes sense to convert from this format to ActionScript.</p>
<p>So, here it is. I found some time to write a little AIR app that does just this. However, since I&#8217;m strapped for time and since I don&#8217;t own all these 3D programs, I haven&#8217;t been able to do a lot of testing.<br />
So I&#8217;m looking for people who can test this application by exporting COLLADA files from different 3D programs and then use the generated class in one of the Flash 3D engines.</p>
<p>The only 3D program I used for testing is Blender. Then I tested the classes in all the 3D engines (Sandy, Away3D, Alternativa3D, Papervision3D). I only tested it with simple primitives though.</p>
<p>Important thing: this version does NOT YET support animation. Animation support will be added soon.</p>
<p>So if you&#8217;re up for it go ahead and <a title="DOWNLOAD the COLLADA to ActionScript 3.0 exporter" href="/files/colladaexp/ColladaExporter.air">DOWNLOAD the COLLADA to ActionScript 3.0 exporter</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rozengain.com/blog/2009/10/05/collada-to-actionscript-30-exporter-beta-testers-needed/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
