<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NURBS &#8211; 扫地老僧的Blog</title>
	<atom:link href="https://doyj.com/tag/nurbs/feed/" rel="self" type="application/rss+xml" />
	<link>https://doyj.com</link>
	<description>Laputa - 远方地平线，闪耀着光芒</description>
	<lastBuildDate>Sun, 20 Oct 2013 14:52:35 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>14年前做的一个NURBS Demo</title>
		<link>https://doyj.com/2013/10/20/</link>
					<comments>https://doyj.com/2013/10/20/#respond</comments>
		
		<dc:creator><![CDATA[oldmonk]]></dc:creator>
		<pubDate>Sun, 20 Oct 2013 14:52:35 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[NURBS]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://www.doyj.com/?p=1964</guid>

					<description><![CDATA[最近整理文件，发现14年前的NURBS Demo居然在Win 7下还能很好运行，速度比当年快了很多。 当时研究 &#8230; <a href="https://doyj.com/2013/10/20/" class="more-link">继续阅读<span class="screen-reader-text">14年前做的... ]]></description>
										<content:encoded><![CDATA[<p>最近整理文件，发现14年前的NURBS Demo居然在Win 7下还能很好运行，速度比当年快了很多。</p>
<p>当时研究在3D游戏中，采用NURBS建模的模型。根据相机与物体的位置，实时演算生成模型的三角形。 离相机远的部分，三角形就少，节省渲染时间，离相机近的就三角形多，细节更丰富些。说起来很理想，但实现起来有好几个难点：</p>
<ol>
<li>NURBS Trim的问题<br />
NURBS曲面中挖洞的方法是用NURBS曲线去描述这个洞，如何快速在游戏中实现是个难点。这是我当时主要攻关的问题。当时找出两个方法，一个是根据相机距离远近，及曲线不同段的曲率，不断调整切分Nurbs Trim曲线的不同段的粒度。一个是另辟蹊径，给3DS MAX开发了一个插件，能在编辑NURBS曲面时，同时生成一个合并了原有材质且带Alpha通道的高精度材质图片, 在Nurbs Trim 曲线以内的alpha通道都是透明的。</li>
<li>NURBS编辑工具的问题<br />
当时公司用的NURBS编辑工具主要是3DS MAX，虽然是有较强的NURBS曲面编辑功能，但实际生成的NURBS曲面问题很多，远不如同期的Rhino，可Rhino当时对插件之类的二次开发支持又很不好。</li>
<li>NURBS曲面在随着相机距离而调整模型的过程中，物体的边缘，会在屏幕上产生抖动感。<br />
这个问题相当难以克服，一直没能解决。</li>
</ol>
<p>当时有宣传用NURBS的游戏，例如Quake3，其实它只是在建模中使用了NURBS，并没有做到实时的生成模型。当时整个游戏界对NURBS抱有很高的期望，有显卡公司想从硬件层面给予解决，但后来都没了消息，再后来也就没再关注这方面的进展，不知现在怎样。不过现在的显卡能力已经超强，不用NURBS技术，就靠堆三角形已经能实现近乎真实的画面效果了。</p>
<p>下面是Demo的两个截图，大家可以看到这个鸭子的三角形数量在两个图里是不同的。在同一个图中，鸭子不同部位切分的细节程度也是不同的， 整个鸭子上的三角形都是每帧都重新实时生成的。</p>
<p>当时为了搞这个，读了很多SIGRAPH，MSR，及各大学关于NURBS的论文，对自己提高帮助很大。</p>
<p><a href="http://www.doyj.com/wp-content/uploads/2013/10/1.png"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-1966" alt="1" src="http://www.doyj.com/wp-content/uploads/2013/10/1.png" width="822" height="588" srcset="https://doyj.com/wp-content/uploads/2013/10/1.png 822w, https://doyj.com/wp-content/uploads/2013/10/1-300x214.png 300w" sizes="(max-width: 822px) 100vw, 822px" /></a><a href="http://www.doyj.com/wp-content/uploads/2013/10/1-2.jpg"><img decoding="async" class="alignnone size-full wp-image-1967" alt="1-2" src="http://www.doyj.com/wp-content/uploads/2013/10/1-2.jpg" width="822" height="588" srcset="https://doyj.com/wp-content/uploads/2013/10/1-2.jpg 822w, https://doyj.com/wp-content/uploads/2013/10/1-2-300x214.jpg 300w" sizes="(max-width: 822px) 100vw, 822px" /></a></p>
<p>&nbsp;</p>
<p>这个demo的下载链接是 <a href="http://www.nihuo.com/downloads/nv.zip">http://www.nihuo.com/downloads/nv.zip</a>。</p>
<p>下载下来demo后解压，选择File -&gt;Open, 打开NRB_DUCK.oo就能看到鸭子， 按下F键就能看到三角形的线框，按鼠标右键能旋转模型， 按&lt;, &gt;能调整模型切分的系数。更详细的可参看readme。屏幕左上角的tri是整个模型的三角形数量。因为主要是为了演示NURBS一些关键算法的效果，其他方面都很粗糙，还请见谅。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://doyj.com/2013/10/20/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
