<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
  <title>Molly Rocket</title>
  <link>https://mollyrocket.com/forums/index.php</link>
  <description>Molly Rocket games and everything even tangentially related</description>
  <language>english</language>
  <copyright>(c) Copyright 2010 by Molly Rocket</copyright>
  <managingEditor>forums@mollyrocket.com</managingEditor>
  <webMaster>forums@mollyrocket.com</webMaster>
  <pubDate>Thu Sep 09, 2010 12:14 am</pubDate>
  <lastBuildDate>Thu Sep 09, 2010 12:14 am</lastBuildDate>
  <docs>http://backend.userland.com/rss</docs>
  <generator>phpBB2 RSS Syndication Mod by Lucas</generator>
  <ttl>1</ttl>

  <image>
    <title>Molly Rocket</title>
    <url></url>
    <link>https://mollyrocket.com/forums/</link>
    <description>Molly Rocket games and everything even tangentially related</description>
  </image>

                                      <item>
                                        <title>Introducing LibVT</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6570#6570</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=520'&gt;julian&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Sun Aug 29, 2010 10:05 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      source is up:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://sourceforge.net/projects/libvt/files/&quot; target=&quot;_blank&quot;&gt;https://sourceforge.net/projects/libvt/files/&lt;/a&gt;</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6570#6570</comments>
                                        <author>julian</author>
                                        <pubDate>Sun Aug 29, 2010 10:05 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6570#6570</guid>
                                      </item>
                                      <item>
                                        <title>Issues with running the demo</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6567#6567</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=670'&gt;Bob&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Thu Aug 26, 2010 12:35 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      If someone is still interested, got it running in VS2010, using a Geforce GTX 280.&lt;br /&gt;
&lt;br /&gt;
Stuff I changed:&lt;br /&gt;
Removed one file in the project that triggered the custom build thing, it was in glsl shaders I think.&lt;br /&gt;
Removed the version line in virt_text.txt&lt;br /&gt;
Modified this line in virt_text.txt:&lt;br /&gt;
   result.grad = vec4(dFdx(address) * gradient_scale, dFdy(address) * gradient_scale);</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6567#6567</comments>
                                        <author>Bob</author>
                                        <pubDate>Thu Aug 26, 2010 12:35 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6567#6567</guid>
                                      </item>
                                      <item>
                                        <title>Carmack: Sparse Voxel Octree</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6517#6517</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=406'&gt;icastano&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Thu Jul 22, 2010 9:45 am&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      &lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;sean wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;This seems like it might be huge: &lt;a href=&quot;http://alice.loria.fr/~nivoliev/Seamless/&quot; target=&quot;_blank&quot;&gt;http://alice.loria.fr/~nivoliev/Seamless/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I've always felt like something like this should be possible, although I don't think I ever managed to work out even the simple premise &quot;if you just make shared chart edges have the same shape in texture space (i.e. just translated and 90-degree rotated), you can avoid artifacts&quot;. But it feels like that was where I was always trying to get my head &lt;span style=&quot;font-style: italic&quot;&gt;to&lt;/span&gt; and failing.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
That is pretty cool, I'm glad somebody worked out the details. However, building the initial quad-parameterization is still a challenging task. The global parameterization algorithms work well on paper, but it's not clear whether they are robust enough to be used in a production environment.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6517#6517</comments>
                                        <author>icastano</author>
                                        <pubDate>Thu Jul 22, 2010 9:45 am</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6517#6517</guid>
                                      </item>
                                      <item>
                                        <title>Updating the Pagetable</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6488#6488</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=500'&gt;skynet&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Tue Jun 29, 2010 11:06 am&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      Each tile corresponds to one texel in the page table texture. Depending on which tiles (a.k.a. pages) have been deleted from or uploaded into the page cache, you need to update the corresponding texel in the page table.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6488#6488</comments>
                                        <author>skynet</author>
                                        <pubDate>Tue Jun 29, 2010 11:06 am</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6488#6488</guid>
                                      </item>
                                      <item>
                                        <title>About the feedback buffer</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6404#6404</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=13'&gt;sean&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Thu Apr 29, 2010 4:05 am&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      Cool! You're welcome.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6404#6404</comments>
                                        <author>sean</author>
                                        <pubDate>Thu Apr 29, 2010 4:05 am</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6404#6404</guid>
                                      </item>
                                      <item>
                                        <title>Determing what to have in the cache</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6350#6350</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=520'&gt;julian&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Thu Mar 18, 2010 10:33 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      nice idea!</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6350#6350</comments>
                                        <author>julian</author>
                                        <pubDate>Thu Mar 18, 2010 10:33 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6350#6350</guid>
                                      </item>
                                      <item>
                                        <title>handpainting is a bitch</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6320#6320</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=644'&gt;rouncer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Thu Mar 11, 2010 9:16 am&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      Yo everybody.&lt;br /&gt;
