⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体.htm

📁 水面渲染中文介绍,转自火星时代
💻 HTM
📖 第 1 页 / 共 5 页
字号:
            <NOSCRIPT><A 
            href="http://8888.hxsd.com/www/delivery/ck.php?n=aa374cab&amp;cb=INSERT_RANDOM_NUMBER_HERE" 
            target=_blank><IMG alt="" 
            src="C:\Documents and Settings\Administrator\桌面\水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files\ai(2).gif" 
            border=0></A></NOSCRIPT></TD>
          <TD>
            <SCRIPT type=text/javascript><!--//<![CDATA[ 
var m3_u = (location.protocol=='https:'?'https://8888.hxsd.com/www/delivery/ajs.php':'http://8888.hxsd.com/www/delivery/ajs.php'); 
var m3_r = Math.floor(Math.random()*99999999999); 
if (!document.MAX_used) document.MAX_used = ','; 
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u); 
document.write ("?zoneid=34"); 
document.write ('&cb=' + m3_r); 
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used); 
document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : '')); 
document.write ("&loc=" + escape(window.location)); 
if (document.referrer) document.write ("&referer=" + escape(document.referrer)); 
if (document.context) document.write ("&context=" + escape(document.context)); 
if (document.mmm_fo) document.write ("&mmm_fo=1"); 
document.write ("'></scr"+"ipt>"); 
//]]>--></SCRIPT>
            <NOSCRIPT><A 
            href="http://8888.hxsd.com/www/delivery/ck.php?n=ab65782e&amp;cb=INSERT_RANDOM_NUMBER_HERE" 
            target=_blank><IMG alt="" 
            src="C:\Documents and Settings\Administrator\桌面\水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files\ai(3).gif" 
            border=0></A></NOSCRIPT> </TD></TR></TBODY></TABLE><!--影视区独立广告--><!--Maya、动漫独立广告--><!--教育培训独立广告--><!--max 建筑版独立广告--><!--游戏版独立广告--><!--ads edit--></DIV></TD></TR></TBODY></TABLE><!-- post 9589660 popup menu -->
<DIV class=vbmenu_popup id=postmenu_9589660_menu style="DISPLAY: none">
<TABLE cellSpacing=1 cellPadding=4 border=0>
  <TBODY>
  <TR>
    <TD class=thead>shenxue</TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/member.php?u=88787">查看公开信息</A></TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/private.php?do=newpm&amp;u=88787" 
      rel=nofollow>发送悄悄话给 shenxue </A></TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787" 
      rel=nofollow>查找 shenxue 发表的更多帖子 </A></TD></TR><!-- zGia! goodish thread begin -->
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787&amp;starteronly=1&amp;viewgoodish=1" 
      rel=nofollow>查找 shenxue 发表的精华主题 </A></TD></TR><!-- zGia! goodish thread end --></TBODY></TABLE></DIV><!-- / post 9589660 popup menu --></DIV></DIV></DIV></DIV><!-- / close content container --><!-- / post #9589660 --><!-- post #9589678 --><!-- open content container -->
