<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://www.simswiki.info/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://simswiki.info/index.php?action=history&amp;feed=atom&amp;title=ShaderTerrain</id>
		<title>ShaderTerrain - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://simswiki.info/index.php?action=history&amp;feed=atom&amp;title=ShaderTerrain"/>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;action=history"/>
		<updated>2026-04-24T07:26:33Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=20225&amp;oldid=prev</id>
		<title>Niol: EP6-BV</title>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=20225&amp;oldid=prev"/>
				<updated>2007-09-07T04:56:04Z</updated>
		
		<summary type="html">&lt;p&gt;EP6-BV&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 04:56, 7 September 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;EP5&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;SS&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;EP6&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;BV&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Niol</name></author>	</entry>

	<entry>
		<id>http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16742&amp;oldid=prev</id>
		<title>Niol: EP5-SS</title>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16742&amp;oldid=prev"/>
				<updated>2007-04-14T09:30:46Z</updated>
		
		<summary type="html">&lt;p&gt;EP5-SS&lt;/p&gt;
&lt;a href=&quot;http://simswiki.info/index.php?title=ShaderTerrain&amp;amp;diff=16742&amp;amp;oldid=16739&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Niol</name></author>	</entry>

	<entry>
		<id>http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16739&amp;oldid=prev</id>
		<title>Niol: EP4-PETS</title>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16739&amp;oldid=prev"/>
				<updated>2007-04-14T09:18:30Z</updated>
		
		<summary type="html">&lt;p&gt;EP4-PETS&lt;/p&gt;
&lt;a href=&quot;http://simswiki.info/index.php?title=ShaderTerrain&amp;amp;diff=16739&amp;amp;oldid=16738&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Niol</name></author>	</entry>

	<entry>
		<id>http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16738&amp;oldid=prev</id>
		<title>Niol: EP3-OFB</title>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16738&amp;oldid=prev"/>
				<updated>2007-04-14T09:12:58Z</updated>
		
		<summary type="html">&lt;p&gt;EP3-OFB&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:12, 14 April 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;EP2&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;NL&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;EP3&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;OFB&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Niol</name></author>	</entry>

	<entry>
		<id>http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16737&amp;oldid=prev</id>
		<title>Niol: EP2-NL</title>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16737&amp;oldid=prev"/>
				<updated>2007-04-14T09:10:38Z</updated>
		
		<summary type="html">&lt;p&gt;EP2-NL&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:10, 14 April 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;EP1&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;UNI&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;EP2&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;NL&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 278:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 278:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; vertexFormatPred targetindices 0 false&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; vertexFormatPred targetindices 0 false&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; viewerRenderTypePred viewerRenderType&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; viewerRenderTypePred viewerRenderType&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; setb cubeMapSupport (queryBooleanGraphicsDeviceCap(hasCubeMapSupport))&amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; create DetermineHardwareSupport()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; pass -fixedFunction&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; pass -fixedFunction &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  # disable lighting, disable normalize normals, enable local viewer&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  # disable lighting, disable normalize normals, enable local viewer&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  create LightingStatesNoStdLightsParam(false true)&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;if ($useSWVertexShaderPath)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; create LightingStatesNoStdLights()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  else&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;create LightingStatesNoStdLightsParam(false true)&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  endif&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  fillmode $stdMatFillMode&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  fillmode $stdMatFillMode&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  colorScalar (1, 1, 1) -applyTextureLightColor 0 0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  colorScalar (1, 1, 1) -applyTextureLightColor 0 0 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  stage&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  stage&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; texture reflectionoutdoorwater-envcube&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;if ($cubeMapSupport)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;textureMIPFilterHint disabled &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;texture reflectionoutdoorwater-envcube&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;textureMIPFilterHint disabled &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;ffTextureCoordsSource fromReflectionVector&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;ffTextureCoordsSource fromReflectionVector&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;textureTransformType vector3&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;textureTransformType vector3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;ffTextureMatrix -orientCameraToGlobal&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;ffTextureMatrix -orientCameraToGlobal&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;textureAddressing clamp clamp clamp&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;textureAddressing clamp clamp clamp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;textureBlend multiply(texture colorScalar) select(diffuse)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;textureBlend multiply(texture colorScalar) select(diffuse)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; else&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  colorScalar (0.3,0.5,1.0)&amp;#160; -applyTextureLightColor 0 0&amp;#160; &amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  textureBlend select(colorScalar) select(diffuse)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; endif&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  end&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  end&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; end&amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; end&amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; if (&amp;amp;withBumpMap)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; if (&amp;amp;withBumpMap) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  pass -fixedFunction&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  pass -fixedFunction&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; create LightingStatesNoStdLights()&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; create LightingStatesNoStdLights()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 341:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 353:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  material&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  material&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; # only activate the water w/ bump shader for pixel shader capable HW&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; # only activate the water w/ bump shader for pixel shader capable HW&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; if (queryIntegerGraphicsDeviceCap(maxPixelProgramVersionMajor) != 0)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; if (queryIntegerGraphicsDeviceCap(maxPixelProgramVersionMajor) != 0) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  create TerrainWaterShader(true)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  create TerrainWaterShader(true)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; endif&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; endif&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Niol</name></author>	</entry>

	<entry>
		<id>http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16735&amp;oldid=prev</id>
		<title>Niol: EP1-UNI</title>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16735&amp;oldid=prev"/>
				<updated>2007-04-14T09:08:23Z</updated>
		
		<summary type="html">&lt;p&gt;EP1-UNI&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:08, 14 April 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;EP0&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;TS2&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;EP1&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;UNI&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xCD7FE87A&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x1C0532FA&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Niol</name></author>	</entry>

	<entry>
		<id>http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16732&amp;oldid=prev</id>
		<title>Niol: EP0-TS2</title>
		<link rel="alternate" type="text/html" href="http://simswiki.info/index.php?title=ShaderTerrain&amp;diff=16732&amp;oldid=prev"/>
				<updated>2007-04-14T09:06:28Z</updated>
		
		<summary type="html">&lt;p&gt;EP0-TS2&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EP0-TS2&lt;br /&gt;
