<?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: Computing Alpha Mipmaps	</title>
	<atom:link href="https://the-witness.net/news/2010/09/computing-alpha-mipmaps/feed/" rel="self" type="application/rss+xml" />
	<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/</link>
	<description>Explore an abandoned island.</description>
	<lastBuildDate>Sat, 02 Sep 2017 22:14:13 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9</generator>
	<item>
		<title>
		By: Ryan Brucks		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-8755945</link>

		<dc:creator><![CDATA[Ryan Brucks]]></dc:creator>
		<pubDate>Sat, 02 Sep 2017 22:14:13 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-8755945</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-946&quot;&gt;Ignacio Castaño&lt;/a&gt;.

Actually the distance fields don&#039;t have to be any more expensive at runtime as its only a different way to encode the data itself. They can be alpha tested just like normal alphas. The only difference is you will usually want to set the default clip threshold to 0.5. I have a simple shader that can convert any hard edged mask into a signed distance field with the edge at 0.5. This isn&#039;t completely solve the coverage problem, but it does seem to look nicer. And one added benefit is animated frames can also morph edges a bit, up to the gradient width.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-946">Ignacio Castaño</a>.</p>
<p>Actually the distance fields don&#8217;t have to be any more expensive at runtime as its only a different way to encode the data itself. They can be alpha tested just like normal alphas. The only difference is you will usually want to set the default clip threshold to 0.5. I have a simple shader that can convert any hard edged mask into a signed distance field with the edge at 0.5. This isn&#8217;t completely solve the coverage problem, but it does seem to look nicer. And one added benefit is animated frames can also morph edges a bit, up to the gradient width.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: ptr		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-2849204</link>

		<dc:creator><![CDATA[ptr]]></dc:creator>
		<pubDate>Sat, 14 Dec 2013 21:25:39 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-2849204</guid>

					<description><![CDATA[To be more specific, msaa on alpha gives a dithering pattern, and running FXAA hides it. Sounds hacky but it gives surprisingly robust results.]]></description>
			<content:encoded><![CDATA[<p>To be more specific, msaa on alpha gives a dithering pattern, and running FXAA hides it. Sounds hacky but it gives surprisingly robust results.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: ptr		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-2849202</link>

		<dc:creator><![CDATA[ptr]]></dc:creator>
		<pubDate>Sat, 14 Dec 2013 21:18:22 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-2849202</guid>

					<description><![CDATA[I&#039;m not a programmer, but I&#039;ve noticed forcing alpha to coverage combined with FXAA on my NV config pannel gives very smooth and stable AA for alpha tested textures, better than super sampling even.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not a programmer, but I&#8217;ve noticed forcing alpha to coverage combined with FXAA on my NV config pannel gives very smooth and stable AA for alpha tested textures, better than super sampling even.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: morando		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-507785</link>

		<dc:creator><![CDATA[morando]]></dc:creator>
		<pubDate>Tue, 12 Feb 2013 12:37:57 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-507785</guid>

					<description><![CDATA[Could you PLEASE, compile your code example into executable form, since i have tried to download NVTT library and some parameters are different and i don&#039;t know how to bind image (Surface) to load from input file. What is a &quot;tmpImage&quot; and how is it related to &quot;image&quot; variable?
Can you show whole source?

Thank you for your time.]]></description>
			<content:encoded><![CDATA[<p>Could you PLEASE, compile your code example into executable form, since i have tried to download NVTT library and some parameters are different and i don&#8217;t know how to bind image (Surface) to load from input file. What is a &#8220;tmpImage&#8221; and how is it related to &#8220;image&#8221; variable?<br />
Can you show whole source?</p>
<p>Thank you for your time.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ben		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-3735</link>

		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 30 Jun 2011 23:06:40 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-3735</guid>

					<description><![CDATA[How are you mipmapping normal maps? The solutions I&#039;ve found online involve averaging x,y,z values and re-normalizing, but these don&#039;t work in extreme cases ( averaging (1,0,0) and (-1,0,0) gives the zero vector) and seem not to take the specific properties of normal maps into account.]]></description>
			<content:encoded><![CDATA[<p>How are you mipmapping normal maps? The solutions I&#8217;ve found online involve averaging x,y,z values and re-normalizing, but these don&#8217;t work in extreme cases ( averaging (1,0,0) and (-1,0,0) gives the zero vector) and seem not to take the specific properties of normal maps into account.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Alan Chambers		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-3363</link>

		<dc:creator><![CDATA[Alan Chambers]]></dc:creator>
		<pubDate>Tue, 07 Jun 2011 14:03:08 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-3363</guid>

					<description><![CDATA[Ignacio, thank you for sharing this, much appreciated. The solution looks excellent for creating mipmap textures offline that maintain great alpha test coverage. I&#039;d certainly use it for foliage and other such paraphernalia. I&#039;ve been hoping for a viable real-time solution to appear that I could use on PlayStation 3. Thanks again for releasing the code, and keep up the great work! Al.]]></description>
			<content:encoded><![CDATA[<p>Ignacio, thank you for sharing this, much appreciated. The solution looks excellent for creating mipmap textures offline that maintain great alpha test coverage. I&#8217;d certainly use it for foliage and other such paraphernalia. I&#8217;ve been hoping for a viable real-time solution to appear that I could use on PlayStation 3. Thanks again for releasing the code, and keep up the great work! Al.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ignacio Castaño		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-3351</link>

		<dc:creator><![CDATA[Ignacio Castaño]]></dc:creator>
		<pubDate>Sun, 05 Jun 2011 07:39:15 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-3351</guid>

					<description><![CDATA[Alan, the implementation is only available in trunk, it still haven&#039;t gotten around to packaging a new official release yet. You can browse its code here:

http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/

The FloatImage class is defined in src/nvimage/FloatImage.cpp, here are the links to the specific functions referenced above:

http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/src/nvimage/FloatImage.cpp#988
http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/src/nvimage/FloatImage.cpp#1005]]></description>
			<content:encoded><![CDATA[<p>Alan, the implementation is only available in trunk, it still haven&#8217;t gotten around to packaging a new official release yet. You can browse its code here:</p>
<p><a href="http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/" rel="nofollow ugc">http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/</a></p>
<p>The FloatImage class is defined in src/nvimage/FloatImage.cpp, here are the links to the specific functions referenced above:</p>
<p><a href="http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/src/nvimage/FloatImage.cpp#988" rel="nofollow ugc">http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/src/nvimage/FloatImage.cpp#988</a><br />
<a href="http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/src/nvimage/FloatImage.cpp#1005" rel="nofollow ugc">http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/src/nvimage/FloatImage.cpp#1005</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Alan Chambers		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-3348</link>

		<dc:creator><![CDATA[Alan Chambers]]></dc:creator>
		<pubDate>Sat, 04 Jun 2011 22:40:21 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-3348</guid>

					<description><![CDATA[Hi Ignacio, great article. Can I ask what version of NVTT the algorithm implementations can be found in? I&#039;ve gone back as far as Dec 2008 but can&#039;t find them in the FloatImage.cpp or .h. I&#039;d be keen to check out the routines you mention to see if they were viable for my current project. I&#039;ve encountered this problem before but I overcame it by using nearest point sampling during the downsampling for the mipmap generation. It&#039;s fast but obviously a solution that accepts linear filtering would look a lot nicer. Cheers, Al.]]></description>
			<content:encoded><![CDATA[<p>Hi Ignacio, great article. Can I ask what version of NVTT the algorithm implementations can be found in? I&#8217;ve gone back as far as Dec 2008 but can&#8217;t find them in the FloatImage.cpp or .h. I&#8217;d be keen to check out the routines you mention to see if they were viable for my current project. I&#8217;ve encountered this problem before but I overcame it by using nearest point sampling during the downsampling for the mipmap generation. It&#8217;s fast but obviously a solution that accepts linear filtering would look a lot nicer. Cheers, Al.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Zenemo		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1277</link>

		<dc:creator><![CDATA[Zenemo]]></dc:creator>
		<pubDate>Wed, 06 Oct 2010 15:18:50 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1277</guid>

					<description><![CDATA[Why about jumping to a complete procedural engine?]]></description>
			<content:encoded><![CDATA[<p>Why about jumping to a complete procedural engine?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Puran		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1121</link>

		<dc:creator><![CDATA[Puran]]></dc:creator>
		<pubDate>Thu, 23 Sep 2010 16:01:20 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1121</guid>

					<description><![CDATA[[QUOTE]Jon, your trees in the game don’t look anything like this screenshot I’m discussing, and  you’re not currently doing alpha blended trees in your game, so I don’t think your comment has much to do with what I’m talking about in context.[/QUOTE]

I think this is the problem... Everyone else is talking in context to the game, you are talking about something else entirely.

Alpha map mip maps : After a certain level, there significantly less 100% opaque pixel values anymore because it is averaged with the neighbouring 0% pixels. So after a bit you end up with a mip map that is mostly 50%. That shouldn&#039;t happen, ignacio found a pretty cool solution and now the leaves don&#039;t get semi transparent when you move away.]]></description>
			<content:encoded><![CDATA[<p>[QUOTE]Jon, your trees in the game don’t look anything like this screenshot I’m discussing, and  you’re not currently doing alpha blended trees in your game, so I don’t think your comment has much to do with what I’m talking about in context.[/QUOTE]</p>
<p>I think this is the problem&#8230; Everyone else is talking in context to the game, you are talking about something else entirely.</p>
<p>Alpha map mip maps : After a certain level, there significantly less 100% opaque pixel values anymore because it is averaged with the neighbouring 0% pixels. So after a bit you end up with a mip map that is mostly 50%. That shouldn&#8217;t happen, ignacio found a pretty cool solution and now the leaves don&#8217;t get semi transparent when you move away.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sean Barrett		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1114</link>

		<dc:creator><![CDATA[Sean Barrett]]></dc:creator>
		<pubDate>Wed, 22 Sep 2010 16:56:47 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1114</guid>

					<description><![CDATA[Jon, your trees in the game don&#039;t look anything like this screenshot I&#039;m discussing, &lt;i&gt;and&lt;/i&gt; you&#039;re not currently doing alpha blended trees in your game, so I don&#039;t think your comment has much to do with what I&#039;m talking about in context.

In general (though not always) we want rendering to approximate the same effect that would obtain in the real world. Now it is true that these are trees which are supposed to be simulacra of such things as they exist in the real world, and to the degree that they are inaccurate from real trees you might nevertheless want them to have certain properties as you got further away from them that wouldn&#039;t be accurate from a standpoint of The Rendering Equation, but which would be true to the thing you had intended to simulate. (This is what I meant by &quot;aesthetically superior in your context&quot;). But I don&#039;t think that&#039;s even what&#039;s going on here, because clearly if they are opaque up close according to the rendering equation, they are opaque far away according to the rendering equation. The problem is that alpha testing is a hack that&#039;s very far from the results of the rendering equation, so the (naive) alpha testing results deviate as discussed.

And while I am fine with the idea that the proposed solution is aesthetically superior in your context -- rock on! -- Ignacio originally expressed the issue as &quot;Note that this problem does not only show up when using alpha testing, but also when using alpha to coverage (as in these screenshots) or alpha blending in general&quot;, implying that it is perhaps something of interest &lt;i&gt;outside&lt;/i&gt; the context of rendering the Witness. Thus we were in fact talking about alpha-blended trees, and this generality, not the Witness in particular, so this is further part of why I am doubtful of your reply.

So, sticking to correctness: if the original art was actually opaque, and then you get farther away from it, it should look the same as when you were close to it but downsampled -- that downsampling will preserve opacity wherever it was opaque in a large enough region. High-pixel-count SSAA is equivalent to downsampling the &quot;closer&quot; image. Thus such a test would be both mathematically correct *and* addresses the opacity issue with which he was concerned.

Anyway, given that the opacity-preservation would be preserved by downsampling the original composited image (this is just &quot;blend does not distribute over lerp&quot; again), I stand by my claim: I can&#039;t tell in Ignacio&#039;s example for alpha blending which of the two images actually reproduces the visibility effect you would see at that distance; I&#039;d need to see a &quot;correct&quot; reference to tell that. But that wouldn&#039;t even necessarily address the actual question; since the actual problematic effect is one of an interaction of multiple layers (with alpha blending an alpha value representing coverage, normal mipmapping clearly does do the right thing for single layers), and the example he tested doesn&#039;t seem to demonstrate multiple overlapping with some significant depth complexity, I don&#039;t even know what&#039;s right. I just see one lighter than the other but neither looks more right. And I can&#039;t necessarily tell whether that amount of lightness is appropriate algorithmically; e.g. is two layers of 90% opacity really visibility non-opaque? Three? And what are the actual numbers here?

Which is why, you know, it would be a lot simpler if I could just play with the tree model and figure it out for myself.]]></description>
			<content:encoded><![CDATA[<p>Jon, your trees in the game don&#8217;t look anything like this screenshot I&#8217;m discussing, <i>and</i> you&#8217;re not currently doing alpha blended trees in your game, so I don&#8217;t think your comment has much to do with what I&#8217;m talking about in context.</p>
<p>In general (though not always) we want rendering to approximate the same effect that would obtain in the real world. Now it is true that these are trees which are supposed to be simulacra of such things as they exist in the real world, and to the degree that they are inaccurate from real trees you might nevertheless want them to have certain properties as you got further away from them that wouldn&#8217;t be accurate from a standpoint of The Rendering Equation, but which would be true to the thing you had intended to simulate. (This is what I meant by &#8220;aesthetically superior in your context&#8221;). But I don&#8217;t think that&#8217;s even what&#8217;s going on here, because clearly if they are opaque up close according to the rendering equation, they are opaque far away according to the rendering equation. The problem is that alpha testing is a hack that&#8217;s very far from the results of the rendering equation, so the (naive) alpha testing results deviate as discussed.</p>
<p>And while I am fine with the idea that the proposed solution is aesthetically superior in your context &#8212; rock on! &#8212; Ignacio originally expressed the issue as &#8220;Note that this problem does not only show up when using alpha testing, but also when using alpha to coverage (as in these screenshots) or alpha blending in general&#8221;, implying that it is perhaps something of interest <i>outside</i> the context of rendering the Witness. Thus we were in fact talking about alpha-blended trees, and this generality, not the Witness in particular, so this is further part of why I am doubtful of your reply.</p>
<p>So, sticking to correctness: if the original art was actually opaque, and then you get farther away from it, it should look the same as when you were close to it but downsampled &#8212; that downsampling will preserve opacity wherever it was opaque in a large enough region. High-pixel-count SSAA is equivalent to downsampling the &#8220;closer&#8221; image. Thus such a test would be both mathematically correct *and* addresses the opacity issue with which he was concerned.</p>
<p>Anyway, given that the opacity-preservation would be preserved by downsampling the original composited image (this is just &#8220;blend does not distribute over lerp&#8221; again), I stand by my claim: I can&#8217;t tell in Ignacio&#8217;s example for alpha blending which of the two images actually reproduces the visibility effect you would see at that distance; I&#8217;d need to see a &#8220;correct&#8221; reference to tell that. But that wouldn&#8217;t even necessarily address the actual question; since the actual problematic effect is one of an interaction of multiple layers (with alpha blending an alpha value representing coverage, normal mipmapping clearly does do the right thing for single layers), and the example he tested doesn&#8217;t seem to demonstrate multiple overlapping with some significant depth complexity, I don&#8217;t even know what&#8217;s right. I just see one lighter than the other but neither looks more right. And I can&#8217;t necessarily tell whether that amount of lightness is appropriate algorithmically; e.g. is two layers of 90% opacity really visibility non-opaque? Three? And what are the actual numbers here?</p>
<p>Which is why, you know, it would be a lot simpler if I could just play with the tree model and figure it out for myself.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Marc		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1093</link>

		<dc:creator><![CDATA[Marc]]></dc:creator>
		<pubDate>Tue, 21 Sep 2010 00:56:07 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1093</guid>

					<description><![CDATA[I&#039;m wondering, what&#039;s the poly count on the trees?]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m wondering, what&#8217;s the poly count on the trees?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Reginald		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1092</link>

		<dc:creator><![CDATA[Reginald]]></dc:creator>
		<pubDate>Mon, 20 Sep 2010 20:15:53 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1092</guid>

					<description><![CDATA[@ Sean Barett: can you somehow blackmail casey and jeff into doing more podcasts ?  I hear tell that Casey&#039;s got quite the pastry fetish, and if that news were made public, well, he could lose some prestige.]]></description>
			<content:encoded><![CDATA[<p>@ Sean Barett: can you somehow blackmail casey and jeff into doing more podcasts ?  I hear tell that Casey&#8217;s got quite the pastry fetish, and if that news were made public, well, he could lose some prestige.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1091</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Mon, 20 Sep 2010 19:01:23 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1091</guid>

					<description><![CDATA[Well, wait, no.  Because it doesn&#039;t matter what the results of 256-sample SSAA would be, because we are not trying to duplicate the results of an abstract high-res rendering process; we are trying to use 3D rendering to generate a specific effect.

That effect is trees that don&#039;t look like cellophane when you are far away from them -- as they do not in the real world.   This does that.  Therefore, it&#039;s &quot;right&quot;.]]></description>
			<content:encoded><![CDATA[<p>Well, wait, no.  Because it doesn&#8217;t matter what the results of 256-sample SSAA would be, because we are not trying to duplicate the results of an abstract high-res rendering process; we are trying to use 3D rendering to generate a specific effect.</p>
<p>That effect is trees that don&#8217;t look like cellophane when you are far away from them &#8212; as they do not in the real world.   This does that.  Therefore, it&#8217;s &#8220;right&#8221;.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sean Barrett		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1043</link>

		<dc:creator><![CDATA[Sean Barrett]]></dc:creator>
		<pubDate>Fri, 17 Sep 2010 02:20:03 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1043</guid>

					<description><![CDATA[Like I said, they look more transparent, but I don&#039;t know what&#039;s actually right. E.g. we&#039;d really need a 256-sample SSAA that we downsample and compare against to be sure -- and no, I&#039;m not saying you should go do that work, I&#039;m just saying it&#039;s one thing to say one or the other is &#039;aesthetically superior&#039; in your context, and another to say it&#039;s actually &#039;more right&#039;.

If you can send me your tree model I&#039;d be curious to play with it a little.]]></description>
			<content:encoded><![CDATA[<p>Like I said, they look more transparent, but I don&#8217;t know what&#8217;s actually right. E.g. we&#8217;d really need a 256-sample SSAA that we downsample and compare against to be sure &#8212; and no, I&#8217;m not saying you should go do that work, I&#8217;m just saying it&#8217;s one thing to say one or the other is &#8216;aesthetically superior&#8217; in your context, and another to say it&#8217;s actually &#8216;more right&#8217;.</p>
<p>If you can send me your tree model I&#8217;d be curious to play with it a little.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ignacio Castaño		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1037</link>

		<dc:creator><![CDATA[Ignacio Castaño]]></dc:creator>
		<pubDate>Thu, 16 Sep 2010 23:44:34 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1037</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1011&quot;&gt;Sean Barrett&lt;/a&gt;.

@Sean it&#039;s not trivial to test this on trees since in our case, they have many self intersections and don&#039;t look good when rendered with alpha blending. What I was trying to show is that without coverage preservation the leaves become almost transparent when minimized, while with coverage preservation they stay significantly more opaque. I don&#039;t think that adding multiple layers of foliage would make that any different.

The shadows are a separate issue, but that&#039;s not what I was trying to show...

I&#039;m moderately satisfied with how foliage looks on PC, but on consoles it&#039;s hard to afford MSAA, so it might make sense to use hacks like that. It does seem to look quite good, but I&#039;ll have to try the game to convince myself.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1011">Sean Barrett</a>.</p>
<p>@Sean it&#8217;s not trivial to test this on trees since in our case, they have many self intersections and don&#8217;t look good when rendered with alpha blending. What I was trying to show is that without coverage preservation the leaves become almost transparent when minimized, while with coverage preservation they stay significantly more opaque. I don&#8217;t think that adding multiple layers of foliage would make that any different.</p>
<p>The shadows are a separate issue, but that&#8217;s not what I was trying to show&#8230;</p>
<p>I&#8217;m moderately satisfied with how foliage looks on PC, but on consoles it&#8217;s hard to afford MSAA, so it might make sense to use hacks like that. It does seem to look quite good, but I&#8217;ll have to try the game to convince myself.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: cb		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1032</link>

		<dc:creator><![CDATA[cb]]></dc:creator>
		<pubDate>Thu, 16 Sep 2010 17:19:03 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1032</guid>

					<description><![CDATA[&quot;The high concept makes sense in the abstract, sure, but it doesn’t seem very convincing. Yes, a tree should stay opaque and if you make all the leaves 50% transparent it won’t stay 100% opaque. But making the leaves go away entirely has got to be worse; at least the mipmapped alpha blended tree is 90-95% opaque, instead of 0% opaque.&quot;

A technique I&#039;ve used in the past is to simply randomly choose one of the 4 parent pixels instead of blending them together.  Even *that* horrible hack often looks better than regular mip-mapped alpha blending on things like leaves and chain link fences, etc.  (in fact lots of artists use this hack by disabling mip-mapping on alpha-tested textures).  But IC&#039;s method is surely better than those.

ps. premultiplied alpha. lol.]]></description>
			<content:encoded><![CDATA[<p>&#8220;The high concept makes sense in the abstract, sure, but it doesn’t seem very convincing. Yes, a tree should stay opaque and if you make all the leaves 50% transparent it won’t stay 100% opaque. But making the leaves go away entirely has got to be worse; at least the mipmapped alpha blended tree is 90-95% opaque, instead of 0% opaque.&#8221;</p>
<p>A technique I&#8217;ve used in the past is to simply randomly choose one of the 4 parent pixels instead of blending them together.  Even *that* horrible hack often looks better than regular mip-mapped alpha blending on things like leaves and chain link fences, etc.  (in fact lots of artists use this hack by disabling mip-mapping on alpha-tested textures).  But IC&#8217;s method is surely better than those.</p>
<p>ps. premultiplied alpha. lol.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: kj12345		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1030</link>

		<dc:creator><![CDATA[kj12345]]></dc:creator>
		<pubDate>Thu, 16 Sep 2010 12:53:08 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1030</guid>

					<description><![CDATA[Thanks for sharing, this its looking really good. Do you know if those trees are being generated by something like SpeedTree or just custom modeling? That process might be an interesting blog post.]]></description>
			<content:encoded><![CDATA[<p>Thanks for sharing, this its looking really good. Do you know if those trees are being generated by something like SpeedTree or just custom modeling? That process might be an interesting blog post.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sean Barrett		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1011</link>

		<dc:creator><![CDATA[Sean Barrett]]></dc:creator>
		<pubDate>Wed, 15 Sep 2010 09:07:37 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1011</guid>

					<description><![CDATA[The only flaw I see there is the shadows, which are another alpha tested case, and I do I agree about the improvement for the alpha test case. The farther away stuff looks different, but it&#039;s not clear to me which one is more right or wrong; this doesn&#039;t seem to be testing the case I thought we were talking about, looking through a tree or other multiple layers of foilage that ought to be opaque.

Also relevant is the approach to foliage in Pure: http://www2.disney.co.uk/cms_res/blackrockstudio/pdf/Foliage_Rendering_in_Pure.pdf
although they don&#039;t talk about shadows at all. They don&#039;t do alpha testing or regular blending; they do some hacky blending that weights between adding up all the alpha (which will go opaque with multiple non-opaque layers) and taking the max of all the alpha (which is only opaque if some alpha is opaque). The whole thing is super hacky, but then I&#039;ve yet to see good-looking foliage that didn&#039;t smack of a hack.]]></description>
			<content:encoded><![CDATA[<p>The only flaw I see there is the shadows, which are another alpha tested case, and I do I agree about the improvement for the alpha test case. The farther away stuff looks different, but it&#8217;s not clear to me which one is more right or wrong; this doesn&#8217;t seem to be testing the case I thought we were talking about, looking through a tree or other multiple layers of foilage that ought to be opaque.</p>
<p>Also relevant is the approach to foliage in Pure: <a href="http://www2.disney.co.uk/cms_res/blackrockstudio/pdf/Foliage_Rendering_in_Pure.pdf" rel="nofollow ugc">http://www2.disney.co.uk/cms_res/blackrockstudio/pdf/Foliage_Rendering_in_Pure.pdf</a><br />
although they don&#8217;t talk about shadows at all. They don&#8217;t do alpha testing or regular blending; they do some hacky blending that weights between adding up all the alpha (which will go opaque with multiple non-opaque layers) and taking the max of all the alpha (which is only opaque if some alpha is opaque). The whole thing is super hacky, but then I&#8217;ve yet to see good-looking foliage that didn&#8217;t smack of a hack.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ignacio Castaño		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-1004</link>

		<dc:creator><![CDATA[Ignacio Castaño]]></dc:creator>
		<pubDate>Wed, 15 Sep 2010 01:03:30 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-1004</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-982&quot;&gt;Sean Barrett&lt;/a&gt;.

&lt;blockquote cite=&quot;comment-982&quot;&gt;
&lt;strong&gt;&lt;a href=&quot;#comment-982&quot; rel=&quot;nofollow&quot;&gt;Sean Barrett&lt;/a&gt;&lt;/strong&gt;: I mean, the proof is in the pudding. If it looks worse, it looks worse.
&lt;/blockquote&gt;

I think the results speak for themselves:

With alpha coverage adjustment:
http://img251.imageshack.us/img251/1540/blendcoverage.png

Without:
http://img227.imageshack.us/img227/1391/blendnocoverage.png]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-982">Sean Barrett</a>.</p>
<blockquote cite="comment-982"><p>
<strong><a href="#comment-982" rel="nofollow">Sean Barrett</a></strong>: I mean, the proof is in the pudding. If it looks worse, it looks worse.
</p></blockquote>
<p>I think the results speak for themselves:</p>
<p>With alpha coverage adjustment:<br />
<a href="http://img251.imageshack.us/img251/1540/blendcoverage.png" rel="nofollow ugc">http://img251.imageshack.us/img251/1540/blendcoverage.png</a></p>
<p>Without:<br />
<a href="http://img227.imageshack.us/img227/1391/blendnocoverage.png" rel="nofollow ugc">http://img227.imageshack.us/img227/1391/blendnocoverage.png</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sean Barrett		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-982</link>

		<dc:creator><![CDATA[Sean Barrett]]></dc:creator>
		<pubDate>Mon, 13 Sep 2010 23:25:38 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-982</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-953&quot;&gt;Ignacio Castaño&lt;/a&gt;.

&lt;blockquote cite=&quot;comment-953&quot;&gt;&lt;strong&gt;&lt;a href=&quot;#comment-953&quot; rel=&quot;nofollow&quot;&gt;Ignacio Castaño&lt;/a&gt;&lt;/strong&gt;: 
As the texture is minimized, you don’t want the small/thin features to become more transparent. A tree isn’t transparent no matter how far it is! The results are much better if the small features either disappear entirely&lt;/blockquote&gt;

The high concept makes sense in the abstract, sure, but it doesn&#039;t seem very convincing. Yes, a tree should stay opaque and if you make all the leaves 50% transparent it won&#039;t stay 100% opaque. But making the leaves go away entirely has got to be worse; at least the mipmapped alpha blended tree is 90-95% opaque, instead of 0% opaque.

And at least the mipmapped alpha represents coverage and produces something resembling anti-aliasing, whereas without alpha-to-coverage and a decent MSAA your alpha-tested foliage looks like crap. So I&#039;d argue that while alpha-blending has some defects in full opacity, they&#039;re far less objectionable than any other defect on typical hardware in non-Siggraph contexts.

I mean, the proof is in the pudding. If it looks worse, it looks worse. But I can&#039;t tell if you actually tried this or were just tossing off a guestimate-y aside.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-953">Ignacio Castaño</a>.</p>
<blockquote cite="comment-953"><p><strong><a href="#comment-953" rel="nofollow">Ignacio Castaño</a></strong>:<br />
As the texture is minimized, you don’t want the small/thin features to become more transparent. A tree isn’t transparent no matter how far it is! The results are much better if the small features either disappear entirely</p></blockquote>
<p>The high concept makes sense in the abstract, sure, but it doesn&#8217;t seem very convincing. Yes, a tree should stay opaque and if you make all the leaves 50% transparent it won&#8217;t stay 100% opaque. But making the leaves go away entirely has got to be worse; at least the mipmapped alpha blended tree is 90-95% opaque, instead of 0% opaque.</p>
<p>And at least the mipmapped alpha represents coverage and produces something resembling anti-aliasing, whereas without alpha-to-coverage and a decent MSAA your alpha-tested foliage looks like crap. So I&#8217;d argue that while alpha-blending has some defects in full opacity, they&#8217;re far less objectionable than any other defect on typical hardware in non-Siggraph contexts.</p>
<p>I mean, the proof is in the pudding. If it looks worse, it looks worse. But I can&#8217;t tell if you actually tried this or were just tossing off a guestimate-y aside.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Georg Kolling		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-960</link>

		<dc:creator><![CDATA[Georg Kolling]]></dc:creator>
		<pubDate>Sat, 11 Sep 2010 17:23:14 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-960</guid>

					<description><![CDATA[@Ignacio I did not mean to imply that premultiplied alpha would solve the problem for alpha test  (it only does if your alpha threshold is 0.5). However, as I mentioned premultiplied works fine for both alpha blending and alpha to coverage. It simply is the correct way of linearly filtering textures with alpha.]]></description>
			<content:encoded><![CDATA[<p>@Ignacio I did not mean to imply that premultiplied alpha would solve the problem for alpha test  (it only does if your alpha threshold is 0.5). However, as I mentioned premultiplied works fine for both alpha blending and alpha to coverage. It simply is the correct way of linearly filtering textures with alpha.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ignacio Castaño		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-953</link>

		<dc:creator><![CDATA[Ignacio Castaño]]></dc:creator>
		<pubDate>Sat, 11 Sep 2010 06:02:09 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-953</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-951&quot;&gt;Sean Barrett&lt;/a&gt;.

&lt;blockquote cite=&quot;comment-951&quot;&gt;
&lt;strong&gt;&lt;a href=&quot;#comment-951&quot; rel=&quot;nofollow&quot;&gt;Sean Barrett&lt;/a&gt;&lt;/strong&gt;: I don’t understand why this is a problem for regular alpha blending.
&lt;/blockquote&gt;

It depends on what you want to achieve. In the case of vegetation you have some areas of the texture that are fully opaque, others fully transparent and a short smooth transitions between them. As the texture is minimized, you don&#039;t want the small/thin features to become more transparent. A tree isn&#039;t transparent no matter how far it is! The results are much better if the small features either disappear entirely or cluster together and remain solid while still having smooth edges around them.

That&#039;s what the proposed algorithm achieves. However, you can obtain similar results in many different ways. For example, you can apply a fractional dilation or erosion filter until you achieve the desired coverage, or as mentioned before you could use distance fields to compute the mipmaps and then transform them to an alpha mask finding the isoline that preserves best the coverage.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-951">Sean Barrett</a>.</p>
<blockquote cite="comment-951"><p>
<strong><a href="#comment-951" rel="nofollow">Sean Barrett</a></strong>: I don’t understand why this is a problem for regular alpha blending.
</p></blockquote>
<p>It depends on what you want to achieve. In the case of vegetation you have some areas of the texture that are fully opaque, others fully transparent and a short smooth transitions between them. As the texture is minimized, you don&#8217;t want the small/thin features to become more transparent. A tree isn&#8217;t transparent no matter how far it is! The results are much better if the small features either disappear entirely or cluster together and remain solid while still having smooth edges around them.</p>
<p>That&#8217;s what the proposed algorithm achieves. However, you can obtain similar results in many different ways. For example, you can apply a fractional dilation or erosion filter until you achieve the desired coverage, or as mentioned before you could use distance fields to compute the mipmaps and then transform them to an alpha mask finding the isoline that preserves best the coverage.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sean Barrett		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-951</link>

		<dc:creator><![CDATA[Sean Barrett]]></dc:creator>
		<pubDate>Sat, 11 Sep 2010 02:53:41 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-951</guid>

					<description><![CDATA[I don&#039;t understand why this is a problem for regular alpha blending.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t understand why this is a problem for regular alpha blending.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ignacio Castaño		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-948</link>

		<dc:creator><![CDATA[Ignacio Castaño]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 20:26:38 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-948</guid>

					<description><![CDATA[@Won Ah, I overlooked that. It seems that&#039;s a good solution to keep edges sharp after magnification, but yeah, that&#039;s an entirely different problem.]]></description>
			<content:encoded><![CDATA[<p>@Won Ah, I overlooked that. It seems that&#8217;s a good solution to keep edges sharp after magnification, but yeah, that&#8217;s an entirely different problem.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Won		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-947</link>

		<dc:creator><![CDATA[Won]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 20:13:24 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-947</guid>

					<description><![CDATA[Yeah. The Humus article talks about contrast-boosting to maintain edges for alpha textures, but for the easier case of magnification rather than minification.]]></description>
			<content:encoded><![CDATA[<p>Yeah. The Humus article talks about contrast-boosting to maintain edges for alpha textures, but for the easier case of magnification rather than minification.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ignacio Castaño		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-946</link>

		<dc:creator><![CDATA[Ignacio Castaño]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 18:38:31 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-946</guid>

					<description><![CDATA[@Won As I note at the end of the post, this technique works with alpha to coverage, which is in fact what we use in the game when multisampling is available.

@Georg Premultiplied alpha does not really solve this problem, it does not prevent the alpha test coverage to change. However, you can still use this technique with premultiplied alpha, you just have to premultiply the colors after the mipmap generation.

@Ben Distance Fields could solve the problem, but they are more expensive to evaluate at runtime, while this technique has no extra cost. Something that might be interesting to investigate is to generate the mipmaps using distance fields, I believe that would preserve the original coverage better.]]></description>
			<content:encoded><![CDATA[<p>@Won As I note at the end of the post, this technique works with alpha to coverage, which is in fact what we use in the game when multisampling is available.</p>
<p>@Georg Premultiplied alpha does not really solve this problem, it does not prevent the alpha test coverage to change. However, you can still use this technique with premultiplied alpha, you just have to premultiply the colors after the mipmap generation.</p>
<p>@Ben Distance Fields could solve the problem, but they are more expensive to evaluate at runtime, while this technique has no extra cost. Something that might be interesting to investigate is to generate the mipmaps using distance fields, I believe that would preserve the original coverage better.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Won		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-943</link>

		<dc:creator><![CDATA[Won]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 14:27:20 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-943</guid>

					<description><![CDATA[Reminds me of this:

http://www.humus.name/index.php?page=3D&#038;ID=61]]></description>
			<content:encoded><![CDATA[<p>Reminds me of this:</p>
<p><a href="http://www.humus.name/index.php?page=3D&#038;ID=61" rel="nofollow ugc">http://www.humus.name/index.php?page=3D&#038;ID=61</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Reginald		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-941</link>

		<dc:creator><![CDATA[Reginald]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 13:06:12 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-941</guid>

					<description><![CDATA[this is really useful information, I&#039;ve always hated this problem. if only I had the programming skills to actually open up the hood and change this kind of thing in the engine I&#039;m using. 

more api developers need to read this blog, you guys have graciously  shared a lot of solutions to common (and apparently avoidable) problems.]]></description>
			<content:encoded><![CDATA[<p>this is really useful information, I&#8217;ve always hated this problem. if only I had the programming skills to actually open up the hood and change this kind of thing in the engine I&#8217;m using. </p>
<p>more api developers need to read this blog, you guys have graciously  shared a lot of solutions to common (and apparently avoidable) problems.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Georg Kolling		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-939</link>

		<dc:creator><![CDATA[Georg Kolling]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 10:36:39 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-939</guid>

					<description><![CDATA[Looks quite nice.

However, a simple and correct solution when using alpha blending is to use premultiplied alpha. Linear interpolation works fine on premultiplied values, thus generating mipmaps using a box filter is ok. When using alpha to coverage you could un-premultiply the color values (i.e. divide by alpha) in the shader to get the desired result.]]></description>
			<content:encoded><![CDATA[<p>Looks quite nice.</p>
<p>However, a simple and correct solution when using alpha blending is to use premultiplied alpha. Linear interpolation works fine on premultiplied values, thus generating mipmaps using a box filter is ok. When using alpha to coverage you could un-premultiply the color values (i.e. divide by alpha) in the shader to get the desired result.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ben Weston		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-938</link>

		<dc:creator><![CDATA[Ben Weston]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 09:17:55 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-938</guid>

					<description><![CDATA[Useful algorithm, thanks for sharing.

Have you considered distance fields? http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf

 A friend of mine was playing with them and the results were remarkable. They&#039;re great for magnification, but they&#039;d also maintain a remarkable amount of detail as you reduce the mip level.

The other thing to use is anisotropic filtering. I found this made a huge difference to alpha-tested transparencies when viewed from a shallow angle.]]></description>
			<content:encoded><![CDATA[<p>Useful algorithm, thanks for sharing.</p>
<p>Have you considered distance fields? <a href="http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf" rel="nofollow ugc">http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf</a></p>
<p> A friend of mine was playing with them and the results were remarkable. They&#8217;re great for magnification, but they&#8217;d also maintain a remarkable amount of detail as you reduce the mip level.</p>
<p>The other thing to use is anisotropic filtering. I found this made a huge difference to alpha-tested transparencies when viewed from a shallow angle.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Dani		</title>
		<link>https://the-witness.net/news/2010/09/computing-alpha-mipmaps/comment-page-1/#comment-937</link>

		<dc:creator><![CDATA[Dani]]></dc:creator>
		<pubDate>Fri, 10 Sep 2010 07:58:27 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=484#comment-937</guid>

					<description><![CDATA[You lost me about half way through that post... but the screenshots are very nice indeed. I think its fair to leave the programming to others, but as long as you keep dropping pretty pictures, I&#039;m gonna keep reading.

why is there one small  grey scud/cumulus cloud in the sky?]]></description>
			<content:encoded><![CDATA[<p>You lost me about half way through that post&#8230; but the screenshots are very nice indeed. I think its fair to leave the programming to others, but as long as you keep dropping pretty pictures, I&#8217;m gonna keep reading.</p>
<p>why is there one small  grey scud/cumulus cloud in the sky?</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
