Alpha Test 透明通道测试技术做篱笆效果图
2013-10-22 19:44
337 查看
Alpha test是可以通过测试然后丢弃不需要渲染的像素的。顾名思义就是根据他的alpha值与某特定值比较。
这个技术做腐蚀效果,某些电影特技如:可以让一个人慢慢各个部位褪色,最后消失……等,而且不需要消耗什么计算时间。
计算公式:
IF as (Openration function) ref == true THEN
accept pixel
ELSE reject pixel
例如,下面的代码:
比如做一个栏杆效果,可以用贴图做,而不用用立体几何画出来再实时渲染,这样会慢很多,
上面右边那幅画是带了Alpha Channel的图。大家可以用Photoshop来自己手动加上这个通道。一般bmp图像文件就支持保持Alpha Channel。Jpe应该是不支持的。
我们可以利用右边的图片来做一个如下一样的篱笆效果图:
只需要用一个四方体几何图形,然后用texturing技术就可以轻易的做出这样的效果图来。
Reference:
Introduction to 3D Game Programming with DirectX9.0C
这个技术做腐蚀效果,某些电影特技如:可以让一个人慢慢各个部位褪色,最后消失……等,而且不需要消耗什么计算时间。
计算公式:
IF as (Openration function) ref == true THEN
accept pixel
ELSE reject pixel
例如,下面的代码:
gd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, true);//开启alpha test gd3dDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);//后面参数是比较函数,就是说大于等于alpha值100的像素才渲染 gd3dDevice->SetRenderState(D3DRS_ALPHAREF, 100);//设置比较值
比如做一个栏杆效果,可以用贴图做,而不用用立体几何画出来再实时渲染,这样会慢很多,
上面右边那幅画是带了Alpha Channel的图。大家可以用Photoshop来自己手动加上这个通道。一般bmp图像文件就支持保持Alpha Channel。Jpe应该是不支持的。
我们可以利用右边的图片来做一个如下一样的篱笆效果图:
只需要用一个四方体几何图形,然后用texturing技术就可以轻易的做出这样的效果图来。
Reference:
Introduction to 3D Game Programming with DirectX9.0C
相关文章推荐
- 移动测试技术保护源代码!解码全球首款移动端白盒测试工具ThreadingTest (文章转自动点科技)
- 软件测试不再黑盒—threadingtest带来第二代白盒覆盖率技术
- 《逐梦旅程 WINDOWS游戏编程之从零开始》笔记8——载入三维模型&Alpha混合技术&深度测试与Z缓存
- 4、shader透明测试(AlphaTest)
- 移动测试技术保护源代码!解码全球首款移动端白盒测试工具ThreadingTest (文章转自动点科技)
- Alpha 和Beta 测试 (Alpha and Beta Test)
- 打造第二代测试框架TestDriven 2.0(四)—— 代码对象化建模技术
- Google Test(GTest)使用方法和源码解析——模板类测试技术分析和应用
- BIST测试技术,内建自测(Built-inSelfTest)
- 游戏测试技术专场答疑(腾讯互娱WeTest测试专家)
- Google Test(GTest)使用方法和源码解析——死亡测试技术分析和应用
- Python接口测试之unittest框架
- linux shell编程学习--test测试比较命令
- 嵌入式软件三大潜在问题及测试技术
- 试用 googltest C++ 测试框架
- 川普PK希拉里,谁演讲技术更好?这里有一个AI做的测试
- WebApi(一)【接口测试工具:WebApiTestClient】
- Macaca+HTMLTestRunner测试报告模式修改,基于python unittest 测试框架扩展
- Web网站测试技术要领集合
- [亿能测试]白盒测试技术培训课程学习资料