<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx</link><description>Popular XNA myth #623: " XNA forces me to use the Content Pipeline any time I want to load data into my game ". 
 
 Short Answer 
 Not true! The Content Pipeline is (almost) entirely optional. If you prefer to do things some other way, you are most</description><dc:language>en</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10346006</link><pubDate>Mon, 03 Sep 2012 20:14:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10346006</guid><dc:creator>David Davidson</dc:creator><description>&lt;p&gt;Hey Shawn, not sure if you&amp;#39;ll ever read this, but whatever.&lt;/p&gt;
&lt;p&gt;Could you shed some light on Mipmap generation with Texture2D.FromStream? I tried it out today and I&amp;#39;m quite happy with the results, but I can&amp;#39;t figure out how to get mipmapping working. I&amp;#39;d quite like to precompute it, but I can&amp;#39;t figure out how I would embed mipmap data in any of the formats that FromStream can use (it&amp;#39;s probably impossible). I suppose I could do it on the fly with a wrapper of FromStream that would automatically generate mipmaps, but they would probably be lower quality so I&amp;#39;d like to hear from you first if I can.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10346006" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10067897</link><pubDate>Sun, 26 Sep 2010 15:24:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10067897</guid><dc:creator>RRivero</dc:creator><description>&lt;p&gt;What if I want to create an XNA library, but I want the shaders to be embedded with it? What&amp;#39;s the best way to tackle it?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10067897" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10052383</link><pubDate>Fri, 20 Aug 2010 11:04:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10052383</guid><dc:creator>bSinc</dc:creator><description>&lt;p&gt;What i don&amp;#39;t understand is why you guys don&amp;#39;t include the Content Pipeline Assembly within the XNA Redist so that Artist don&amp;#39;t have to install GSE and VS just for testing content in a game. I know in windows we just can load textures &amp;quot;FromFile&amp;quot; but i really want to use the content pipeline within my Scene Editor for example. Will we see a change in XNA 4?&lt;/p&gt;
&lt;p&gt;Sorry for my English it&amp;#39;s not my native language.&lt;/p&gt;
&lt;p&gt;PS: Where can i send requests to the XBOX Live Team so we finally can have Avatars on the PC. I Don&amp;#39;t understand why i can only create Avatars on XBOX and Phone. Don&amp;#39;t forget the PC Guys! It&amp;#39;s still a very very important Gaming Platform! &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10052383" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10049214</link><pubDate>Thu, 12 Aug 2010 05:24:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10049214</guid><dc:creator>Ultrahead</dc:creator><description>&lt;p&gt;&amp;gt; &amp;quot; if you then have no way to set the data into its final resting place:&amp;quot;&lt;/p&gt;
&lt;p&gt;You mean, other than by using Reflection, right?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10049214" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10047536</link><pubDate>Sun, 08 Aug 2010 17:49:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10047536</guid><dc:creator>FieldsOfCarp</dc:creator><description>&lt;p&gt;I thought the content pipeline was one of the best things in XNA (of course after the graphics API that is ;). There is a certain pleasure in writing custom content pipeline extentions and it all fits in together pertty nicely.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10047536" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10045664</link><pubDate>Wed, 04 Aug 2010 00:39:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045664</guid><dc:creator>Shawn Hargreaves - MSFT</dc:creator><description>&lt;p&gt;&amp;gt; Texture2D.FromStream can be slower because it creates a temporary file to store the stream and then loads the file...&lt;/p&gt;
&lt;p&gt;Not so. &amp;nbsp;You must be thinking of Texture2D.FromFile in Game Studio &amp;lt;= 3.1.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045664" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10045662</link><pubDate>Wed, 04 Aug 2010 00:36:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045662</guid><dc:creator>XZodia</dc:creator><description>&lt;p&gt;@SC&lt;/p&gt;
&lt;p&gt;Texture2D.FromStream can be slower because it creates a temporary file to store the stream and then loads the file...&lt;/p&gt;
&lt;p&gt;Seems rather stupid, I know...&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045662" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10045661</link><pubDate>Wed, 04 Aug 2010 00:28:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045661</guid><dc:creator>Shawn Hargreaves - MSFT</dc:creator><description>&lt;p&gt;&amp;gt; curious about why Texture2D.FromStream might be slower than the Content Pipeline&lt;/p&gt;
&lt;p&gt;The Content Pipeline has already decoded PNG or JPEG data, converted to DXT format, generated mipmaps, etc, so loading is just a block read into a byte array that can be copied directly into a GPU texture.&lt;/p&gt;
&lt;p&gt;FromStream reads from PNG or JPEG, which are nothing like GPU formats, so much more conversion work is required.&lt;/p&gt;
&lt;p&gt;&amp;gt; I really wish the content pipeline was *truly* optional in the sense it was a layer over top of the public utility classes&lt;/p&gt;
&lt;p&gt;It truly is an optional layer over public APIs, except for the four classes I listed at the end of this article.&lt;/p&gt;
&lt;p&gt;In the case of Model, we view that as more of a quick+dirty example to help get beginners started, not the be-all and end-all for more advanced users. It&amp;#39;s designed to be easily replaced, and we expect pretty much every expert game dev or engine author to replace it, so we see little value in making it more extensible.&lt;/p&gt;
&lt;p&gt;In the case of SpriteFont, we chose not to expose the internal structure because that is somewhat complex and subject to change. We wanted to reserve the right to change implementation details without breaking customer code, which requires a level of encapsulation.&lt;/p&gt;
&lt;p&gt;In the case of Song and Video, there&amp;#39;s no deep reason for them not to be user constructable. They just aren&amp;#39;t :-)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045661" width="1" height="1"&gt;</description></item><item><title>re: Content Pipeline optional</title><link>http://blogs.msdn.com/b/shawnhar/archive/2010/08/03/content-pipeline-optional.aspx#10045659</link><pubDate>Wed, 04 Aug 2010 00:18:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045659</guid><dc:creator>SC</dc:creator><description>&lt;p&gt;I&amp;#39;d really love to see a public constructor for SpriteFont one of these days... :) It&amp;#39;s particularly irksome since it&amp;#39;s tightly coupled with SpriteBatch.&lt;/p&gt;
&lt;p&gt;Also curious about why Texture2D.FromStream might be slower than the Content Pipeline. &lt;/p&gt;
&lt;p&gt;I really wish the content pipeline was *truly* optional in the sense it was a layer over top of the public utility classes - internal constructors just make things a nightmare for games that want to support user created content or custom serialization formats. I realize that the internal constructors are there to avoid exposing half-baked public APIs, but we&amp;#39;ve been waiting years and years for these now. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045659" width="1" height="1"&gt;</description></item></channel></rss>