<DIV align=center>
<DIV class=page style="WIDTH: 100%; TEXT-ALIGN: left">
<DIV 
style="PADDING-RIGHT: 25px; PADDING-LEFT: 25px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px" 
align=left>
<DIV id=edit9589678 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; PADDING-TOP: 0px"><!-- this is not the last post shown on the page --><!-- chenc 修改显示大图自动撑开表格 -->
<TABLE class=tborder id=post9589678 
style="TABLE-LAYOUT: auto; WORD-BREAK: break-all" cellSpacing=0 cellPadding=6 
width="100%" align=center border=0><!-- /chenc 修改显示大图自动撑开表格 -->
  <TBODY>
  <TR>
    <TD class=thead 
    style="BORDER-RIGHT: #000000 0px solid; BORDER-TOP: #000000 1px solid; FONT-WEIGHT: normal; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid" 
    width=175><!-- status icon and date --><A name=post9589678><IMG 
      class=inlineimg alt=旧 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/post_old.gif" border=0></A> 
      2007-05-18 , 19:02 <!-- / status icon and date --></TD>
    <TD class=thead 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-WEIGHT: normal; BORDER-LEFT: #000000 0px solid; BORDER-BOTTOM: #000000 1px solid" 
    align=right>&nbsp; #<A id=postcount9589678 
      href="http://bbs.hxsd.com/showpost.php?p=9589678&amp;postcount=2" 
      target=new rel=nofollow name=2><STRONG>2</STRONG></A> </TD></TR>
  <TR vAlign=top>
    <TD class=alt2 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 0px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 0px solid" 
    width=175><!-- vbPlaza start chenc 补充名片区宽度限制 -->
      <DIV id=postmenu_9589678 style="WIDTH: 175px"><!-- vbPlaza end chenc 补充名片区宽度限制 --><A 
      class=bigusername2 
      href="http://bbs.hxsd.com/member.php?u=88787">shenxue</A>
      <SCRIPT 
      type=text/javascript> vbmenu_register("postmenu_9589678", true); </SCRIPT>
       </DIV><!-- chenc修改显示自定义头衔 --><!-- /chenc修改显示自定义头衔 -->&nbsp;<BR><!-- vbPlaza修改显示官方头衔-->
      <DIV class=smallfont><FONT color=red>【火星荣誉会员】</FONT> </DIV><!-- /vbPlaza修改显示官方头衔-->
      <DIV class=smallfont><BR><!-- chenc修改显示UID -->
      <DIV><STRONG>UID:</STRONG> 88787 </DIV><!-- /chenc修改显示UID -->
      <DIV><STRONG>帖子:</STRONG> 1673 </DIV><!-- chenc 修改显示积分 -->
      <DIV><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787&amp;viewreputation=1" 
      rel=nofollow><STRONG>积分</A>:</STRONG> 115 <IMG class=inlineimg 
      alt="shenxue 即将成为的新星" 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/reputation_pos.gif" 
      border=0><IMG class=inlineimg alt="shenxue 即将成为的新星" 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/reputation_pos.gif" 
      border=0></DIV><!-- /chenc 修改显示积分 --><!-- vbPlaza start chenc 修改显示资产--><STRONG>火星币:</STRONG> 
      998<BR><!-- vbPlaza end chenc 修改显示资产-->
      <DIV></DIV><!-- show awards --><!-- /show awards --><!-- show blog --><!-- /show blog --><!-- show question -->
      <DIV id=userquestion887879589678 style="DISPLAY: none">
      <FIELDSET><LEGEND>shenxue 的问题</LEGEND>
      <DIV 
      style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"><A 
      href="http://qa.hxsd.com/">还没有问题?</A></DIV></FIELDSET> </DIV><!-- /show question --></DIV></TD>
    <TD class=alt1 id=td_post_9589678 style="BORDER-RIGHT: #000000 1px solid"><!-- icon and title -->
      <DIV class=smallfont><IMG class=inlineimg alt=默认 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/icon1.gif" border=0> 
      <STRONG>Re:水面渲染 --(转载)</STRONG> <!-- zGia! reputation begin --><!-- zGia! reputation end --></DIV>
      <HR style="COLOR: #000000" SIZE=1>
<!-- / icon and title --><!-- message -->
      <DIV class=post_contents id=post_message_9589678 
      style="FONT-SIZE: 14px; LINE-HEIGHT: 24px">一. 
      水面动画<BR><BR>当然,第一步就是让水面运动起来。对均匀网格来说,需要计算出每个顶点的位置和法线。实际上,如果仅模拟比较平静的水面,甚至只需计算法线就行了,这也是目前游戏中常见的做法。<BR><BR>仅使用法线来模拟水面的好处是可以极大的简化几何模型,最简单的情况下,一个网格就能代表整个水面,你甚至不必担心如何处理LOD计算。它的实现思想就是bump 
      mapping,区别在于这里我们使用动态的normal map。可以实时计算出每条法线的位置,也可以从预先处理好的normal 
      map中获得这些信息。显然,适用后者计算量可以减少很多。在Farcry中,水面实际上只使用了一张normal map,在vertex 
      shader中,对纹理坐标进行不同的缩放和偏移,从而获得动态水面。对这种方法来说,normal 
      map质量的好坏对最终效果有很大影响。下面的代码显示了通过混合三层不同的波来模拟水面的情况:<BR><BR>bumpCoord1 = 
      texCoord + time*0.02;<BR><BR>bumpCoord2 = texCoord * 2.0f + time * 
      0.02;<BR><BR>bumpCoord3 = texCoord / 2.0f + time * 0.01;<BR><BR>half3 
      vBumpTexA = tex2D(tex0, bumpCoord1).xyz;<BR><BR>half3 vBumpTexB = 
      tex2D(tex0, bumpCoord2).xyz;<BR><BR>half3 vBumpTexC = tex2D(tex0, 
      bumpCoord3).xyz;<BR><BR>half3 vBumpTex = normalize(2.0 * (vBumpTexA.xyz + 
      vBumpTexB.xyz+vBumpTexC.xyz) - 
      3.0);<BR><BR><BR><BR>上述方法最大的缺点就是对于起伏较大的水面来说,就无能为力了,由于仅仅使用法线来表示水面起伏,因此,当近距离观察时,可以看到水面实际是静止的。为了进一步增加真实性,让顶点真正运动起来是必须的。如何来计算水面运动呢?简单来说,可以把水面运动看作一系列正弦或余弦波的叠加。根据不同的时间和顶点坐标位置,计算出当前顶点的高度。然而,实践中我们却更偏向于适用Gerstner 
      Wave。以下是3D Gerstner 
      Wave的3D波动方程,注意这里的x是一个矢量x(x,z),代表顶点的坐标位置,w为角速度,k为波矢量,k为波数,x0为顶点的初始位置。<BR><IMG 
      alt="" src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/14713843.jpg" 
      border=0></DIV><!-- / message --><BR></TD></TR>
  <TR>
    <TD class=alt2 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 0px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"><IMG 
      class=inlineimg alt="shenxue 当前离线" 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/user_offline.gif" border=0> 
      &nbsp; </TD>
    <TD class=alt1 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 0px solid; BORDER-LEFT: #000000 0px solid; BORDER-BOTTOM: #000000 1px solid" 
    align=right><!-- controls --><A 
      onclick="self.scrollTo(0, 0); return false;" 
      href="http://bbs.hxsd.com/showthread.php?t=9589660#top"><IMG 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/top.gif" border=0></A> <!-- / controls --></TD></TR></TBODY></TABLE><!-- post 9589678 popup menu -->
