地形纹理混合.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地形纹理混合

D3DTOP_DISABLE:禁用纹理层颜色输出. D3DTOP_SELECTARG1:将该纹理层的第一个混合参数直接输出.对于D3DTSS_COLOROP,则输出由D3DTSS_COLORARG1指定的第一个表示RGB的参数;对于D3DTSS_ALPHAOP,则输出由D3DTSS_ALPHAARG1指定的第一个表示ALPHA的参数. D3DTOP_SELECTARG2:同上. D3DTOP_MODULATE:将两个混合参数相乘后输出. D3DTOP_MODULATE2X:将两个混合参数相乘后再乘以2输出. D3DTOP_MODULATE4X:将两上混合参数相乘后再乘以4输出. D3DTOP_ADD:将两上混合参数相加后输出. D3DTOP_ADDSIGNED:将两个混合参数相加后减去0.5输出.(可以这样理解:本来范围在[0,1]里,减0.5使其范围限制在[-0.5, 0.5]中.这样相加后,比较暗的部分,即负数部分,将对原来的纹理产生衰减,而较亮部分则对原来的纹理增强.可用作细节纹理.如果有的显卡不支持D3DTOP_ADDSIGNED方式,可考虑采用D3DTOP_MODULATE2X来模拟这种效果). D3DTOP_ADDSIGNED2X:同上,结果再乘以2输出. D3DTOP_SUBTRACT:将两个混合参数相减后输出. D3DTOP_ADDSMOOTH:将两个混合参数的和减去两个混合参数的积. D3DTSS_COLORARG1 与 D3DTSS_COLORARG2 可以指定的纹理混合参数: D3DTA_CURRENT:前一个纹理层的输出颜色.如果在第0层,则为漫反射颜色. D3DTA_DIFFUSE:像素的漫反射颜色值.这种颜色是在使用GOURAUD着色模式时对顶点的漫反射颜色插值得到的. D3DTA_TEXTURE:当前纹理的颜色值. D3DTA_TFACTOR:参数值为SetRenderState()通过D3DRS_TEXTURE_EFACTOR设置的系数值. D3DTA_SPECULAR:参数值为像素的镜面反射颜色值.这种颜色是在使用高洛德着色模色时对顶点的镜面反射颜色插值得到的. D3DTA_SELECTMASK:该状态在设置纹理参数时不起作用. D3DTA_TEMP:参数值存储在一个临时寄存器中. D3DTA_CONSTANT:参数值为一个常数值. D3DTA_COMPLEMENT:该参数必须与以上任意一个参数同时设置(或操作?),表示用一减去原参数. D3DTA_ALPHAREPLICATE:该参数必须与以上除了D3DTA_COMPLEMENT之外的任一参数同时设置,表示将原参数的ALPHA值复制到R,G,B中. 本文来自CSDN博客,转载请标明出处:/flipcode/archive/2008/03/11/2168567.aspx 我重新观察了一下Torque引擎Demo的地形,发现在他在一个方块内最多用了3张贴图。这3张贴图就需要3个Texture?Stage,再加上2个提供Alpha值的Stage,总共就是5个Texture?Stage。这对显卡要求太高,至少我的显卡只支持4个Texture?Stage。那么就必须使用MultiPass了,多遍渲染。这篇文章说的把Alpha信息存储在顶点Diffuse里面的方法,还是值得考虑的。因为如果是用Alpha图的话,Alpha图总会被拉伸得很厉害,使得地形上不同贴图之间仍然不能自然过渡。除非你的地形有更大的区域概念,对一个区域使用一张Alpha图,这可能会解决Alpha图被过度拉伸的问题。不然,你只使用全局唯一的一张Alpha图的话,将很难收到理想的效果。 由定点的Diffuse提供Alpha有一个好处,那就是D3D会做插值运算,这样就不会让某一点的Alpha扩展成斑块,因为它扩展出来的新值会被D3D插值运算的。那么要实现Torque那样的最多支持3张纹理混合,同一个地形就需要2份Diffuse。可以考虑使用多流的技术,让Diffuse数据作为一个单独的流。 原文 地形多层纹理混合加阴影渲染方法 地形由于十分庞大,需要大量顶点,所以往往占用很多内存空间,那么就应该在地形贴图上想办法节约空间。很多游戏的地形,虽然看上去不同地点的纹理好像互不相同,地表纹理十分丰富,但其实真正用的贴图是很少的,之所以还能产生地表纹理变化多端的视觉效果,是因为使用了Alpha混合和阴影,从而产生一种错觉。2.5D的网络游戏《奇迹》(MU)、全3D引擎Torque(多人联网FPS游戏《部落2》即使用此引擎)、全3D的滑雪游戏《极限滑雪》(Supreme?Snowboarding),都是这么做的。(参见文章末尾的截图) 我对此设想了一个解决方案。需

文档评论(0)

sb9185sb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档