<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.javaworld.com/community" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Chris Oliver</title>
 <link>http://www.javaworld.com/community/blogs/39</link>
 <description>Blog posts via RSS</description>
 <language>en</language>
<item>
 <title>Inside the Web</title>
 <link>http://www.javaworld.com/community/node/4137</link>
 <description>&lt;!--paging_filter--&gt; &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/4137&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/242">/JavaFX</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Tue, 09 Mar 2010 12:34:57 -0500</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">4137 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Vector Textures</title>
 <link>http://www.javaworld.com/community/node/4109</link>
 <description>&lt;!--paging_filter--&gt; &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/4109&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/242">/JavaFX</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/260">javafx</category>
 <pubDate>Sat, 27 Feb 2010 21:48:14 -0500</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">4109 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Instancing</title>
 <link>http://www.javaworld.com/community/node/3236</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;To conserve memory and minimize processor cache misses and GPU state changes, we need reasonable ways of &quot;instancing&quot; scene graph elements, meaning reusing the same objects in cases where the same element conceptually appears multiple times in the same scene.&lt;/p&gt;
&lt;p&gt;
It&#039;s possible to implement a transform and bounding volume hierarchy which supports instancing, however the overhead is significant, both in terms of its impact on processing costs and memory-use, as well as on ease-of-use for many use cases. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3236&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/260">javafx</category>
 <pubDate>Thu, 23 Jul 2009 18:49:12 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3236 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Lazy binding and functional programming</title>
 <link>http://www.javaworld.com/community/node/3218</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Functional programming techniques can be used in conjunction with lazy binding to rather easily and compactly express the complex multi-valued dependencies we require. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3218&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/260">javafx</category>
 <pubDate>Sat, 18 Jul 2009 19:25:09 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3218 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>The calm in the eye of the binding storm</title>
 <link>http://www.javaworld.com/community/node/3210</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Here&#039;s my attempt to write up a description of the benefits of lazy binding with respect to the construction and composition of 2d shapes. Don&#039;t be too surprised by the naming discrepancies compared to analagous classes from javafx 1.x. For the record, this project was no fork, rather its original version predated the release of javafx 1.0 by over a year, in fact it began prior to the start of any actual development of the javafx 1.0 runtime, aka &quot;Reprise&quot; - but that&#039;s another story. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3210&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/260">javafx</category>
 <pubDate>Wed, 15 Jul 2009 13:13:04 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3210 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Epitaph</title>
 <link>http://www.javaworld.com/community/node/3199</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Although I wasn&#039;t able to create enough momentum to keep this particular project going, if you agree with our assessments, namely observing on the one hand the objective reality of today&#039;s hardware (you can&#039;t actually buy a pc without a GPU - yet if you install a &lt;a href=&quot;http://www.atpurpose.com/atMonitor/&quot; rel=&quot;nofollow&quot;&gt;GPU monitor&lt;/a&gt; you&#039;ll see that it remains pretty much !00% idle unless you scroll a window or play a 3D video game), and on the other hand the reality of how designers and technical artists work (the people who make the multimedia content we see every day in movies, tv, video games), and &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3199&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Mon, 13 Jul 2009 13:05:00 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3199 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>3D Animation and Maya</title>
 <link>http://www.javaworld.com/community/node/3192</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Although I&#039;m not a world class 3d animation expert, the artist member of our little team was. His name is John Yoon, and he&#039;s an amazing guy. He went to MIT with Ken and received a degree in computer science, then worked for a number of years at Alias/Wavefront as an engineer on Maya. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3192&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/260">javafx</category>
 <pubDate>Sat, 11 Jul 2009 20:55:46 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3192 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Collision Detection and Dynamics</title>
 <link>http://www.javaworld.com/community/node/3191</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;We require a high quality engine for both collision detection and dynamics animation. In the current version we utilized the open source &lt;a href=&quot;http://blogs.sun.com/chrisoliver/www.bulletphysics.com&quot; rel=&quot;nofollow&quot;&gt;Bullet&lt;/a&gt; engine which is quite good. It should be straightfoward to plug in alternate engines, although we haven&#039;t done so. The input to the engine is the initial world transform of the body, its collision geometry, mass, friction, restitution, initial velocity, initial spin, initial orientation, initial position, and center of mass. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3191&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Sat, 11 Jul 2009 14:27:45 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3191 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Round 3 - Usability</title>
 <link>http://www.javaworld.com/community/node/3188</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Although our long term objective with this project included incorporating &lt;a href=&quot;http:/blogs.sun.com/ant&quot; rel=&quot;nofollow&quot;&gt;Anthony&lt;/a&gt;&#039;s tool design, given our available resources (1 artist, 2 programmers), our short term objective beginning last December was to create a multimedia production system consisting of just Maya + Photoshop + Illustrator + Scripting, with the intent of eventually sticking Anthony&#039;s tool in the middle, and have it incrementally assume some of the work performed in Maya/Photoshop/Illustrator and some of that performed by scripting.&lt;/p&gt;
&lt;p&gt;
2D Usability
&lt;p&gt;
As mentioned, due tp per &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3188&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Fri, 10 Jul 2009 16:17:48 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3188 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Technical aspects Round 2</title>
 <link>http://www.javaworld.com/community/node/3187</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Rendering&lt;br /&gt;
Triangle mesh geometry and texture mapping&lt;/p&gt;
&lt;p&gt;
The system under discussion here is fundamentally a 3d system. To get high performance, we must design our software systems in such a way as to be able to efficiently leverage the 3d graphics hardware. At the end of the day this boils down to constructing and populating sequences of vertex attributes and textures and making them available to the graphics driver.&lt;/p&gt;
&lt;p&gt;
The rendering system has several layers. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3187&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Fri, 10 Jul 2009 12:55:45 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3187 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Technical aspects</title>
 <link>http://www.javaworld.com/community/node/3183</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Round 1&lt;/p&gt;
&lt;p&gt;Scene graph design
&lt;p&gt;
The system mentioned in my previous post utilizes JavaFX script language features to construct a lazy dependency graph, part of which is the scene graph that provides the infrastructure for rendering, picking, and collision detection. This scene graph does not use the trigger feature of JavaFX script, but rather relies on its lazy binding feature.&lt;/p&gt;
&lt;p&gt;
Thus, when you modify the scene, nothing happens other than that things that depend on your modifications are (implicitly) marked invalid. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3183&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Thu, 09 Jul 2009 22:40:58 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3183 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>The real slim shady</title>
 <link>http://www.javaworld.com/community/node/3176</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;The below are a few examples from a project I&#039;ve worked on for the past 1+ years - all written in javafx script with a modified compiler and from the ground up custom runtime written by me and a few others - one of them &lt;a href=&quot;http://blogs.sun.com/kbr&quot; rel=&quot;nofollow&quot;&gt;Ken Russell&lt;/a&gt; - who sadly just left Sun. We weren&#039;t able to obtain the support we needed for this project to continue, which took its toll. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3176&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Wed, 08 Jul 2009 23:54:14 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3176 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>JavaFX Design Tool</title>
 <link>http://www.javaworld.com/community/node/3057</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Although you probably didn&#039;t see me, I was at JavaOne, where they unveiled the JavaFX design tool. Although the demos were fairly minimal, the elegance, beauty, and genius of &lt;a href=&quot;http://blogs.sun.com/ant&quot; / rel=&quot;nofollow&quot;&gt;Anthony&lt;/a&gt;&#039;s design showed through to me.
&lt;p&gt;
TIMELINE DESIGN&lt;br /&gt;
 &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/3057&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/242">/JavaFX</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Wed, 10 Jun 2009 20:05:56 -0400</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">3057 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Collada MoonBuggy in JavaFX</title>
 <link>http://www.javaworld.com/community/node/2246</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Collada MoonBuggy with skin animation in &lt;a href=&quot;http://blogs.sun.com/chrisoliver/entry/why_javafx&quot; rel=&quot;nofollow&quot;&gt;JavaFX&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;p&gt;
In the scripting API for this scene graph, animated Collada models are Nodes which are also polymorphic with Timelines. You can &quot;play&quot; them. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/2246&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1094">/Research</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/261">3d</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/1095">collada</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/260">javafx</category>
 <pubDate>Tue, 13 Jan 2009 12:29:14 -0500</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">2246 at http://www.javaworld.com/community</guid>
</item>
<item>
 <title>Simple yet elegant vector user interfaces in JavaFX 1.0</title>
 <link>http://www.javaworld.com/community/node/2222</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;&lt;p&gt;
It&#039;s very easy to create simple yet elegant custom vector user interface elements in JavaFX 1.0 by means of simple compositions of basic shapes. The above example consists entirely of compositions of simple triangles and (rounded) rectangles, together with some text.&lt;/p&gt;
&lt;p&gt;
The outer shell is a round rectangle from which two other round rectangles have been &quot;subtracted&quot;, one for the control area, and one for the track of the slider. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.javaworld.com/community/node/2222&quot;&gt;&lt;br /&gt;&lt;br /&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
 <category domain="http://www.javaworld.com/community/taxonomy/term/242">/JavaFX</category>
 <category domain="http://www.javaworld.com/community/taxonomy/term/241">chrisoliver</category>
 <pubDate>Thu, 08 Jan 2009 13:42:48 -0500</pubDate>
 <dc:creator>Chris Oliver</dc:creator>
 <guid isPermaLink="false">2222 at http://www.javaworld.com/community</guid>
</item>
</channel>
</rss>