0xCD7FE87A&lt;br /&gt;
0x1C0532FA&lt;br /&gt;
0x4CE399AB&lt;br /&gt;
0xFF1AFA1C&lt;br /&gt;
# terrain&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Shaders for terrain tiles&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
setf  waterbumpMapScale    4.0&lt;br /&gt;
setv3 thumbnailMatDiffCoef (0.75, 0.93, 0.75)&lt;br /&gt;
seti  terrainMatLayer -2&lt;br /&gt;
&lt;br /&gt;
# multiplier on terrain (grass/paints) both on the lot and&lt;br /&gt;
# lot skirts. (See lotSkirt.matShad.)&lt;br /&gt;
setc terrainMatDiffCoef (0.9, 0.9, 0.9)&lt;br /&gt;
&lt;br /&gt;
# Specifies the number of tiles over which the paint &amp;amp; bump textures should be applied.&lt;br /&gt;
setf  canvasDetailTextureScale            4&lt;br /&gt;
setf  canvasBaseTextureScale             20&lt;br /&gt;
setf  paintTextureScale                  20&lt;br /&gt;
setf  paintDetailTextureScale            4.0&lt;br /&gt;
&lt;br /&gt;
#==============================================================================&lt;br /&gt;
&lt;br /&gt;
define TerrainCanvasShaderShader()&lt;br /&gt;
   shader -layer (($terrainMatLayer - 3) * 8)&lt;br /&gt;
      vertexFormatPred position      0 true&lt;br /&gt;
      vertexFormatPred normal        0 true&lt;br /&gt;
      vertexFormatPred texcoord      0 true&lt;br /&gt;
      vertexFormatPred blendindices  0 false&lt;br /&gt;
      vertexFormatPred targetindices 0 false&lt;br /&gt;
      viewerRenderTypePred viewerRenderType&lt;br /&gt;
   &lt;br /&gt;
      pass -fixedFunction&lt;br /&gt;
         create LightingStatesNoStdLights()&lt;br /&gt;
         fillmode $stdMatFillMode&lt;br /&gt;
