<?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: Adobe Flash 10 : 3D in your browser</title>
	<atom:link href="http://www.nicollet.net/2008/12/flash-10-3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nicollet.net/2008/12/flash-10-3d/</link>
	<description>Everyone Loves Me</description>
	<lastBuildDate>Mon, 30 Jan 2012 07:21:02 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: Victor Nicollet</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-3491</link>
		<dc:creator>Victor Nicollet</dc:creator>
		<pubDate>Mon, 09 Mar 2009 07:57:44 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-3491</guid>
		<description>Careful. Antiportals are not portals: they&#039;re just large opaque areas that can be used to perform occlusion culling faster. They don&#039;t have to be placed at design level, you can incorporate them in your octree construction simply by coloring those octree cell walls that are fully contained within opaque geometry (with the added benefit that you can cull antiportals with other antiportals this way by culling the corresponding cells).</description>
		<content:encoded><![CDATA[<p>Careful. Antiportals are not portals: they&#8217;re just large opaque areas that can be used to perform occlusion culling faster. They don&#8217;t have to be placed at design level, you can incorporate them in your octree construction simply by coloring those octree cell walls that are fully contained within opaque geometry (with the added benefit that you can cull antiportals with other antiportals this way by culling the corresponding cells).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergi</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-3486</link>
		<dc:creator>Sergi</dc:creator>
		<pubDate>Mon, 09 Mar 2009 00:32:26 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-3486</guid>
		<description>Wow that&#039;s a lot of food for thought. ABT&#039;s and Octrees seem useful, and right now i&#039;m uncertain as to whether I should use them over BSP. Portal&#039;s seem to require application at design level which i&#039;m not fond of. 

BSP for static environments along with z-buffering for dynamic moving object&#039;s seems to be the simplest approach, but perhaps not the fastest, i&#039;m not sure. AFAIK the quake engine used a similar approach.

The library is going to be pretty generic with nothing fancy like particle systems and only elementary lighting/shading somewhere down the line. I&#039;m aiming at original playstation or N64 graphics, if that, as I don&#039;t think flash needs or can handle anything more.

I want it to handle pretty much any scene I thow at it, i.e indoor/outdoor, landscapes, high buildings etc. Octree&#039;s or ABT&#039;s seem suited to most of this wheras BSP&#039;s are apparently best suited only for indoor type scenes; and then i&#039;ve read about combinations of the two.. having BSP trees at the leaf nodes of octrees. 

What a headache! I suppose i&#039;ll just pick one solution and run with it after a bit more reading. The problem is a lot of literature includes using these methods in conjunction with the GPU, and i&#039;m dealing with software only.

Thanks for the pointers.</description>
		<content:encoded><![CDATA[<p>Wow that&#8217;s a lot of food for thought. ABT&#8217;s and Octrees seem useful, and right now i&#8217;m uncertain as to whether I should use them over BSP. Portal&#8217;s seem to require application at design level which i&#8217;m not fond of. </p>
<p>BSP for static environments along with z-buffering for dynamic moving object&#8217;s seems to be the simplest approach, but perhaps not the fastest, i&#8217;m not sure. AFAIK the quake engine used a similar approach.</p>
<p>The library is going to be pretty generic with nothing fancy like particle systems and only elementary lighting/shading somewhere down the line. I&#8217;m aiming at original playstation or N64 graphics, if that, as I don&#8217;t think flash needs or can handle anything more.</p>
<p>I want it to handle pretty much any scene I thow at it, i.e indoor/outdoor, landscapes, high buildings etc. Octree&#8217;s or ABT&#8217;s seem suited to most of this wheras BSP&#8217;s are apparently best suited only for indoor type scenes; and then i&#8217;ve read about combinations of the two.. having BSP trees at the leaf nodes of octrees. </p>
<p>What a headache! I suppose i&#8217;ll just pick one solution and run with it after a bit more reading. The problem is a lot of literature includes using these methods in conjunction with the GPU, and i&#8217;m dealing with software only.</p>
<p>Thanks for the pointers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Victor Nicollet</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-3478</link>
		<dc:creator>Victor Nicollet</dc:creator>
		<pubDate>Sun, 08 Mar 2009 18:51:05 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-3478</guid>
		<description>I&#039;m a hacker at heart, so I like composing my own component-wise matrices like in the good old days ;)

BSP tends to be good for static data, as you mention, but constructing an optimal BSP tree is a mess that you don&#039;t want to do at runtime. Other tree structures, such as ABT or Octrees, can be useful as well, especially if you combine them with simple culling procedures without pre-computations (such as antiportals). Two issues can get quite annoying, though: 

- You have to decide how your non-scene objects occlude each other (self-occlusion can be handled through an appropriate sort algorithm): are they drawn as a whole, in order, or can two objects occlude each other? 
- You have to cull all polygons that are behind the camera. This can be quite annoying, because it has to be done on a per-polygon basis, so you want to rely on backface culling as much as you can.

All of this points towards splitting your objects into convex or concave sub-sections that are handled as a whole (to avoid handling individual polygons) so that mutual occlusion does not happen and backface culling is enough to eliminate backfaces if you can see only part of a sub-section.</description>
		<content:encoded><![CDATA[<p>I&#8217;m a hacker at heart, so I like composing my own component-wise matrices like in the good old days <img src='http://www.nicollet.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>BSP tends to be good for static data, as you mention, but constructing an optimal BSP tree is a mess that you don&#8217;t want to do at runtime. Other tree structures, such as ABT or Octrees, can be useful as well, especially if you combine them with simple culling procedures without pre-computations (such as antiportals). Two issues can get quite annoying, though: </p>
<p>- You have to decide how your non-scene objects occlude each other (self-occlusion can be handled through an appropriate sort algorithm): are they drawn as a whole, in order, or can two objects occlude each other?<br />
- You have to cull all polygons that are behind the camera. This can be quite annoying, because it has to be done on a per-polygon basis, so you want to rely on backface culling as much as you can.</p>
<p>All of this points towards splitting your objects into convex or concave sub-sections that are handled as a whole (to avoid handling individual polygons) so that mutual occlusion does not happen and backface culling is enough to eliminate backfaces if you can see only part of a sub-section.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergi</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-3476</link>
		<dc:creator>Sergi</dc:creator>
		<pubDate>Sun, 08 Mar 2009 17:52:23 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-3476</guid>
		<description>I&#039;ve never considered constructing the matrix using the raw data.. I don&#039;t see what advantage it would give over using the Matrix3D transformation methods.

I&#039;m trying to build a 3d engine using the new flash stuff, but i&#039;m unsure of how to handle the depth sorting or occlusion culling. Since there is no access to the GPU it needs to be a fast software only solution. I&#039;ve read about BSP tree&#039;s and understand that they don&#039;t handle dynamic changes all that well which is important. I also read that bsp can be used for static polygons and something else for movable objects.

Given what&#039;s available do you think you could recommend the fastest method or algorithm for depth and culling? No problem if not, just thought i&#039;d ask. :)

Thank you.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve never considered constructing the matrix using the raw data.. I don&#8217;t see what advantage it would give over using the Matrix3D transformation methods.</p>
<p>I&#8217;m trying to build a 3d engine using the new flash stuff, but i&#8217;m unsure of how to handle the depth sorting or occlusion culling. Since there is no access to the GPU it needs to be a fast software only solution. I&#8217;ve read about BSP tree&#8217;s and understand that they don&#8217;t handle dynamic changes all that well which is important. I also read that bsp can be used for static polygons and something else for movable objects.</p>
<p>Given what&#8217;s available do you think you could recommend the fastest method or algorithm for depth and culling? No problem if not, just thought i&#8217;d ask. <img src='http://www.nicollet.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thank you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Victor Nicollet</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-3465</link>
		<dc:creator>Victor Nicollet</dc:creator>
		<pubDate>Sun, 08 Mar 2009 08:41:04 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-3465</guid>
		<description>I suspect the Utils3D.projectVectors() is faster, indeed. My problem when evaluating the library had been the construction of the projection matrix to be applied, not the application itself (as I was attempting to construct a specific projection matrix from its 4x4 coordinates, and encountered several difficulties).</description>
		<content:encoded><![CDATA[<p>I suspect the Utils3D.projectVectors() is faster, indeed. My problem when evaluating the library had been the construction of the projection matrix to be applied, not the application itself (as I was attempting to construct a specific projection matrix from its 4&#215;4 coordinates, and encountered several difficulties).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergi</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-3453</link>
		<dc:creator>Sergi</dc:creator>
		<pubDate>Sat, 07 Mar 2009 22:54:04 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-3453</guid>
		<description>An interesting and informative article, thank you :)

I am puzzled as to why you chose to write your own projection algorithm rather than use Utils3D.projectVectors() which is part of the new Graphics API.

Surely the in-built projector is faster, being written directly into the flash player, as opposed to actionscript code which has to be interpreted and doesn&#039;t have the benefit of low-level memory management, or other techniques for improving algorithm speed.

Perhaps i&#039;m wrong, you seem to know a lot more about this than me.</description>
		<content:encoded><![CDATA[<p>An interesting and informative article, thank you <img src='http://www.nicollet.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I am puzzled as to why you chose to write your own projection algorithm rather than use Utils3D.projectVectors() which is part of the new Graphics API.</p>
<p>Surely the in-built projector is faster, being written directly into the flash player, as opposed to actionscript code which has to be interpreted and doesn&#8217;t have the benefit of low-level memory management, or other techniques for improving algorithm speed.</p>
<p>Perhaps i&#8217;m wrong, you seem to know a lot more about this than me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lance Zigler</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-3232</link>
		<dc:creator>Lance Zigler</dc:creator>
		<pubDate>Mon, 23 Feb 2009 04:48:36 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-3232</guid>
		<description>After hearing about Graphics.drawTriangles, I was pretty stoked but once I realized it only took x and y and I was really disappointed.

The complexity of ordering triangles seems likely to outweigh the benefits of using the routines! Sorrow!

Maybe flash 11 will add a drawTrianglez method... :-P</description>
		<content:encoded><![CDATA[<p>After hearing about Graphics.drawTriangles, I was pretty stoked but once I realized it only took x and y and I was really disappointed.</p>
<p>The complexity of ordering triangles seems likely to outweigh the benefits of using the routines! Sorrow!</p>
<p>Maybe flash 11 will add a drawTrianglez method&#8230; <img src='http://www.nicollet.net/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Victor Nicollet</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-1936</link>
		<dc:creator>Victor Nicollet</dc:creator>
		<pubDate>Sat, 24 Jan 2009 13:51:53 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-1936</guid>
		<description>You&#039;re right. Corrected the above post.</description>
		<content:encoded><![CDATA[<p>You&#8217;re right. Corrected the above post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jakob Mulvad Nielsen</title>
		<link>http://www.nicollet.net/2008/12/flash-10-3d/comment-page-1/#comment-1818</link>
		<dc:creator>Jakob Mulvad Nielsen</dc:creator>
		<pubDate>Fri, 23 Jan 2009 21:12:34 +0000</pubDate>
		<guid isPermaLink="false">http://r17474.ovh.net/?p=155#comment-1818</guid>
		<description>A nice read.

Small comment:
&quot;(this is what the TnL revolution was: Texture and Lighting)&quot;
TnL is an acronym for Transform and Lighting not Texture and Lighting.</description>
		<content:encoded><![CDATA[<p>A nice read.</p>
<p>Small comment:<br />
&#8220;(this is what the TnL revolution was: Texture and Lighting)&#8221;<br />
TnL is an acronym for Transform and Lighting not Texture and Lighting.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

