- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 动物诊疗技术1 动物诊疗技术1 案例十二咽炎的诊断与治疗.ppt
- 动物诊疗技术1 动物诊疗技术1 案例十七乳房炎的诊断与治疗.ppt
- 建筑装饰工程预算 建筑装饰工程费用 车棚、站台、加油站建筑面积计算.pptx
- 儿科学 维生素D缺乏症 维生素D缺乏性佝偻病的治疗.ppt
- 儿童保健学 儿童保健学、运动语言行为发育 运动语言行为发育.pptx
- 儿童青少年社会工作 社会功能 少年儿童与青年组织的社会功能之促进社会进步的功能.ppt
- 二胡 二胡作品的时代感 二胡作品的时代感.ppt
- 发电厂变电站电气设备 简单单母线接线 简单单母线接线.ppt
- 建筑装饰工程预算 楼地面工程量计算 石材楼地面工程量计算5.ppt
- 发电厂热力设备及系统 任务3 锅炉蒸发与净化设备 6.3.1 锅炉蒸发设备.pptx
- 房屋建筑材料 钢材的冷加工及热处理 钢材的冷加工及热处理.ppt
- 房屋建筑材料 木地板 木地板.pptx
- 交互媒体设计(拓展) 交互媒体设计(拓展) 9.2.2添加纹理.ppt
- 纺织材料检测 纤维性质概述 光学性质.ppt
- 纺织概论 纺织纤维的基本性能 实验-纤维鉴别.ppt
- 纺织面料设计师考工实训 毛织物创新设计 冬季男式大衣面料创新设计7.ppt
- 纺织面料设计师考工实训 配色模纹织物仿样设计 配色模纹.pptx
- 纺织面料设计师考工实训 织物设计基础知识 厚度上传.ppt
- 纺织面料设计师考工实训 织物设计基础知识 织物密度设计2上传.ppt
- 交互媒体设计(拓展) 交互媒体设计(拓展) 11.7_使用MediaRecorder录制视频短片.pptx
文档评论(0)