&lt;br /&gt;
         if ($stdMatLightingDebug)&lt;br /&gt;
            stage&lt;br /&gt;
               texture $stdMatBaseTextureName ${stdMatBaseTextureParam}&lt;br /&gt;
               textureBlend multiply(texture outRegister) select(outRegister)&lt;br /&gt;
            end &lt;br /&gt;
         else&lt;br /&gt;
            stage&lt;br /&gt;
               texture &amp;quot;${texture}&amp;quot;&lt;br /&gt;
               textureAddressing tile tile&lt;br /&gt;
               ffTextureMatrix -scalev ($canvasBaseTextureScale, $canvasBaseTextureScale) -invert&lt;br /&gt;
               ffTextureCoordsSource 0&lt;br /&gt;
               textureBlend multiply(texture outRegister) select(outRegister)&lt;br /&gt;
            end &lt;br /&gt;
            stage&lt;br /&gt;
               texture &amp;quot;${texture}_detail&amp;quot;&lt;br /&gt;
               textureAddressing tile tile&lt;br /&gt;
               ffTextureMatrix -scalev ($canvasDetailTextureScale, $canvasDetailTextureScale) -invert&lt;br /&gt;
               ffTextureCoordsSource 0&lt;br /&gt;
               textureBlend lerpTextureAlpha(texture outRegister) select(outRegister)&lt;br /&gt;
            end &lt;br /&gt;
         endif&lt;br /&gt;
      end       &lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
define TerrainCanvasShader()&lt;br /&gt;
   material&lt;br /&gt;
      if ($stdMatLightingDebug)&lt;br /&gt;
         create LightingDebugStandardMaterialOverrides()&lt;br /&gt;
      endif&lt;br /&gt;
      create TerrainCanvasShaderShader()&lt;br /&gt;
      shader&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#==============================================================================&lt;br /&gt;
&lt;br /&gt;
define TerrainPaintShader(addDetail)&lt;br /&gt;
   shader -layer (($terrainMatLayer - 2) * 8)&lt;br /&gt;
      vertexFormatPred position      0 true&lt;br /&gt;
      vertexFormatPred normal        0 true&lt;br /&gt;
      vertexFormatPred texcoord      0 true&lt;br /&gt;
      vertexFormatPred blendindices  0 false&lt;br /&gt;
      vertexFormatPred targetindices 0 false&lt;br /&gt;
      #viewerRenderTypePred viewerRenderType&lt;br /&gt;
      &lt;br /&gt;
      pass -fixedFunction&lt;br /&gt;
         create LightingStatesNoStdLights()&lt;br /&gt;
         fillmode $stdMatFillMode&lt;br /&gt;
&lt;br /&gt;
         alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha)&lt;br /&gt;
         &lt;br /&gt;
         alphaTest true 10&lt;br /&gt;
         alphaTestFunction acceptIfGreater&lt;br /&gt;
         &lt;br /&gt;
         if ($stdMatLightingDebug)&lt;br /&gt;
            stage&lt;br /&gt;
               texture $stdMatBaseTextureName ${stdMatBaseTextureParam}&lt;br /&gt;
               textureBlend multiply(texture outRegister) select(outRegister)&lt;br /&gt;
            end &lt;br /&gt;
         else&lt;br /&gt;
            if (&amp;amp;addDetail)&lt;br /&gt;
               stage&lt;br /&gt;
                  texture $paintTexture&lt;br /&gt;
                  textureAddressing tile tile&lt;br /&gt;
                  ffTextureMatrix -scalev ($paintTextureScale, $paintTextureScale) -invert&lt;br /&gt;
                  textureTransformType vector2&lt;br /&gt;
                  ffTextureCoordsSource 0&lt;br /&gt;
                  textureBlend select(texture) select(outRegister)&lt;br /&gt;
               end &lt;br /&gt;
               stage&lt;br /&gt;
                  texture &amp;quot;${paintTexture}_detail&amp;quot;&lt;br /&gt;
                  textureAddressing tile tile&lt;br /&gt;
                  ffTextureMatrix -scalev ($paintDetailTextureScale, $paintDetailTextureScale) -invert&lt;br /&gt;
                  textureTransformType vector2&lt;br /&gt;
                  ffTextureCoordsSource 0&lt;br /&gt;
                  textureBlend lerpTextureAlpha(texture outRegister) select(outRegister)&lt;br /&gt;
               end &lt;br /&gt;
            else&lt;br /&gt;
               stage&lt;br /&gt;
                  texture $paintTexture&lt;br /&gt;
                  textureAddressing tile tile&lt;br /&gt;
                  ffTextureMatrix -scalev ($paintTextureScale, $paintTextureScale) -invert&lt;br /&gt;
                  textureTransformType vector2&lt;br /&gt;
                  ffTextureCoordsSource 0&lt;br /&gt;
                  textureBlend select(texture) select(outRegister)&lt;br /&gt;
               end &lt;br /&gt;
            endif&lt;br /&gt;
         endif&lt;br /&gt;
         stage&lt;br /&gt;
            texture $alphaMap&lt;br /&gt;
            textureAddressing clamp clamp&lt;br /&gt;
            ffTextureMatrix -scalev ($alphaMapScaleU, $alphaMapScaleV)&lt;br /&gt;
            ffTextureCoordsSource 0&lt;br /&gt;
            textureBlend select(outRegister) select(texture)&lt;br /&gt;
         end &lt;br /&gt;
      end       &lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
