<?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: Virtual texture mapping, part 2</title>
	<atom:link href="http://anteru.net/2009/03/19/403/feed/" rel="self" type="application/rss+xml" />
	<link>http://anteru.net/2009/03/19/403/</link>
	<description>Graphics, programming &#38; software engineering</description>
	<lastBuildDate>Thu, 22 Mar 2012 06:25:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Anteru</title>
		<link>http://anteru.net/2009/03/19/403/comment-page-1/#comment-13062</link>
		<dc:creator>Anteru</dc:creator>
		<pubDate>Thu, 19 Nov 2009 15:28:47 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=403#comment-13062</guid>
		<description>Yep, that&#039;s the approach -- you have a pre-pass in which you render everything with UV coordinates only (or better, page ids), read this back (or parse on the GPU), and create a list of requested pages.

Reading back to CPU is not too bad, you can render at much lower resolutions (1/10 or less!) and still get correct results -- this is easy to understand if you think about how large the pages are in screen-space: If a page is 128², you could potentially get away with 1/128th the resolution, as it would still cover one pixel. In practice, 1/10-1/20 seems to be the sweet spot (you need some security margin due to stretching etc.). Alternatively, you could implement the parsing on the GPU and just read back a very short list of &lt;em&gt;changes&lt;/em&gt; per frame.

Shameless advertisement: In the upcoming book GPUPro: Advanced Rendering Techniques there will be two sections on virtual texture mapping, one about accelerating it with CUDA, and one which covers the basics. The latter is written by me (among others), and comes with a sample implementation which you can try out.</description>
		<content:encoded><![CDATA[<p>Yep, that&#8217;s the approach &#8212; you have a pre-pass in which you render everything with UV coordinates only (or better, page ids), read this back (or parse on the GPU), and create a list of requested pages.</p>
<p>Reading back to CPU is not too bad, you can render at much lower resolutions (1/10 or less!) and still get correct results &#8212; this is easy to understand if you think about how large the pages are in screen-space: If a page is 128², you could potentially get away with 1/128th the resolution, as it would still cover one pixel. In practice, 1/10-1/20 seems to be the sweet spot (you need some security margin due to stretching etc.). Alternatively, you could implement the parsing on the GPU and just read back a very short list of <em>changes</em> per frame.</p>
<p>Shameless advertisement: In the upcoming book GPUPro: Advanced Rendering Techniques there will be two sections on virtual texture mapping, one about accelerating it with CUDA, and one which covers the basics. The latter is written by me (among others), and comes with a sample implementation which you can try out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Becker</title>
		<link>http://anteru.net/2009/03/19/403/comment-page-1/#comment-13060</link>
		<dc:creator>Richard Becker</dc:creator>
		<pubDate>Thu, 19 Nov 2009 14:34:34 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=403#comment-13060</guid>
		<description>Hello,

I am very interested in implementing sparse virtual textures myself however there is just one thing that confuses me and I have not found an answer in the Mittring paper or the Barret talk. Lets assume we are only rendering a terrain with a very large texture. I understand how to use the tex coords of the geometry and how to map them into the &quot;physical (videomem) texture via the indirection texture (page table). The part I don&#039;t get is the seemingly cyclic problem of knowing what data to copy into the physical texture. Do we render the texcoords of the terrain geometry into a texture and read back on the cpu to determine what pages to load? This seems like it would be painful on the CPU side especially if your screen resolution starts getting higher. Any insight would be greatly appreciated - Richard</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>I am very interested in implementing sparse virtual textures myself however there is just one thing that confuses me and I have not found an answer in the Mittring paper or the Barret talk. Lets assume we are only rendering a terrain with a very large texture. I understand how to use the tex coords of the geometry and how to map them into the &#8220;physical (videomem) texture via the indirection texture (page table). The part I don&#8217;t get is the seemingly cyclic problem of knowing what data to copy into the physical texture. Do we render the texcoords of the terrain geometry into a texture and read back on the cpu to determine what pages to load? This seems like it would be painful on the CPU side especially if your screen resolution starts getting higher. Any insight would be greatly appreciated &#8211; Richard</p>
]]></content:encoded>
	</item>
</channel>
</rss>

