<?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: Shaders must die</title>
	<atom:link href="http://aras-p.info/blog/2009/05/05/shaders-must-die/feed/" rel="self" type="application/rss+xml" />
	<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/</link>
	<description>Random thoughts of a triangle pusher</description>
	<lastBuildDate>Sat, 19 May 2012 10:53:32 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-47415</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Fri, 22 Oct 2010 17:04:53 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-47415</guid>
		<description>@eatit: you&#039;re taking &quot;shaders must die&quot; a bit too literally. All I&#039;m trying to achieve with this is to not force the user to write boring, repetitive code to handle lighting/shadows/etc. In each &amp; every shader you do (95% of the time of course), you&#039;d add exactly the same code to handle those things. There&#039;s no reason whatsoever to write that code when it can be automatically generated. Which is exactly what Surface Shaders in Unity 3 do.

If you want to write raw vertex/pixel shaders without this helper thingy (surface shaders), more power to you.</description>
		<content:encoded><![CDATA[<p>@eatit: you&#8217;re taking &#8220;shaders must die&#8221; a bit too literally. All I&#8217;m trying to achieve with this is to not force the user to write boring, repetitive code to handle lighting/shadows/etc. In each &#038; every shader you do (95% of the time of course), you&#8217;d add exactly the same code to handle those things. There&#8217;s no reason whatsoever to write that code when it can be automatically generated. Which is exactly what Surface Shaders in Unity 3 do.</p>
<p>If you want to write raw vertex/pixel shaders without this helper thingy (surface shaders), more power to you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eatit</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-47404</link>
		<dc:creator>eatit</dc:creator>
		<pubDate>Fri, 22 Oct 2010 16:18:16 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-47404</guid>
		<description>This is the most absurd piece of horseshit I have ever read.  The programmable pipeline is one of the most important graphics developments in the past decade.  Just because an individual does not have the mental facilities to understand how modern computer graphics actually work, it does not mean that we can propose for eradication of amazing features.  This is the biggest problem with abstraction platforms like Unity, they encourage people to ignore what is actually going on in the hardware in favor of some proprietary crutch.  It leads to poor programming, inefficiency, and it removes the retard-filter from the game industry.</description>
		<content:encoded><![CDATA[<p>This is the most absurd piece of horseshit I have ever read.  The programmable pipeline is one of the most important graphics developments in the past decade.  Just because an individual does not have the mental facilities to understand how modern computer graphics actually work, it does not mean that we can propose for eradication of amazing features.  This is the biggest problem with abstraction platforms like Unity, they encourage people to ignore what is actually going on in the hardware in favor of some proprietary crutch.  It leads to poor programming, inefficiency, and it removes the retard-filter from the game industry.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Unity Technologies Blog &#187; Blog Archive &#187; Unity 3 technology &#8211; Surface Shaders</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-36263</link>
		<dc:creator>Unity Technologies Blog &#187; Blog Archive &#187; Unity 3 technology &#8211; Surface Shaders</dc:creator>
		<pubDate>Sat, 17 Jul 2010 12:39:05 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-36263</guid>
		<description>[...] a year ago I had a thought that &#8220;Shaders must die&#8221; (part 1, part 2, part 3). And what do you know &#8211; turns out we&#8217;re doing this in Unity 3. We call [...]</description>
		<content:encoded><![CDATA[<p>[...] a year ago I had a thought that &#8220;Shaders must die&#8221; (part 1, part 2, part 3). And what do you know &#8211; turns out we&#8217;re doing this in Unity 3. We call [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jashan</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-29306</link>
		<dc:creator>Jashan</dc:creator>
		<pubDate>Sat, 27 Mar 2010 15:50:28 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-29306</guid>
		<description>It&#039;s awesome that at some point in time (me hopes 3.0 ;-) ) Shaders (in the old form) *will* die - at least in Unity. I totally see your point with the abstraction levels and I&#039;m really looking forward to &quot;working on the abstraction level needed for the problem at hand&quot;. So far, I found shaders &quot;somewhat esoteric&quot; and my feeling is that the reason for that is exactly that I have to dive into an abstraction level I&#039;d just rather not have to deal with. I also don&#039;t write my own engine in C++ and instead use the convenience of Unity and writing down my game logic in C# for that same reason - it will be an awesome day when this will also work for materials (with the possibility of always &quot;doing the really complex stuff&quot; if so needed).</description>
		<content:encoded><![CDATA[<p>It&#8217;s awesome that at some point in time (me hopes 3.0 ;-) ) Shaders (in the old form) *will* die &#8211; at least in Unity. I totally see your point with the abstraction levels and I&#8217;m really looking forward to &#8220;working on the abstraction level needed for the problem at hand&#8221;. So far, I found shaders &#8220;somewhat esoteric&#8221; and my feeling is that the reason for that is exactly that I have to dive into an abstraction level I&#8217;d just rather not have to deal with. I also don&#8217;t write my own engine in C++ and instead use the convenience of Unity and writing down my game logic in C# for that same reason &#8211; it will be an awesome day when this will also work for materials (with the possibility of always &#8220;doing the really complex stuff&#8221; if so needed).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marc</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-28705</link>
		<dc:creator>Marc</dc:creator>
		<pubDate>Mon, 15 Mar 2010 22:57:57 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-28705</guid>
		<description>As if a node based shader authoring environment is any better than using the shader language directly.
To me an optimal solution would be ShaderLab / Torques Material System with the possibility to hook in own shader functions for specific &quot;slots&quot; so pretty much a bit like the logical seperation of the work instead of the hardware dictated seperation of it.

Such a system works for all kind of users and is flexible to extend yet easy enough to allow any kind of user working with it and on top of that it allows teams to create their own editors on top to work with it if they want to.


The above mentioned OSL is a nice idea but a decade too late at least out of my view. With all the high level shader languages and the shader authoring tools I don&#039;t see a reason for it at all.</description>
		<content:encoded><![CDATA[<p>As if a node based shader authoring environment is any better than using the shader language directly.<br />
To me an optimal solution would be ShaderLab / Torques Material System with the possibility to hook in own shader functions for specific &#8220;slots&#8221; so pretty much a bit like the logical seperation of the work instead of the hardware dictated seperation of it.</p>
<p>Such a system works for all kind of users and is flexible to extend yet easy enough to allow any kind of user working with it and on top of that it allows teams to create their own editors on top to work with it if they want to.</p>
<p>The above mentioned OSL is a nice idea but a decade too late at least out of my view. With all the high level shader languages and the shader authoring tools I don&#8217;t see a reason for it at all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-25654</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Sat, 23 Jan 2010 06:18:04 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-25654</guid>
		<description>Yes, OpenShadingLanguage has some very nice ideas. It&#039;s more targeted at offline CPU rendering right now though.</description>
		<content:encoded><![CDATA[<p>Yes, OpenShadingLanguage has some very nice ideas. It&#8217;s more targeted at offline CPU rendering right now though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spudd86</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-25653</link>
		<dc:creator>Spudd86</dc:creator>
		<pubDate>Sat, 23 Jan 2010 06:14:38 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-25653</guid>
		<description>http://code.google.com/p/openshadinglanguage/</description>
		<content:encoded><![CDATA[<p><a href="http://code.google.com/p/openshadinglanguage/" rel="nofollow">http://code.google.com/p/openshadinglanguage/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hornet</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-19304</link>
		<dc:creator>hornet</dc:creator>
		<pubDate>Wed, 03 Jun 2009 08:54:55 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-19304</guid>
		<description>...a shader language as such, no matter the granularity, is the wrong abstraction layer for users. They need a nice graphical user-interface for materials, like the one exposed in ue3, and the one that almost made it into unity a couple of years back :)</description>
		<content:encoded><![CDATA[<p>&#8230;a shader language as such, no matter the granularity, is the wrong abstraction layer for users. They need a nice graphical user-interface for materials, like the one exposed in ue3, and the one that almost made it into unity a couple of years back :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lost in the Triangles &#187; Blog Archive &#187; Shaders must die, part 3</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18925</link>
		<dc:creator>Lost in the Triangles &#187; Blog Archive &#187; Shaders must die, part 3</dc:creator>
		<pubDate>Sun, 10 May 2009 15:24:28 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18925</guid>
		<description>[...] the series (see Part 1, Part [...]</description>
		<content:encoded><![CDATA[<p>[...] the series (see Part 1, Part [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lost in the Triangles &#187; Blog Archive &#187; Shaders must die, part 2</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18872</link>
		<dc:creator>Lost in the Triangles &#187; Blog Archive &#187; Shaders must die, part 2</dc:creator>
		<pubDate>Thu, 07 May 2009 21:35:55 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18872</guid>
		<description>[...] &#171; Shaders must die [...]</description>
		<content:encoded><![CDATA[<p>[...] &laquo; Shaders must die [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ReJ</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18864</link>
		<dc:creator>ReJ</dc:creator>
		<pubDate>Thu, 07 May 2009 07:52:08 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18864</guid>
		<description>Jad: I would not call it repeating, it’s something TODO :)

Number of engines actually do that already. But definitely a TODO for Unity.</description>
		<content:encoded><![CDATA[<p>Jad: I would not call it repeating, it’s something TODO :)</p>
<p>Number of engines actually do that already. But definitely a TODO for Unity.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hcpizzi</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18837</link>
		<dc:creator>hcpizzi</dc:creator>
		<pubDate>Wed, 06 May 2009 10:55:48 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18837</guid>
		<description>I can&#039;t but agree with you. As you say, it&#039;s old concepts, but not too widespread in the realtime arena.

I&#039;d like to implement this at some point. I like to think of it as &quot;declarative shaders&quot;, in contrast to current &quot;imperative shaders&quot;. As with declarative programming, you express WHAT you want, and not HOW you want it.

As you mention, with this approach you can even test different variations, depending on where you run each piece of the puzzle and how you combine them, so as you say you can move from a forward renderer to a deferred just by instructing the tool to do so.

And you can even output the final shaders for hand tuning and optimization if you want to get the most out of them!!</description>
		<content:encoded><![CDATA[<p>I can&#8217;t but agree with you. As you say, it&#8217;s old concepts, but not too widespread in the realtime arena.</p>
<p>I&#8217;d like to implement this at some point. I like to think of it as &#8220;declarative shaders&#8221;, in contrast to current &#8220;imperative shaders&#8221;. As with declarative programming, you express WHAT you want, and not HOW you want it.</p>
<p>As you mention, with this approach you can even test different variations, depending on where you run each piece of the puzzle and how you combine them, so as you say you can move from a forward renderer to a deferred just by instructing the tool to do so.</p>
<p>And you can even output the final shaders for hand tuning and optimization if you want to get the most out of them!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18816</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Tue, 05 May 2009 16:55:43 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18816</guid>
		<description>@Jad: Renderman Shading Language has separation of surface, light, volume, imager and displacement shaders. So yeah, I&#039;m only repeating what has been invented ages ago.</description>
		<content:encoded><![CDATA[<p>@Jad: Renderman Shading Language has separation of surface, light, volume, imager and displacement shaders. So yeah, I&#8217;m only repeating what has been invented ages ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dock</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18811</link>
		<dc:creator>Dock</dc:creator>
		<pubDate>Tue, 05 May 2009 13:55:56 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18811</guid>
		<description>I could happily live without &quot;shaders&quot; as we know them. Too many programmers I know enjoy the fact that they keep artists &#039;away&#039; a bit too much.</description>
		<content:encoded><![CDATA[<p>I could happily live without &#8220;shaders&#8221; as we know them. Too many programmers I know enjoy the fact that they keep artists &#8216;away&#8217; a bit too much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aras Pranckevičius</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18810</link>
		<dc:creator>Aras Pranckevičius</dc:creator>
		<pubDate>Tue, 05 May 2009 13:21:00 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18810</guid>
		<description>@tulcod: whoops, fixed. Yes, I&#039;m not proposing changing the shader language, instead I want to use some &quot;higher level language&quot; that has backends for various hardware shaders. This &quot;higher level language&quot; should not be tied into how the hardware operates though (for most uses).</description>
		<content:encoded><![CDATA[<p>@tulcod: whoops, fixed. Yes, I&#8217;m not proposing changing the shader language, instead I want to use some &#8220;higher level language&#8221; that has backends for various hardware shaders. This &#8220;higher level language&#8221; should not be tied into how the hardware operates though (for most uses).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tulcod</title>
		<link>http://aras-p.info/blog/2009/05/05/shaders-must-die/#comment-18808</link>
		<dc:creator>tulcod</dc:creator>
		<pubDate>Tue, 05 May 2009 13:17:35 +0000</pubDate>
		<guid isPermaLink="false">http://aras-p.info/blog/?p=324#comment-18808</guid>
		<description>&quot;Most of this can wrong&quot; ??
?
??!

proofread your articles better next time ;)

i kinda agree with you, btw: shaders aren&#039;t in an ideal state right now. but i don&#039;t know if changing the shader language would fix this. rather, there should be some kind of compiler which compiles what you propose to the shaders we&#039;re used to. this compiler could later be extended to support raytracing and all that. i think this makes more sense, since it doesn&#039;t stop you from using traditional shaders, which can be very powerful</description>
		<content:encoded><![CDATA[<p>&#8220;Most of this can wrong&#8221; ??<br />
?<br />
??!</p>
<p>proofread your articles better next time ;)</p>
<p>i kinda agree with you, btw: shaders aren&#8217;t in an ideal state right now. but i don&#8217;t know if changing the shader language would fix this. rather, there should be some kind of compiler which compiles what you propose to the shaders we&#8217;re used to. this compiler could later be extended to support raytracing and all that. i think this makes more sense, since it doesn&#8217;t stop you from using traditional shaders, which can be very powerful</p>
]]></content:encoded>
	</item>
</channel>
</rss>