define TerrainPaint()&lt;br /&gt;
   material&lt;br /&gt;
      if ($stdMatLightingDebug)&lt;br /&gt;
         create LightingDebugStandardMaterialOverrides()&lt;br /&gt;
      endif&lt;br /&gt;
      create TerrainPaintShader(true)&lt;br /&gt;
      create TerrainPaintShader(false)&lt;br /&gt;
      shader&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#==============================================================================&lt;br /&gt;
define TerrainLighting()&lt;br /&gt;
   material&lt;br /&gt;
   	create DetermineHardwareSupport()&lt;br /&gt;
&lt;br /&gt;
      shader -layer (($terrainMatLayer - 1) * 8)&lt;br /&gt;
         vertexFormatPred position      0 true&lt;br /&gt;
         vertexFormatPred normal        0 true&lt;br /&gt;
         vertexFormatPred texcoord      0 true&lt;br /&gt;
         vertexFormatPred blendindices  0 false&lt;br /&gt;
         vertexFormatPred targetindices 0 false&lt;br /&gt;
&lt;br /&gt;
         pass -fixedFunction&lt;br /&gt;
            create LightingStatesNoStdLights()&lt;br /&gt;
            fillmode $stdMatFillMode&lt;br /&gt;
&lt;br /&gt;
            alphaBlend srcFactor(destColor) add dstFactor(zero)&lt;br /&gt;
&lt;br /&gt;
            colorScalar $terrainMatDiffCoef 1  # important that alpha be one for ARGB capture.&lt;br /&gt;
&lt;br /&gt;
            ffDepthOffset 0&lt;br /&gt;
            depthTest true -enableDepthWrite false&lt;br /&gt;
&lt;br /&gt;
            stage&lt;br /&gt;
               texture &amp;quot;floorLightMap_0&amp;quot;  # at the moment is deterministically mapped to page 0&lt;br /&gt;
               # A page holds 64x64 tiles. A tile is one world unit wide.&lt;br /&gt;
               ffTextureMatrix -scalev (1/64, 1/64)&lt;br /&gt;
               textureTransformType vector2&lt;br /&gt;
               ffTextureCoordsSource 0&lt;br /&gt;
               textureBlend multiplyScale2(texture colorScalar) select(colorScalar)&lt;br /&gt;
            end &lt;br /&gt;
         end    &lt;br /&gt;
         &lt;br /&gt;
         if ($lmIntegratedShadows)&lt;br /&gt;
            pass -fixedFunction&lt;br /&gt;
               create LightingStatesNoStdLights()&lt;br /&gt;
               fillmode $stdMatFillMode&lt;br /&gt;
               &lt;br /&gt;
               alphaBlend srcFactor(destColor) add dstFactor(zero)&lt;br /&gt;
               &lt;br /&gt;
               depthTest true -enableDepthWrite true&lt;br /&gt;
               depthTestFunction acceptIfLess&lt;br /&gt;
               alphaTest true 100&lt;br /&gt;
               alphaTestFunction acceptIfGreater&lt;br /&gt;
   &lt;br /&gt;
               colorScalar (0.61, 0.61, 0.61)   # needs to be set by tsUserEtc&lt;br /&gt;
   &lt;br /&gt;
               ffDepthOffset 1&lt;br /&gt;
   &lt;br /&gt;
               stage&lt;br /&gt;
                  texture &amp;quot;floorLightMap_0&amp;quot;  &lt;br /&gt;
                  ffTextureMatrix -scalev (1/64, 1/64)&lt;br /&gt;
                  textureTransformType vector2&lt;br /&gt;
                  ffTextureCoordsSource 0&lt;br /&gt;
                  textureBlend select(colorScalar) select(texture)&lt;br /&gt;
               end &lt;br /&gt;
            end&lt;br /&gt;
         elseif (not ($useHWShader2Path or $useHWShader1Path)) # must match condition in OverlayShadowMaterialDef&lt;br /&gt;
            pass -fixedFunction&lt;br /&gt;
               create LightingStatesNoStdLights()&lt;br /&gt;
               fillmode $stdMatFillMode&lt;br /&gt;
&lt;br /&gt;
               alphaBlend srcFactor(zero) add dstFactor(one)&lt;br /&gt;
   &lt;br /&gt;
               ffDepthOffset 1&lt;br /&gt;
               depthTest true -enableDepthWrite true&lt;br /&gt;
               alphaTest true 100&lt;br /&gt;
               alphaTestFunction acceptIfLess&lt;br /&gt;
   &lt;br /&gt;
               stage&lt;br /&gt;
                  texture &amp;quot;floorLightMap_0&amp;quot;  # at the moment is deterministically mapped to page 0&lt;br /&gt;
                  ffTextureMatrix -scalev (1/64, 1/64)&lt;br /&gt;
                  textureTransformType vector2&lt;br /&gt;
                  ffTextureCoordsSource 0&lt;br /&gt;
                  textureBlend select(texture) select(texture)&lt;br /&gt;
               end &lt;br /&gt;
            end&lt;br /&gt;
         endif  &lt;br /&gt;
         &lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
#==============================================================================&lt;br /&gt;
define TerrainToolThumbnail()&lt;br /&gt;
   material&lt;br /&gt;
      shader -layer ($terrainMatLayer * 8)&lt;br /&gt;
         vertexFormatPred position      0 true&lt;br /&gt;
         vertexFormatPred normal        0 true&lt;br /&gt;
         vertexFormatPred texcoord      0 true&lt;br /&gt;
         vertexFormatPred blendindices  0 false&lt;br /&gt;
         vertexFormatPred targetindices 0 false&lt;br /&gt;
&lt;br /&gt;
         pass -fixedFunction&lt;br /&gt;
            create LightingStates()&lt;br /&gt;
            alphaBlend srcFactor(srcAlpha) add dstFactor(zero)&lt;br /&gt;
            colorScalar $thumbnailMatDiffCoef&lt;br /&gt;
            fillmode $stdMatFillMode&lt;br /&gt;
            &lt;br /&gt;
            stage&lt;br /&gt;
               texture $paintTexture&lt;br /&gt;
               textureAddressing tile tile&lt;br /&gt;
               textureBlend multiplyScale2(texture diffuse) select(texture)&lt;br /&gt;
            end &lt;br /&gt;
         end       &lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
define TerrainWaterShader(withBumpMap)&lt;br /&gt;
   shader -layer 1&lt;br /&gt;
      vertexFormatPred position      0 true&lt;br /&gt;
      vertexFormatPred normal        0 true&lt;br /&gt;
      vertexFormatPred color         0 true&lt;br /&gt;
      vertexFormatPred texcoord      0 true&lt;br /&gt;
      vertexFormatPred blendindices  0 false&lt;br /&gt;
      vertexFormatPred targetindices 0 false&lt;br /&gt;
      viewerRenderTypePred viewerRenderType&lt;br /&gt;
      &lt;br /&gt;
      pass -fixedFunction&lt;br /&gt;
         # disable lighting, disable normalize normals, enable local viewer&lt;br /&gt;
         create LightingStatesNoStdLightsParam(false true)            &lt;br /&gt;
         alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha)&lt;br /&gt;
&lt;br /&gt;
         fillmode $stdMatFillMode&lt;br /&gt;
         colorScalar (1, 1, 1) -applyTextureLightColor 0 0&lt;br /&gt;
         &lt;br /&gt;
         stage&lt;br /&gt;
            texture reflectionoutdoorwater-envcube&lt;br /&gt;
            textureMIPFilterHint disabled &lt;br /&gt;
&lt;br /&gt;
            ffTextureCoordsSource fromReflectionVector&lt;br /&gt;
            textureTransformType vector3&lt;br /&gt;
            ffTextureMatrix -orientCameraToGlobal&lt;br /&gt;
&lt;br /&gt;
            textureAddressing clamp clamp clamp&lt;br /&gt;
            textureBlend multiply(texture colorScalar) select(diffuse)&lt;br /&gt;
         end  &lt;br /&gt;
      end   &lt;br /&gt;
      &lt;br /&gt;
      if (&amp;amp;withBumpMap)&lt;br /&gt;
         pass -fixedFunction&lt;br /&gt;
            create LightingStatesNoStdLights()&lt;br /&gt;
            alphaBlend srcFactor(srcAlpha) add dstFactor(invSrcAlpha)&lt;br /&gt;
            fillmode $stdMatFillMode&lt;br /&gt;
            colorScalar (1.0, 1.0, 1.0, 0.3) -applyTextureLightColor 0 0&lt;br /&gt;
         &lt;br /&gt;
            stage &lt;br /&gt;
               texture &amp;quot;water-1-bump&amp;quot;&lt;br /&gt;
               textureAddressing tile tile&lt;br /&gt;
               # -atrans waveformType cycles/sec offset (startU, startV)  (endU, endV)&lt;br /&gt;
               textureMatrixAnimation -targetType fixedFunction -aorigin (0, 0) -atrans sine 0.04 0 (0, 0) (1, 0)  -ascale sawtooth 1 0 ($waterbumpMapScale, $waterbumpMapScale)&lt;br /&gt;
               textureTransformType vector2&lt;br /&gt;
               ffTextureCoordsSource 0&lt;br /&gt;
               textureBlend select(texture) select(texture)&lt;br /&gt;
            end &lt;br /&gt;
   &lt;br /&gt;
            stage&lt;br /&gt;
               texture &amp;quot;water-2-bump&amp;quot;&lt;br /&gt;
               textureAddressing tile tile&lt;br /&gt;
               # -atrans waveformType cycles/sec offset (startU, startV)  (endU, endV)&lt;br /&gt;
               textureMatrixAnimation -targetType fixedFunction -aorigin (0, 0) -atrans sine 0.04 0 (1, 0) (0, 0)  -ascale sawtooth 1 0 ($waterbumpMapScale, $waterbumpMapScale)&lt;br /&gt;
               textureTransformType vector2&lt;br /&gt;
               ffTextureCoordsSource 0&lt;br /&gt;
               textureBlend multiply(texture outRegister) select(texture)&lt;br /&gt;
            end &lt;br /&gt;
            &lt;br /&gt;
            stage&lt;br /&gt;
               # does this work out on GF2 due to reg combiners?&lt;br /&gt;
               textureBlend multiply(outRegister colorScalar) select(colorScalar)&lt;br /&gt;
            end &lt;br /&gt;
         end  &lt;br /&gt;
      endif&lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#==============================================================================&lt;br /&gt;
define TerrainWater()&lt;br /&gt;
   material&lt;br /&gt;
      # only activate the water w/ bump shader for pixel shader capable HW&lt;br /&gt;
      if (queryIntegerGraphicsDeviceCap(maxPixelProgramVersionMajor) != 0)&lt;br /&gt;
         create TerrainWaterShader(true)&lt;br /&gt;
      endif&lt;br /&gt;
      create TerrainWaterShader(false)  # fallback without bumps&lt;br /&gt;
   end&lt;br /&gt;
enddef&lt;br /&gt;
&lt;br /&gt;
#==============================================================================&lt;br /&gt;
&lt;br /&gt;
materialDefinition terrainLightingMaterial&lt;br /&gt;
   setDefinition TerrainLighting&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
materialDefinition waterOnTerrain&lt;br /&gt;
   setDefinition TerrainWater&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
#endshader&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Niol</name></author>	</entry>

	</feed>