<DIV class=vbmenu_popup id=postmenu_9589678_menu style="DISPLAY: none">
<TABLE cellSpacing=1 cellPadding=4 border=0>
  <TBODY>
  <TR>
    <TD class=thead>shenxue</TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/member.php?u=88787">查看公开信息</A></TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/private.php?do=newpm&amp;u=88787" 
      rel=nofollow>发送悄悄话给 shenxue </A></TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787" 
      rel=nofollow>查找 shenxue 发表的更多帖子 </A></TD></TR><!-- zGia! goodish thread begin -->
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787&amp;starteronly=1&amp;viewgoodish=1" 
      rel=nofollow>查找 shenxue 发表的精华主题 </A></TD></TR><!-- zGia! goodish thread end --></TBODY></TABLE></DIV><!-- / post 9589678 popup menu --></DIV></DIV></DIV></DIV><!-- / close content container --><!-- / post #9589678 --><!-- post #9589688 --><!-- open content container -->
<DIV align=center>
<DIV class=page style="WIDTH: 100%; TEXT-ALIGN: left">
<DIV 
style="PADDING-RIGHT: 25px; PADDING-LEFT: 25px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px" 
align=left>
<DIV id=edit9589688 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; PADDING-TOP: 0px"><!-- this is not the last post shown on the page --><!-- chenc 修改显示大图自动撑开表格 -->
<TABLE class=tborder id=post9589688 
style="TABLE-LAYOUT: auto; WORD-BREAK: break-all" cellSpacing=0 cellPadding=6 
width="100%" align=center border=0><!-- /chenc 修改显示大图自动撑开表格 -->
  <TBODY>
  <TR>
    <TD class=thead 
    style="BORDER-RIGHT: #000000 0px solid; BORDER-TOP: #000000 1px solid; FONT-WEIGHT: normal; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid" 
    width=175><!-- status icon and date --><A name=post9589688><IMG 
      class=inlineimg alt=旧 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/post_old.gif" border=0></A> 
      2007-05-18 , 19:03 <!-- / status icon and date --></TD>
    <TD class=thead 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-WEIGHT: normal; BORDER-LEFT: #000000 0px solid; BORDER-BOTTOM: #000000 1px solid" 
    align=right>&nbsp; #<A id=postcount9589688 
      href="http://bbs.hxsd.com/showpost.php?p=9589688&amp;postcount=3" 
      target=new rel=nofollow name=3><STRONG>3</STRONG></A> </TD></TR>
  <TR vAlign=top>
    <TD class=alt2 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 0px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 0px solid" 
    width=175><!-- vbPlaza start chenc 补充名片区宽度限制 -->
      <DIV id=postmenu_9589688 style="WIDTH: 175px"><!-- vbPlaza end chenc 补充名片区宽度限制 --><A 
      class=bigusername2 
      href="http://bbs.hxsd.com/member.php?u=88787">shenxue</A>
      <SCRIPT 
      type=text/javascript> vbmenu_register("postmenu_9589688", true); </SCRIPT>
       </DIV><!-- chenc修改显示自定义头衔 --><!-- /chenc修改显示自定义头衔 -->&nbsp;<BR><!-- vbPlaza修改显示官方头衔-->
      <DIV class=smallfont><FONT color=red>【火星荣誉会员】</FONT> </DIV><!-- /vbPlaza修改显示官方头衔-->
      <DIV class=smallfont><BR><!-- chenc修改显示UID -->
      <DIV><STRONG>UID:</STRONG> 88787 </DIV><!-- /chenc修改显示UID -->
      <DIV><STRONG>帖子:</STRONG> 1673 </DIV><!-- chenc 修改显示积分 -->
      <DIV><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787&amp;viewreputation=1" 
      rel=nofollow><STRONG>积分</A>:</STRONG> 115 <IMG class=inlineimg 
      alt="shenxue 即将成为的新星" 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/reputation_pos.gif" 
      border=0><IMG class=inlineimg alt="shenxue 即将成为的新星" 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/reputation_pos.gif" 
      border=0></DIV><!-- /chenc 修改显示积分 --><!-- vbPlaza start chenc 修改显示资产--><STRONG>火星币:</STRONG> 
      998<BR><!-- vbPlaza end chenc 修改显示资产-->
      <DIV></DIV><!-- show awards --><!-- /show awards --><!-- show blog --><!-- /show blog --><!-- show question -->
      <DIV id=userquestion887879589688 style="DISPLAY: none">
      <FIELDSET><LEGEND>shenxue 的问题</LEGEND>
      <DIV 
      style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"><A 
      href="http://qa.hxsd.com/">还没有问题?</A></DIV></FIELDSET> </DIV><!-- /show question --></DIV></TD>
    <TD class=alt1 id=td_post_9589688 style="BORDER-RIGHT: #000000 1px solid"><!-- icon and title -->
      <DIV class=smallfont><IMG class=inlineimg alt=默认 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/icon1.gif" border=0> 
      <STRONG>Re:水面渲染 --(转载)</STRONG> <!-- zGia! reputation begin --><!-- zGia! reputation end --></DIV>
      <HR style="COLOR: #000000" SIZE=1>