Thanks for the input, I take it you guys wanna see this happen? maybe I do to... the engine is going fine at the moment, I dont see why I cant finish it off.  Ill have a small setting next, im finding using large strokes will probably get me further, Ill leave some areas solid colour - maybe even go for a cartoon look?&lt;br /&gt;
&lt;br /&gt;
Who knows, but with 100% unique texels, the world could not look like anything weve seen before.&lt;br /&gt;
&lt;br /&gt;
Thanks for the interest, ill definitely 100% eventually have something more for you here, just give me another month.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6320#6320</comments>
                                        <author>rouncer</author>
                                        <pubDate>Thu Mar 11, 2010 9:16 am</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6320#6320</guid>
                                      </item>
                                      <item>
                                        <title>Anisotropic filtering</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=6316#6316</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=402'&gt;ryg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Wed Mar 10, 2010 5:05 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      &lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;julian wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;&amp;gt;log2(Pmax / N)&lt;br /&gt;
&amp;gt;= log2(Pmax / min(ceil(Pmax/Pmin), max_anisotropy))&lt;br /&gt;
&lt;br /&gt;
ok of course the same&lt;br /&gt;
&lt;br /&gt;
&amp;gt;= log2(Pmax / ceil(min(Pmax/Pmin), max_anisotropy))&lt;br /&gt;
&lt;br /&gt;
still the same if the parenthesis closing min moves after max_anisotropy&lt;br /&gt;
&lt;br /&gt;
&amp;gt;=floor(log2(max(Pmax / (Pmax/Pmin), Pmax / max_anisotropy))&lt;br /&gt;
&lt;br /&gt;
ok suddenly we return integer instead of floating point values here, but even when looking at the rounded values that are written to the framebuffer i just don't get the same results after this transformation ;&lt;br /&gt;
-(&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;br /&gt;
Woops, yeah, correct. Brainfart, I really shouldn't try to do maths just before going to sleep &lt;img src=&quot;images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;. Yeah, that stuff doesn't work. Just ignore it.&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;julian wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;while we are at it, i see replacing division with multiplication is popular but is there any data on how much this really gains? also if i don't have a constant for 1/max_ani but just one for anisotropy, won't the GLSL compiler still precompute the division of the two constants?&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;br /&gt;
First off, current shader cores don't have a direct divide instruction, so &quot;x = a/b&quot; is always executed as &quot;t = 1.0 / b; x = a * t&quot;. So even if the divide was cheap, precomputing the reciprocal is pretty much always a win. Except the reciprocal usually &lt;span style=&quot;font-style: italic&quot;&gt;isn't&lt;/span&gt; cheap at all - how much slower depends on the exact architecture, but the usual range is 3x to 7x as high latency as a single multiplication.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=6316#6316</comments>
                                        <author>ryg</author>
                                        <pubDate>Wed Mar 10, 2010 5:05 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=6316#6316</guid>
                                      </item>
                                      <item>
                                        <title>Interesting raymarching preso</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=5913#5913</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=394'&gt;jai&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Tue Sep 29, 2009 2:19 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      In addition to Tom's link, there are a whole bunch of fantastic bits on the site. My current favorite is this brief presentation behind the scenes of the amazing 4K demo 'Elevated'. It's a complete walk through -- ideas, inspiration, implementation.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://iquilezles.org/www/material/function2009/function2009.htm&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;http://iquilezles.org/www/material/function2009/function2009.htm&lt;/a&gt;</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=5913#5913</comments>
                                        <author>jai</author>
                                        <pubDate>Tue Sep 29, 2009 2:19 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=5913#5913</guid>
                                      </item>
                                      <item>
                                        <title>Texture corruption on the planets in the demo</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=5909#5909</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=612'&gt;Doug Rogers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Mon Sep 28, 2009 2:31 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      I am using an NVIDIA GeForce 8800 GTS 512 with a recent driver,which should support all the same extensions.  I have not investigated the source of the corruption, though. &lt;br /&gt;
&lt;br /&gt;
I guess the take away here is that a robust implementation would need to be run on a variety of platforms and have fallbacks as is typical of PC applications.&lt;br /&gt;
&lt;br /&gt;
This why a PC is not just one SKU.&lt;br /&gt;
&lt;br /&gt;
Thanks for the presentation and posting the code.&lt;br /&gt;
&lt;br /&gt;
EDIT:  I am using Vista 64 as well.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=5909#5909</comments>
                                        <author>Doug Rogers</author>
                                        <pubDate>Mon Sep 28, 2009 2:31 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=5909#5909</guid>
                                      </item>
                                      <item>
                                        <title>Shouldn't it just be &amp;quot;virtual texturing&amp;quot;?</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=5860#5860</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=505'&gt;AndyFirth&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Tue Aug 25, 2009 2:04 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      one of these days i'm hoping to get a week or two to play around with this stuff... been reading on here for a while and it sounds interesting and useful.&lt;br /&gt;
&lt;br /&gt;
ah... maybe ... one day... i'll get a week to myself.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=5860#5860</comments>
                                        <author>AndyFirth</author>
                                        <pubDate>Tue Aug 25, 2009 2:04 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=5860#5860</guid>
                                      </item>
                                      <item>
                                        <title>Simplest Trilinear Shader</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=5587#5587</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=587'&gt;BrianKaris&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Thu May 07, 2009 6:28 am&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      Yeah, I read that but I wasn't clear what happened when the scales of s and t weren't the same or if there was sheering. What you described sounds like it should handle those cases fine.&lt;br /&gt;
&lt;br /&gt;
If you need a page id texture that is the size of the page table for the find needed pages pass, it can have this info in it to. It would be sampled then by vtc and not vtc * vPageSize but the same texture can be used.&lt;br /&gt;
&lt;br /&gt;
For the next 2 weeks or so I don't have time to start work on implementing this stuff so until them I'm just doing research. Once I have my hands dirty I should be able to talk about this with a lot less uncertainty.&lt;br /&gt;
&lt;br /&gt;
Thanks for the help.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=5587#5587</comments>
                                        <author>BrianKaris</author>
                                        <pubDate>Thu May 07, 2009 6:28 am</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=5587#5587</guid>
                                      </item>
                                      <item>
                                        <title>Microsoft demo at TED -- similar to SVT?</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=5328#5328</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=538'&gt;Corrinne&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Mon Mar 02, 2009 12:33 am&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      Hello, Sean,&lt;br /&gt;
&lt;br /&gt;
I thank you and Carmack for pioneering the early work on sparse texture. I thank Mittring for his sharing his ongoing sparse texture work on Crytek as well. Martin == great guy.&lt;br /&gt;
&lt;br /&gt;
For Seadragon I think the implementation is a pretty straight forward sparse quadtree with arithmetic mean, not wavelet.&lt;br /&gt;
&lt;br /&gt;
I have been working on Haar wavelet sparse texture, mostly standing on shoulders of giants, so I think maybe it's me (MGS), or Bloom (MSR), or Mike (MGS), from Microsoft working on Haar sparse texture?&lt;br /&gt;
&lt;br /&gt;
I have also been working on Volterra series sparse texture. Volterra series has many highly appropriate properties that map well texture data domain.&lt;br /&gt;
&lt;br /&gt;
I am trying to squeeze in my Volterra series sparse texture work into my GDC 2009 speech, but my speech is already 2 to 3 hours overly long and rambling and needs editing and cutting.&lt;br /&gt;
&lt;br /&gt;
Corrinne Yu&lt;br /&gt;
Halo team Principal engine programmer&lt;br /&gt;
Microsoft game studio 1st party Technical lead&lt;br /&gt;
Halo lead</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=5328#5328</comments>
                                        <author>Corrinne</author>
                                        <pubDate>Mon Mar 02, 2009 12:33 am</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=5328#5328</guid>
                                      </item>
                                      <item>
                                        <title>Sparse Virtual Texture Presentation</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=4758#4758</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=521'&gt;MSN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Wed Oct 22, 2008 9:33 pm&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      &lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;julian wrote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;just FYI there is a new paper on the subject that reverences both your works (SVT &amp;amp; UTMfAM):&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ati.amd.com/developer/SIGGRAPH08/Chapter02-Mittring-Advanced_Virtual_Texture_Topics.pdf&quot; target=&quot;_blank&quot;&gt;http://ati.amd.com/developer/SIGGRAPH08/Chapter02-Mittring-Advanced_Virtual_Texture_Topics.pdf&lt;/a&gt;&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Hey, he references me too!&lt;br /&gt;
&lt;br /&gt;
MSN</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=4758#4758</comments>
                                        <author>MSN</author>
                                        <pubDate>Wed Oct 22, 2008 9:33 pm</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=4758#4758</guid>
                                      </item>
                                      <item>
                                        <title>Larrabee at SIGGRAPH</title>
                                        <link>https://mollyrocket.com/forums/viewtopic.php?p=4335#4335</link>
                                        <description>&lt;br /&gt;
                                      Author: &lt;a href='https://mollyrocket.com/forums/profile.php?mode=viewprofile&amp;u=390'&gt;TomF&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
                                      Posted: Sat Aug 09, 2008 6:05 am&lt;br /&gt;&lt;br /&gt;
                                      &lt;br /&gt;&lt;br /&gt;
                                      I think from the replies here that we're talking at cross-purposes some of the time - probably because of a misunderstanding about what the hardware does and doesn't do. I can't actually give you the hardware spec - I like my balls where they are - so you might have to read between the lines a bit here.&lt;br /&gt;
&lt;br /&gt;
But software I can totally talk about. As of last Monday the gloves are off, and I'm doing a talk at Siggraph on Thursday that mentions all this stuff (though it's only 20 minutes, so it doesn't go into this sort of detail).&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;So, from a practical standpoint, it seems like all the &quot;workarounds&quot; for the classic GPU just work&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;br /&gt;
If you need cross-platform first and foremost, this hardware support gives you nothing but extra speed. It's quite a large amount of extra speed, but if you're already running fast enough, who cares, right? So let's leave that aside and assume we're in a world where you do care. Which is the assumption every discussion kinda has to start with, otherwise what's the point, right?&lt;br /&gt;
&lt;br /&gt;
So if you just want to switch from a &quot;software&quot; SVT system such as Sean's or John's, to a &quot;hardware&quot; system (they both use a bit of both of course, I'm just using these as typing shorthand), but you don't want to change the fundamental game engine or artwork, here's where the speed increase comes from:&lt;br /&gt;
&lt;br /&gt;
-No need for the first pass.&lt;br /&gt;
&lt;br /&gt;
-No feedback of that data to the host to manage the page tables.&lt;br /&gt;
&lt;br /&gt;
-In the second pass (which is now the only pass), you don't need 14(?) shader instructions and 2 texture reads, you just read the texture with a perfectly normal texture instruction. If it works, it gives the shader back filtered RGBA data just like a non-SVT system. If it doesn't (which we hope is rare), it gives the shader back the list of faulting addresses, and the shader puts them in a queue for later and does whatever backup plan it wants (usually resampling at a lower mipmap level).&lt;br /&gt;
&lt;br /&gt;
-No memory padding needed.&lt;br /&gt;
&lt;br /&gt;
-No speed penalty when you hit pages that are present.&lt;br /&gt;
&lt;br /&gt;
All that is going to add up to some pretty serious speed improvements. My understanding is that Rage's lighting model is severely constrained because every texture sample costs them so much performance, they can only read a diffuse and a normal map - they just can't afford anything fancier. But if texture samples are now the same cost with SVT as without, that's got to be worth a fair bit.&lt;br /&gt;
&lt;br /&gt;
Note that the page-fault handler system is basically the same in both cases - you get a fault, and you can decide to either service it then, or service it later (end of frame, next frame, whatever). It's a hugely important and gnarly part of the system - lots of prefetch heuristics and knowing what to evict and so on, but it's basically the same algorithm whichever system you use.&lt;br /&gt;
&lt;br /&gt;
So that's &quot;why is my game faster?&quot; But there's a bunch of extra benefits that you just can't get with the software SVT in a practical manner. Again, this is only relevant if you don't mind that some hardware can't do this yet, but let's just pretend for a second:&lt;br /&gt;
&lt;br /&gt;
-No significant changes to any shader or rendering code (compared to a non-SVT engine).&lt;br /&gt;
&lt;br /&gt;
-Works with all filtering/wrap/clamp modes.&lt;br /&gt;
&lt;br /&gt;
-Works with all texture types (cube maps, volumes, etc)&lt;br /&gt;
&lt;br /&gt;
-Works with translucency and multiple layers.&lt;br /&gt;
&lt;br /&gt;
Those are pretty useful things, whether you already have an SVT system up and running or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;Except nobody's actually sat down and implemented it, so does it really work?&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;br /&gt;
Yes, it works. I was at 3Dlabs writing drivers when they implemented it and shipped hardware and wrote the drivers and so on, so yes it works in practice in real machines with real apps. And that was a far more primitive system then the Larrabee implementation - the host had to do an absurd amount of work on page faults. But it still did work. And of course Intel has people writing and testing SVT systems right now - it seems to work just fine.</description>
                                        <comments>https://mollyrocket.com/forums/viewtopic.php?p=4335#4335</comments>
                                        <author>TomF</author>
                                        <pubDate>Sat Aug 09, 2008 6:05 am</pubDate>
                                        <guid isPermaLink="true">https://mollyrocket.com/forums/viewtopic.php?p=4335#4335</guid>
                                      </item></channel></rss>