交互媒体设计(拓展) 5.6 交互引擎设计 PartIV-3 Pixel Shader.pptVIP

交互媒体设计(拓展) 5.6 交互引擎设计 PartIV-3 Pixel Shader.ppt

  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文档。上传文档
查看更多
Part Ⅳ shader和effect 三 Pixel Shader 像素着色器 一段自定义的小程序,运行在GPU上 能直接地访问像素和纹理坐标,达到一些特效,如多重纹理 pixel shader在游戏中的应用 主要目标 1 了解pixel shader 2 了解多重纹理 3 编写 ,创建 ,使用pixel shader 4 用pixel shader实现多重纹理 1 了解pixel shader 一段自定义的小程序,运行在GPU上,用于操作像素和纹理坐标 取代了固定功能管道中的多重纹理阶段 检测显卡对pixel shader的支持 用D3DPS_VERSION(Major, Minor) D3DCAPS9 caps; d3d9-GetDeviceCaps (D3DADAPTER_DEFAULT, deviceType, caps); if( caps.PixelShaderVersion D3DPS_VERSION(2, 0) ) // 不支持ps2.0 如果显卡不支持pixel shader 只能用D3DDEVTYPE_REF 所以,pixel shader对显卡的依赖性比vertex shader强 2 了解多重纹理 固定功能管道中提供了多重纹理操作 操作过程比较繁琐 在一个多边形上贴多张纹理,并定义纹理上像素的混合方式,达到一些特殊的效果,如静态光照 静态光照 启用多重纹理 HRESULT IDirect3DDevice9::SetTexture ( DWORD Stage, IDirect3DBaseTexture9 *pTexture ); HRESULT IDirect3DDevice9::SetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value ); 代码片断 Device-SetTexture( 0, Tex1); Device-SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device-SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device-SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); Device-SetTexture( 1, Tex2); Device-SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device-SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device-SetSamplerState(1, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); 多重纹理坐标 实现多重纹理时, 顶点结构中要有多对纹理坐标 FVF也要相应地进行改变 D3DFVF_TEXX 注意: 也可以只用一对纹理坐标来索引多张纹理图片 pixel shader的输入和输出 pixel shader所需的输入信息: 每个像素的颜色值和它对应的纹理坐标 纹理坐标都是一对(u,v)坐标 float2 颜色值是一个4D向量 vector pixel shader输出的信息: 每个像素所对应的单一的颜色值 HLSL代码片断 struct PS_INPUT { vector c0 : COLOR0; vector c1 : COLOR1; float2 t0 : TEXCOORD0; float2 t1 : TEXCOORD1; float2 t2 : TEXCOORD2; }; struct PS_OUTPUT { vector finalPixelColor : COLOR0; }; 3 使用pixel shader的步骤 分为4个步骤: 1 编写并编译pixel shader程序 2 创建一个IDirect3DPixelShader9接口来代表已经编译过的pixel shader代码。 使用IDirect3DDevice9::SetPixelShader方法来启用pixel shader

您可能关注的文档

文档评论(0)

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

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档