<!-- / icon and title --><!-- message -->
      <DIV class=post_contents id=post_message_9589688 
      style="FONT-SIZE: 14px; LINE-HEIGHT: 24px">从数学角度来看,Gerstner 
      Wave并不比普通的正余弦波动方程复杂,但他的波形却更像水波。对于正余弦波来说,波峰和波谷波的弧度都是均匀的,而实际上水波的波峰要尖一些,波峰则要圆滑。注意上述方程中对给定顶点x0来说,不同时刻,水平位置也是不同的,因此可以正确模拟出这种效果。多个Gerstner 
      Wave相互叠加,就能模拟出相当不错的水面。有了水面高度,进一步对方程求导,就能计算出法线。<BR><BR>有时,你也许需要渲染电影级真实度的水面,那么这种简单波形叠加的方法也许就有些力不从心。可以适用FFT来模拟更真实的水面,它使用了统计波的模型(statistical 
      wave 
      model),通过快速傅立叶(FFT)变换求值。基本的思想是创建一个类似海面的,具有相同频谱的波形域,然后通过傅立叶变换转换到空间域。因此,水体表面实际上就是由许多由风产生的正弦波线性叠加而成。以下是所使用的波形方程:<BR><IMG 
      alt="" src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/76926170.jpg" 
      border=0></DIV><!-- / message --><BR></TD></TR>
  <TR>
    <TD class=alt2 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 0px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"><IMG 
      class=inlineimg alt="shenxue 当前离线" 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/user_offline.gif" border=0> 
      &nbsp; </TD>
    <TD class=alt1 
    style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 0px solid; BORDER-LEFT: #000000 0px solid; BORDER-BOTTOM: #000000 1px solid" 
    align=right><!-- controls --><A 
      onclick="self.scrollTo(0, 0); return false;" 
      href="http://bbs.hxsd.com/showthread.php?t=9589660#top"><IMG 
      src="水面渲染 --(转载) - 火星时代社区-全球领先的数字艺术媒体_files/top.gif" border=0></A> <!-- / controls --></TD></TR></TBODY></TABLE><!-- post 9589688 popup menu -->
<DIV class=vbmenu_popup id=postmenu_9589688_menu style="DISPLAY: none">
<TABLE cellSpacing=1 cellPadding=4 border=0>
  <TBODY>
  <TR>
    <TD class=thead>shenxue</TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/member.php?u=88787">查看公开信息</A></TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/private.php?do=newpm&amp;u=88787" 
      rel=nofollow>发送悄悄话给 shenxue </A></TD></TR>
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787" 
      rel=nofollow>查找 shenxue 发表的更多帖子 </A></TD></TR><!-- zGia! goodish thread begin -->
  <TR>
    <TD class=vbmenu_option><A 
      href="http://bbs.hxsd.com/search.php?do=finduser&amp;u=88787&amp;starteronly=1&amp;viewgoodish=1" 
      rel=nofollow>查找 shenxue 发表的精华主题 </A></TD></TR><!-- zGia! goodish thread end --></TBODY></TABLE></DIV><!-- / post 9589688 popup menu --></DIV></DIV></DIV></DIV><!-- / close content container --><!-- / post #9589688 --><!-- post #9589693 --><!-- open content container -->
<DIV align=center>
<DIV class=page style="

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -