<?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: Unity 3 technology &#8211; Surface Shaders</title>
	<atom:link href="http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/</link>
	<description>A glimpse inside Unity Technologies...</description>
	<lastBuildDate>Mon, 06 Feb 2012 19:04:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-19345</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Fri, 03 Dec 2010 10:51:50 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-19345</guid>
		<description>@unisip: if you do not want to do any lighting, you should not use a surface shader. &lt;b&gt;The&lt;/b&gt; reason for surface shaders is &quot;taking care of all lighting details&quot;. If you do not need that, just write a vertex + fragment shader pair.</description>
		<content:encoded><![CDATA[<p>@unisip: if you do not want to do any lighting, you should not use a surface shader. <b>The</b> reason for surface shaders is &#8220;taking care of all lighting details&#8221;. If you do not need that, just write a vertex + fragment shader pair.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: unisip</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-19318</link>
		<dc:creator>unisip</dc:creator>
		<pubDate>Wed, 01 Dec 2010 21:12:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-19318</guid>
		<description>Hey Aras,

This surface shader thing is totally awesome!!!

When do we get a more comprehensive documentation about all this?

Right now I&#039;m a bit frustrated as I feel somewhat limited to trial and error and copy/paste from other shaders to make it all work.

There are simple things that are probably obvious to you guys but that are not to newcomers. For instance, I couldn&#039;t find a way to disable lighting altogether other than creating a custom lighting model that simply returns 0 (there&#039;s gotta be a more efficient way to do that, right ;-) ).

The result is that I probably get shaders that are much longer than needed. Simple example: I couldn&#039;t get a basic glass shader (transparent fresnel bump reflective cubemap, no lighting) to compile to shader model 2.0 (plain and easy writing the whole thing without surface shaders, but I definitely want to stick to your pipeline as much as I can).

Tks!!</description>
		<content:encoded><![CDATA[<p>Hey Aras,</p>
<p>This surface shader thing is totally awesome!!!</p>
<p>When do we get a more comprehensive documentation about all this?</p>
<p>Right now I&#8217;m a bit frustrated as I feel somewhat limited to trial and error and copy/paste from other shaders to make it all work.</p>
<p>There are simple things that are probably obvious to you guys but that are not to newcomers. For instance, I couldn&#8217;t find a way to disable lighting altogether other than creating a custom lighting model that simply returns 0 (there&#8217;s gotta be a more efficient way to do that, right <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p>The result is that I probably get shaders that are much longer than needed. Simple example: I couldn&#8217;t get a basic glass shader (transparent fresnel bump reflective cubemap, no lighting) to compile to shader model 2.0 (plain and easy writing the whole thing without surface shaders, but I definitely want to stick to your pipeline as much as I can).</p>
<p>Tks!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juanjo</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-18464</link>
		<dc:creator>Juanjo</dc:creator>
		<pubDate>Fri, 22 Oct 2010 12:02:20 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-18464</guid>
		<description>I mean, maybe if you&#039;re doing a huge project cost may leave the effort, but usually if you have something as common as a decent character, you should learn the whole language and syntax, just to write a couple of shaders. It&#039;s too expensive, and is an area in which Unity will highlight offering a new approach for materials design.</description>
		<content:encoded><![CDATA[<p>I mean, maybe if you&#8217;re doing a huge project cost may leave the effort, but usually if you have something as common as a decent character, you should learn the whole language and syntax, just to write a couple of shaders. It&#8217;s too expensive, and is an area in which Unity will highlight offering a new approach for materials design.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juanjo</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-18463</link>
		<dc:creator>Juanjo</dc:creator>
		<pubDate>Fri, 22 Oct 2010 11:53:16 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-18463</guid>
		<description>Definitely shaders must die. Even version 3.0 ones.
I would like a first level of abstraction language to deal with real world parameters. I want to make stone, skin, hair materials. I don&#039;t care what the hardware needs to do this.
Then the current level can be here for the freaks of the effects and performance.
Moreover, I think there should be predefined shaders for these things often necessary as stone, skin or hair.
Unity is supposed to be friendly and easy to use…</description>
		<content:encoded><![CDATA[<p>Definitely shaders must die. Even version 3.0 ones.<br />
I would like a first level of abstraction language to deal with real world parameters. I want to make stone, skin, hair materials. I don&#8217;t care what the hardware needs to do this.<br />
Then the current level can be here for the freaks of the effects and performance.<br />
Moreover, I think there should be predefined shaders for these things often necessary as stone, skin or hair.<br />
Unity is supposed to be friendly and easy to use…</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shan</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-17639</link>
		<dc:creator>shan</dc:creator>
		<pubDate>Wed, 22 Sep 2010 21:35:52 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-17639</guid>
		<description>Hi Aras, I see that vertex and frag shader still works, um... not sure what you mean by handle lightning on deferred rendering and forward rendering, but I do see that I can&#039;t produce anything with the shaders because it doesn&#039;t take in any sort of light. What do I have to do to setup my own lightning model and enable lightning inside pixel and vertex shaders?</description>
		<content:encoded><![CDATA[<p>Hi Aras, I see that vertex and frag shader still works, um&#8230; not sure what you mean by handle lightning on deferred rendering and forward rendering, but I do see that I can&#8217;t produce anything with the shaders because it doesn&#8217;t take in any sort of light. What do I have to do to setup my own lightning model and enable lightning inside pixel and vertex shaders?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-17556</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Mon, 20 Sep 2010 19:23:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-17556</guid>
		<description>@shan: yes, of course. &quot;surface shaders&quot; in Unity 3.0 is nothing more but a code generator; it takes your code and generates more code around it to handle lighting, forward vs. deferred rendering etc. If you don&#039;t need lighting, or want to handle all the complexity of different lighting things (light types, shadow mapping, lightmapping, forward vs. deferred rendering etc.) yourself - sure, go ahead; just write plain vertex/pixel shaders.</description>
		<content:encoded><![CDATA[<p>@shan: yes, of course. &#8220;surface shaders&#8221; in Unity 3.0 is nothing more but a code generator; it takes your code and generates more code around it to handle lighting, forward vs. deferred rendering etc. If you don&#8217;t need lighting, or want to handle all the complexity of different lighting things (light types, shadow mapping, lightmapping, forward vs. deferred rendering etc.) yourself &#8211; sure, go ahead; just write plain vertex/pixel shaders.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shan</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-17548</link>
		<dc:creator>shan</dc:creator>
		<pubDate>Mon, 20 Sep 2010 18:36:50 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-17548</guid>
		<description>so wait? I can still write my own vertex and pixel shaders still?</description>
		<content:encoded><![CDATA[<p>so wait? I can still write my own vertex and pixel shaders still?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16950</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Wed, 01 Sep 2010 20:32:32 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16950</guid>
		<description>@shan: not sure I agree with this. This does not omit vertex shader; in surface shaders the vertex shader is mostly generated for you, and so is large part of the pixel shader.

It seems to me that geometry shaders and compute shaders are not very often used for &quot;regular scene objects&quot;, but more for special-purpose cases. And when we&#039;ll have DX10/11, you could write your own, just like in Unity 3.0 you can write your own vertex &amp; pixel shaders if that&#039;s your thing. Just for 99% of the cases where you want to write a shader for a lit surface, using this code generation approach (surface shaders) seems to be much easier.

Tessellation in DX11 also seems like something that a shader author wouldn&#039;t want to deal with in 99% of the cases when writing shaders for regular objects. Unless I want to exploit tessellation for some funky purpose, all I&#039;d want to do is check &quot;use tessellation&quot; checkbox, and have everything else &quot;just happen&quot; for me.</description>
		<content:encoded><![CDATA[<p>@shan: not sure I agree with this. This does not omit vertex shader; in surface shaders the vertex shader is mostly generated for you, and so is large part of the pixel shader.</p>
<p>It seems to me that geometry shaders and compute shaders are not very often used for &#8220;regular scene objects&#8221;, but more for special-purpose cases. And when we&#8217;ll have DX10/11, you could write your own, just like in Unity 3.0 you can write your own vertex &#038; pixel shaders if that&#8217;s your thing. Just for 99% of the cases where you want to write a shader for a lit surface, using this code generation approach (surface shaders) seems to be much easier.</p>
<p>Tessellation in DX11 also seems like something that a shader author wouldn&#8217;t want to deal with in 99% of the cases when writing shaders for regular objects. Unless I want to exploit tessellation for some funky purpose, all I&#8217;d want to do is check &#8220;use tessellation&#8221; checkbox, and have everything else &#8220;just happen&#8221; for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shan</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16947</link>
		<dc:creator>shan</dc:creator>
		<pubDate>Wed, 01 Sep 2010 18:09:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16947</guid>
		<description>How would this actually be compatible with DX11, sure omit vertex shader is fine, but what about other shaders coming out, such as the compute shader and so on, are those going to be pre defined too. Not sure if this is a good idea for later on down the road where unity has to upgrade to DX11, loosing many more complex functions that programmer couldve written.</description>
		<content:encoded><![CDATA[<p>How would this actually be compatible with DX11, sure omit vertex shader is fine, but what about other shaders coming out, such as the compute shader and so on, are those going to be pre defined too. Not sure if this is a good idea for later on down the road where unity has to upgrade to DX11, loosing many more complex functions that programmer couldve written.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yves bodson</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16883</link>
		<dc:creator>yves bodson</dc:creator>
		<pubDate>Sun, 29 Aug 2010 06:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16883</guid>
		<description>Thanks for your post and very clear exposition of the aspects of shading
Long ago, in the 90s I did some shading and rendering with renderman.  
Can you suggest some reading (books or papers) in relation with your current topic so that I can get back into that field.
My company did just joined Unity and we are doing serious game and simulation for businesses.
Thanks again
yves</description>
		<content:encoded><![CDATA[<p>Thanks for your post and very clear exposition of the aspects of shading<br />
Long ago, in the 90s I did some shading and rendering with renderman.<br />
Can you suggest some reading (books or papers) in relation with your current topic so that I can get back into that field.<br />
My company did just joined Unity and we are doing serious game and simulation for businesses.<br />
Thanks again<br />
yves</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathalie Abbortini</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16256</link>
		<dc:creator>Nathalie Abbortini</dc:creator>
		<pubDate>Wed, 28 Jul 2010 19:13:14 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16256</guid>
		<description>I am wondering the same thing.</description>
		<content:encoded><![CDATA[<p>I am wondering the same thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Koblavi</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16250</link>
		<dc:creator>Koblavi</dc:creator>
		<pubDate>Wed, 28 Jul 2010 15:02:32 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16250</guid>
		<description>Ok, so summer will be coming to a close very soon. You&#039;ve not blogged in a while and we (the ones who cannot afford to preorder at this moment) are wondering when is Unity 3 coming??</description>
		<content:encoded><![CDATA[<p>Ok, so summer will be coming to a close very soon. You&#8217;ve not blogged in a while and we (the ones who cannot afford to preorder at this moment) are wondering when is Unity 3 coming??</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Amstrad</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16231</link>
		<dc:creator>Jason Amstrad</dc:creator>
		<pubDate>Tue, 27 Jul 2010 21:07:31 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16231</guid>
		<description>The guys from Unity should also release a video that demonstrates the &quot;Umbra Occlusion Culling&quot; technology.</description>
		<content:encoded><![CDATA[<p>The guys from Unity should also release a video that demonstrates the &#8220;Umbra Occlusion Culling&#8221; technology.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcin Ignac</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16210</link>
		<dc:creator>Marcin Ignac</dc:creator>
		<pubDate>Tue, 27 Jul 2010 15:43:38 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16210</guid>
		<description>Looks cool but I just hope I won&#039;t make it even harder to write custom FX shaders beyond tex+bumpmap+3lights+(maybe alphablended). If &quot;#pragma surface surf Lambert&quot; is going to save me X hours, I would be great if the X &gt; 0. What is ARB_fog_exp2 and how it augments my code took me a while to figure it out.. All I could find was &#039;here is the fog shader&#039; and &quot;better don&#039;t mess with it&quot;. I don&#039;t say that documentation by example is wrong. Far from that. It&#039;s required if you want to learn and copy&amp;paste stuff. But if you are serious about writing shaders and your lighting models what you need is Reference with list of all magic values, secret functions, _UnderscorePredefiniedVariables and DONT_TOUCH_THIS sematntics.</description>
		<content:encoded><![CDATA[<p>Looks cool but I just hope I won&#8217;t make it even harder to write custom FX shaders beyond tex+bumpmap+3lights+(maybe alphablended). If &#8220;#pragma surface surf Lambert&#8221; is going to save me X hours, I would be great if the X &gt; 0. What is ARB_fog_exp2 and how it augments my code took me a while to figure it out.. All I could find was &#8216;here is the fog shader&#8217; and &#8220;better don&#8217;t mess with it&#8221;. I don&#8217;t say that documentation by example is wrong. Far from that. It&#8217;s required if you want to learn and copy&amp;paste stuff. But if you are serious about writing shaders and your lighting models what you need is Reference with list of all magic values, secret functions, _UnderscorePredefiniedVariables and DONT_TOUCH_THIS sematntics.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16144</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Mon, 26 Jul 2010 19:58:44 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16144</guid>
		<description>@Araya: about multiple UV sets: when you declare uv_MainTex (for example) in your Input structure, this will take UV of the mesh, and transform them by &quot;_MainTex&quot; texture&#039;s tiling/offset values. You can use this uv_MainTex in the surface function to sample other textures as well, if having the same tiling/offset for all of them is fine for you. If you need different tiling/offsets for your textures, you need to declare multiple uv_Foo members.

@harmless: this is actually totally unrelated to GPU skinning.

@FXCarl: in a sense, yes. It&#039;s also similar to OpenShadingLanguage as well. Why we didn&#039;t go with either of those? Because they both are primarily targeted at offline / non-realtime rendering; and also because efficient &amp; open compilers into actual GPU shaders don&#039;t exist for them yet. With &quot;surface shaders&quot;, we aren&#039;t inventing a new programming language at all; it&#039;s just Cg/HLSL, so we can use existing compilers on the different platforms. We&#039;re just generating &quot;the boring code&quot; instead of forcing you to type it.</description>
		<content:encoded><![CDATA[<p>@Araya: about multiple UV sets: when you declare uv_MainTex (for example) in your Input structure, this will take UV of the mesh, and transform them by &#8220;_MainTex&#8221; texture&#8217;s tiling/offset values. You can use this uv_MainTex in the surface function to sample other textures as well, if having the same tiling/offset for all of them is fine for you. If you need different tiling/offsets for your textures, you need to declare multiple uv_Foo members.</p>
<p>@harmless: this is actually totally unrelated to GPU skinning.</p>
<p>@FXCarl: in a sense, yes. It&#8217;s also similar to OpenShadingLanguage as well. Why we didn&#8217;t go with either of those? Because they both are primarily targeted at offline / non-realtime rendering; and also because efficient &#038; open compilers into actual GPU shaders don&#8217;t exist for them yet. With &#8220;surface shaders&#8221;, we aren&#8217;t inventing a new programming language at all; it&#8217;s just Cg/HLSL, so we can use existing compilers on the different platforms. We&#8217;re just generating &#8220;the boring code&#8221; instead of forcing you to type it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: FXCarl</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16143</link>
		<dc:creator>FXCarl</dc:creator>
		<pubDate>Mon, 26 Jul 2010 19:44:30 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16143</guid>
		<description>sounds abit like mental images&#039;s MetaSL isn&#039;t it ?</description>
		<content:encoded><![CDATA[<p>sounds abit like mental images&#8217;s MetaSL isn&#8217;t it ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Atlas</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16076</link>
		<dc:creator>Atlas</dc:creator>
		<pubDate>Fri, 23 Jul 2010 21:54:24 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16076</guid>
		<description>I&#039;m really looking forward to this!  Tons of stuff can be done already with shaders in Unity, but simplifying the process will really increase how much actually is done with shaders.</description>
		<content:encoded><![CDATA[<p>I&#8217;m really looking forward to this!  Tons of stuff can be done already with shaders in Unity, but simplifying the process will really increase how much actually is done with shaders.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe @ ByDesign Games</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16036</link>
		<dc:creator>Joe @ ByDesign Games</dc:creator>
		<pubDate>Thu, 22 Jul 2010 10:58:47 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16036</guid>
		<description>Indeed this is fantastico Aras! Awesome work!

Hope the &quot;couple simple lighting models are built-in&quot; are also built-in-to the documentation :)

@Minevr
Indeed, the shader horse died quickly. Wait... what!? :P</description>
		<content:encoded><![CDATA[<p>Indeed this is fantastico Aras! Awesome work!</p>
<p>Hope the &#8220;couple simple lighting models are built-in&#8221; are also built-in-to the documentation <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>@Minevr<br />
Indeed, the shader horse died quickly. Wait&#8230; what!? <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Minevr</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16024</link>
		<dc:creator>Minevr</dc:creator>
		<pubDate>Thu, 22 Jul 2010 02:56:58 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16024</guid>
		<description>着色器马死的快</description>
		<content:encoded><![CDATA[<p>着色器马死的快</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: roychr</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16022</link>
		<dc:creator>roychr</dc:creator>
		<pubDate>Thu, 22 Jul 2010 00:06:21 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16022</guid>
		<description>@Aras:

If you are not rolling any visual editor, I strongly suggest you put up a dozen or more tutorials on how to learn to edit shaders in Unity 3. I have limited knowledge on that side, what I learned come from the excellent book SHADERS for game programmers and artist. Even after that, complicated terms and medium to hard shader seems beyond reach. Do you have on your side have any book suggestions that we could benefit on to learn this complex area of 3d programming ?</description>
		<content:encoded><![CDATA[<p>@Aras:</p>
<p>If you are not rolling any visual editor, I strongly suggest you put up a dozen or more tutorials on how to learn to edit shaders in Unity 3. I have limited knowledge on that side, what I learned come from the excellent book SHADERS for game programmers and artist. Even after that, complicated terms and medium to hard shader seems beyond reach. Do you have on your side have any book suggestions that we could benefit on to learn this complex area of 3d programming ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cameron</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16019</link>
		<dc:creator>Cameron</dc:creator>
		<pubDate>Wed, 21 Jul 2010 21:32:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16019</guid>
		<description>This looks fantastic Aras. I recall reading your &quot;shaders must die&quot; blog posts a while ago and always hoped you&#039;d get time to implement such a progressive shading language in Unity some day.

I dabbled in Shader Programming for Unity 2.x but never really managed to get my training weels off so to speak. I just never found enough time to become intimate with a shader language during development. However, this looks to make shader programming a much more worthwhile investment of production time for small indy teams which is where Unity really shines.</description>
		<content:encoded><![CDATA[<p>This looks fantastic Aras. I recall reading your &#8220;shaders must die&#8221; blog posts a while ago and always hoped you&#8217;d get time to implement such a progressive shading language in Unity some day.</p>
<p>I dabbled in Shader Programming for Unity 2.x but never really managed to get my training weels off so to speak. I just never found enough time to become intimate with a shader language during development. However, this looks to make shader programming a much more worthwhile investment of production time for small indy teams which is where Unity really shines.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Amstrad</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16008</link>
		<dc:creator>Jason Amstrad</dc:creator>
		<pubDate>Wed, 21 Jul 2010 13:18:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16008</guid>
		<description>Hmmm,
Something very strange is going on.
Unity 3 now has Illuminate Labs Beast technology and Autodesk has just acquired Illuminate Labs.
I wonder what these guys are cooking up.
What do you think ?</description>
		<content:encoded><![CDATA[<p>Hmmm,<br />
Something very strange is going on.<br />
Unity 3 now has Illuminate Labs Beast technology and Autodesk has just acquired Illuminate Labs.<br />
I wonder what these guys are cooking up.<br />
What do you think ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jashan Chittesh</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16005</link>
		<dc:creator>Jashan Chittesh</dc:creator>
		<pubDate>Wed, 21 Jul 2010 10:43:08 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16005</guid>
		<description>I think this is really extremely awesome and certainly development time well spent because it will safe many of us a *lot* of time. While I agree that a visual editor for shaders would be nice to have I think UTs time is better spent doing these kinds of improvements and let the community build their own shader editors on top of that. Guess I&#039;ll have to play around with shaders again ;-)</description>
		<content:encoded><![CDATA[<p>I think this is really extremely awesome and certainly development time well spent because it will safe many of us a *lot* of time. While I agree that a visual editor for shaders would be nice to have I think UTs time is better spent doing these kinds of improvements and let the community build their own shader editors on top of that. Guess I&#8217;ll have to play around with shaders again <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Araya</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-16003</link>
		<dc:creator>Araya</dc:creator>
		<pubDate>Wed, 21 Jul 2010 08:43:26 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-16003</guid>
		<description>@skovacs1

- &quot;when you declare a texture property (_MainTex), the UV sets are generated&quot;... that was exactly my first concern. If each time you declare a texture property (_MainTex) a UV stream is generated, then I have no way to have 2 textures share the same UV set without wasting a whole uv stream (memory concerns here), as the second one will be generated automatically by the underlying engine.
Unless some clever work is done by the compiler through detecting inside the vertex shader that the second uv set if never really referenced by any instruction.
...Or unless uv stream get generated only if explicit uv set are exported (in the same channel order ?)

- About Syntax highlighting; I just thought that Unity 3 would integrate its own shader editor (without having to use an external one), like what Virtools guys did.
This isn&#039;t a big concern thou, but because Aras introduce this formalism of &quot;surface shader&quot; inside Unity it&#039;d have been nice to see the &quot;irrelevant part&quot; really grayed out in the editor (just like in this blog). So you don&#039;t get confused
If there&#039;s no integrated shader editor planed in Unity 3 then my question makes no sense obviously :)</description>
		<content:encoded><![CDATA[<p>@skovacs1</p>
<p>- &#8220;when you declare a texture property (_MainTex), the UV sets are generated&#8221;&#8230; that was exactly my first concern. If each time you declare a texture property (_MainTex) a UV stream is generated, then I have no way to have 2 textures share the same UV set without wasting a whole uv stream (memory concerns here), as the second one will be generated automatically by the underlying engine.<br />
Unless some clever work is done by the compiler through detecting inside the vertex shader that the second uv set if never really referenced by any instruction.<br />
&#8230;Or unless uv stream get generated only if explicit uv set are exported (in the same channel order ?)</p>
<p>- About Syntax highlighting; I just thought that Unity 3 would integrate its own shader editor (without having to use an external one), like what Virtools guys did.<br />
This isn&#8217;t a big concern thou, but because Aras introduce this formalism of &#8220;surface shader&#8221; inside Unity it&#8217;d have been nice to see the &#8220;irrelevant part&#8221; really grayed out in the editor (just like in this blog). So you don&#8217;t get confused<br />
If there&#8217;s no integrated shader editor planed in Unity 3 then my question makes no sense obviously <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Psychoz Interactive CEO</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-15999</link>
		<dc:creator>Psychoz Interactive CEO</dc:creator>
		<pubDate>Wed, 21 Jul 2010 06:20:41 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-15999</guid>
		<description>This is ridiculously wonderful. One of the best addons to Unity so far.
Unity is not only getting better with v3, but also v3 will improve your workflow and reduce your dev time by miles. I remember working and tweaking simple HLSL shaders in the past, wondering when this kind of thing will pop up, and here is. :D
We can now focus on the fun part of a shader! The visual and the look of your material in the surface. No more need to worry! Omg, amazing! :)
Keep the good work guys.
Cheers,</description>
		<content:encoded><![CDATA[<p>This is ridiculously wonderful. One of the best addons to Unity so far.<br />
Unity is not only getting better with v3, but also v3 will improve your workflow and reduce your dev time by miles. I remember working and tweaking simple HLSL shaders in the past, wondering when this kind of thing will pop up, and here is. <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
We can now focus on the fun part of a shader! The visual and the look of your material in the surface. No more need to worry! Omg, amazing! <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Keep the good work guys.<br />
Cheers,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tools, Tipps &#38; Tutos ( 4. Juli-Woche 2010 ) &#171;</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-15962</link>
		<dc:creator>Tools, Tipps &#38; Tutos ( 4. Juli-Woche 2010 ) &#171;</dc:creator>
		<pubDate>Mon, 19 Jul 2010 21:28:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-15962</guid>
		<description>[...] Unity 3 Technologie – Surface Shaders ° Insight &amp; Arena Demo @ [...]</description>
		<content:encoded><![CDATA[<p>[...] Unity 3 Technologie – Surface Shaders ° Insight &amp; Arena Demo @ [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: harmless</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-15960</link>
		<dc:creator>harmless</dc:creator>
		<pubDate>Mon, 19 Jul 2010 19:31:58 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-15960</guid>
		<description>I wonder if this will finally allow GPU skinning? fingers crossed!</description>
		<content:encoded><![CDATA[<p>I wonder if this will finally allow GPU skinning? fingers crossed!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: skovacs1</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-15955</link>
		<dc:creator>skovacs1</dc:creator>
		<pubDate>Mon, 19 Jul 2010 15:29:03 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-15955</guid>
		<description>@Araya

-UVs: when you declare a texture property (_MainTex), the UV sets are generated. If you want access to these generated UVs, you must pass them as input to your surface shaders (uv_MainTex)(the name is important!). Then, tex2D takes in a sampler2D for the texture and the UV set that you want to use as coordinates.

-Syntax highlighting? The code that Aras greyed out are uninteresting as he clearly said &quot;grayed out bits that are not really interesting.&quot; The syntax highlighting in your editor is really something specific to your chosen editor. If your editor is highlighting functions and structs in Unity 2.x cgshader code, then it will be the same in Unity 3.x as the Input is just a struct, and surface and lighting functions are just functions.</description>
		<content:encoded><![CDATA[<p>@Araya</p>
<p>-UVs: when you declare a texture property (_MainTex), the UV sets are generated. If you want access to these generated UVs, you must pass them as input to your surface shaders (uv_MainTex)(the name is important!). Then, tex2D takes in a sampler2D for the texture and the UV set that you want to use as coordinates.</p>
<p>-Syntax highlighting? The code that Aras greyed out are uninteresting as he clearly said &#8220;grayed out bits that are not really interesting.&#8221; The syntax highlighting in your editor is really something specific to your chosen editor. If your editor is highlighting functions and structs in Unity 2.x cgshader code, then it will be the same in Unity 3.x as the Input is just a struct, and surface and lighting functions are just functions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Araya</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-15943</link>
		<dc:creator>Araya</dc:creator>
		<pubDate>Mon, 19 Jul 2010 08:13:41 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-15943</guid>
		<description>@Aras:
Thanks for the reply, and happy to here that you achieved such a good compilation time!

- Ok, it seems I&#039;m missing something with UV sets. I thought the float2 uv stream were generated (filled) by the engine automatically if a texture was declared in the shader code, but considering what you&#039;re saying this isn&#039;t the case... I just have to figure out how to declare a new UV set (RTFM :)

- Abut syntax highlighting, my concern was: is the part you wrote in grey in your example is supposed to be greyed in the shader editor also, or is there some nice and special colors to make it more readable, or is there no special treatment at all in wich case it is interpreted as standard HLSL while in fact it&#039;s not really (like the CGPROGRAM, Tags or Properties words wich have special meannings).</description>
		<content:encoded><![CDATA[<p>@Aras:<br />
Thanks for the reply, and happy to here that you achieved such a good compilation time!</p>
<p>- Ok, it seems I&#8217;m missing something with UV sets. I thought the float2 uv stream were generated (filled) by the engine automatically if a texture was declared in the shader code, but considering what you&#8217;re saying this isn&#8217;t the case&#8230; I just have to figure out how to declare a new UV set (RTFM <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>- Abut syntax highlighting, my concern was: is the part you wrote in grey in your example is supposed to be greyed in the shader editor also, or is there some nice and special colors to make it more readable, or is there no special treatment at all in wich case it is interpreted as standard HLSL while in fact it&#8217;s not really (like the CGPROGRAM, Tags or Properties words wich have special meannings).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bizziboi</title>
		<link>http://blogs.unity3d.com/2010/07/17/unity-3-technology-surface-shaders/#comment-15942</link>
		<dc:creator>bizziboi</dc:creator>
		<pubDate>Mon, 19 Jul 2010 07:13:01 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.unity3d.com/?p=3236#comment-15942</guid>
		<description>Of course, with Unity&#039;s editor extensibility noone&#039;s gonna stop you from writing a visual shader editor. The surface shader approach will only make it even easier to do so :)</description>
		<content:encoded><![CDATA[<p>Of course, with Unity&#8217;s editor extensibility noone&#8217;s gonna stop you from writing a visual shader editor. The surface shader approach will only make it even easier to do so <img src='http://blogs.unity3d.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

