<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blackkettle &#187; LightWave</title>
	<atom:link href="http://blog.blackkettle.org/category/coding/lightwave/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.blackkettle.org</link>
	<description>Things of Occasional Interest</description>
	<lastBuildDate>Wed, 10 Feb 2010 16:03:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>We got flayed!</title>
		<link>http://blog.blackkettle.org/2006/08/16/we-got-flayed/</link>
		<comments>http://blog.blackkettle.org/2006/08/16/we-got-flayed/#comments</comments>
		<pubDate>Wed, 16 Aug 2006 08:02:21 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[LightWave]]></category>
		<category><![CDATA[Shaxam]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://blog.blackkettle.org/2006/08/16/we-got-flayed/</guid>
		<description><![CDATA[The post is here.
]]></description>
			<content:encoded><![CDATA[<p>The post is <a href="http://flay.com/GetDetail.CFM?ID=2312">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackkettle.org/2006/08/16/we-got-flayed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping Video</title>
		<link>http://blog.blackkettle.org/2006/08/12/mapping-video/</link>
		<comments>http://blog.blackkettle.org/2006/08/12/mapping-video/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 13:06:28 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[LightWave]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://blog.blackkettle.org/2006/08/12/mapping-video/</guid>
		<description><![CDATA[So, I&#8217;m trying to map a video texture onto a Xaml surface. So far, so easy. Except I want to apply the diffuse data to the emissive channel, because that&#8217;s closer to the way LightWave works. This is fine with static textures, but there&#8217;s a problem with videos. I generate as much as possible in [...]]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;m trying to map a video texture onto a Xaml surface. So far, so easy. Except I want to apply the diffuse data to the emissive channel, because that&#8217;s closer to the way LightWave works. This is fine with static textures, but there&#8217;s a problem with videos. I generate as much as possible in a ResourceDictionary, and the relevant Xaml looks a little like this:</p>
<pre><code>&lt;VisualBrush x:Key="media_element" Opacity="1.0"&gt;
  &lt;VisualBrush.Visual&gt;
    &lt;MediaElement Source="#filename#" /&gt;
  &lt;/VisualBrush.Visual&gt;
&lt;/VisualBrush&gt;
&lt;DiffuseMaterial Brush="{StaticResource media_element"} /&gt;
&lt;EmissiveMaterial Brush="{StaticResource media_element"} /&gt;
</code></pre>
<p>The problem is that even when I specify that the DiffuseMaterial and EmissiveMaterial brushes point to the same element, they get their own players which don&#8217;t start in sync, so you get ghosting and funky audio ringing. I can&#8217;t see an obvious way around this&#8230; Anyone?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackkettle.org/2006/08/12/mapping-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Layout Is Not Modeler (1)</title>
		<link>http://blog.blackkettle.org/2006/08/12/layout-is-not-modeler-1/</link>
		<comments>http://blog.blackkettle.org/2006/08/12/layout-is-not-modeler-1/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 07:30:49 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[LightWave]]></category>
		<category><![CDATA[LightWave Testing]]></category>

		<guid isPermaLink="false">http://blog.blackkettle.org/2006/08/12/layout-is-not-modeler-1/</guid>
		<description><![CDATA[Ok, it looks like I was wrong in my previous post. I can&#8217;t see an obvious way to launch a plugin on load in Layout. There&#8217;s a button to set it up in Modeler, though&#8230; Why the difference? I&#8217;m going to have a delve into the depths of the Layout config files to see if [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, it looks like I was wrong in my previous post. I can&#8217;t see an obvious way to launch a plugin on load in Layout. There&#8217;s a button to set it up in Modeler, though&#8230; Why the difference? I&#8217;m going to have a delve into the depths of the Layout config files to see if there&#8217;s anything obvious I&#8217;ve missed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackkettle.org/2006/08/12/layout-is-not-modeler-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LightWave Testing</title>
		<link>http://blog.blackkettle.org/2006/08/12/lightwave-testing/</link>
		<comments>http://blog.blackkettle.org/2006/08/12/lightwave-testing/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 07:04:35 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[LightWave]]></category>
		<category><![CDATA[LightWave Testing]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.blackkettle.org/2006/08/12/lightwave-testing/</guid>
		<description><![CDATA[I&#8217;m a great believer in unit testing, and test-first development. Unfortunately, the concept of automated testing doesn&#8217;t sit especially well with developing LightWave plugins (as I am with Shaxam). This project is an attempt to answer that.
The requirements are:

Be able to launch Layout or Modeler from Ruby.
Cause the launched process to open a given model [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a great believer in unit testing, and test-first development. Unfortunately, the concept of automated testing doesn&#8217;t sit especially well with developing LightWave plugins (as I am with Shaxam). This project is an attempt to answer that.<span id="more-7"></span></p>
<p>The requirements are:</p>
<ul>
<li>Be able to launch Layout or Modeler from Ruby.</li>
<li>Cause the launched process to open a given model or scene that is specified per test.</li>
<li>Load a plugin file that is specified per test run.</li>
<li>Run the plugin on the loaded model or scene, and save the output to an output file that is specified per test.</li>
<li>Load the output back into Ruby for verification.</li>
<li>Ideally launch all of this over the network.</li>
</ul>
<p>These parameters stem from what I&#8217;m trying to do with Shaxam. When the Shaxam plugin is run, it saves the current layer or scene to an XML file in XAML format. This simple one-in one-out path with XML at the end should make it an easy fit for Ruby&#8217;s unit test framework, but LightWave seems not to have been designed with this type of process in mind.</p>
<p>So far, I&#8217;ve worked out:</p>
<ul>
<li>I can&#8217;t specify the plugin to load anywhere other than in LightWave&#8217;s config file, but that path can be specified on the command line. This means potentially generating a new config file for each run. Fine.</li>
<li>I can pass a scene filename to Layout on the command line.  Fine.</li>
<li>I can pass an object filename to Modeler on the command line.  Fine.</li>
<li>I don&#8217;t know how to trigger running the plugin once Layout or Modeler has loaded. I know that it&#8217;s possible to specify a plugin to run on startup, but as far as I can tell, it gets run before the scene is loaded. Not fine, but I may be wrong about that.</li>
</ul>
<p>More investigation is needed.</p>
<p>I&#8217;ve already discovered that plugins which run on startup can&#8217;t have a space in their name, because that makes the option parser misfire.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackkettle.org/2006/08/12/lightwave-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby-in-LightWave</title>
		<link>http://blog.blackkettle.org/2006/08/12/ruby-in-lightwave/</link>
		<comments>http://blog.blackkettle.org/2006/08/12/ruby-in-lightwave/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 06:46:46 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[LightWave]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby-in-Lightwave]]></category>

		<guid isPermaLink="false">http://blog.blackkettle.org/2006/08/12/ruby-in-lightwave/</guid>
		<description><![CDATA[This project is at the &#8220;wouldn&#8217;t it be cool&#8221; stage so far. The idea is to compile Ruby as a LightWave plugin, and add an extension to give it access to the LightWave SDK. This would make it a feasible alternative to LScript for prototyping, which I can&#8217;t help but see as a good thing. [...]]]></description>
			<content:encoded><![CDATA[<p>This project is at the &#8220;wouldn&#8217;t it be cool&#8221; stage so far. The idea is to compile Ruby as a LightWave plugin, and add an extension to give it access to the LightWave SDK. This would make it a feasible alternative to LScript for prototyping, which I can&#8217;t help but see as a good thing. There&#8217;s also the outside possibility of being able to use RubyInline (or something related) to generate actual compiled plugin code, which I think would be outstanding.</p>
<p>More on this as it happens.  I might have a little play today, and see what I can see.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackkettle.org/2006/08/12/ruby-in-lightwave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lightwave object loader in Ruby</title>
		<link>http://blog.blackkettle.org/2006/08/12/lightwave-object-loader-in-ruby/</link>
		<comments>http://blog.blackkettle.org/2006/08/12/lightwave-object-loader-in-ruby/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 06:14:47 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[LightWave]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.blackkettle.org/2006/08/12/lightwave-object-loader-in-ruby/</guid>
		<description><![CDATA[Well, I finally got round to it &#8211; I&#8217;ve released a rubygem for loading Lightwave objects in Ruby.  It&#8217;s not especially fast (not too slow either, though&#8230;), but it is pretty well tested.  It&#8217;s been sitting behind the web converter at shaxam.com for a little while, so I figured I&#8217;d get it out there.
]]></description>
			<content:encoded><![CDATA[<p>Well, I finally got round to it &#8211; I&#8217;ve <a href="http://rubyforge.org/projects/lightwave/">released</a> a rubygem for loading Lightwave objects in Ruby.  It&#8217;s not especially fast (not too slow either, though&#8230;), but it is pretty well tested.  It&#8217;s been sitting behind the web converter at <a href="http://www.shaxam.com">shaxam.com</a> for a little while, so I figured I&#8217;d get it out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackkettle.org/2006/08/12/lightwave-object-loader-in-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
