球面环境映射实现高光效果
来源:互联网 发布:快手屏幕直播软件 编辑:程序博客网 时间:2024/05/17 03:58
前段时间在看wow的模型的时候, render flag中有一个很奇怪的渲染状态切换, 而且这个状态在WoWDev上也没有被提及.
当时跟踪了一下, 发现几个模型只有在使用某一类纹理时才会切换到这个"SphereMap", 文件名通常是:ARMORREFLECT4.BLP这样的
当时只是知道是用来做高光, 至于实现没有细看.
后来在项目中偶然发现也用了这项技术, 才知道除了Cubic Environment Mapping之外, 还有个Spherical Environment Mapping.
按DX SDK中的说法, UV坐标是这样计算的:
, 其中Nx和Ny是摄像机空间顶点法线的xy分量. 原来画wow模型时没有实验成功, 就把这张纹理给当普通纹理处理了, 怪不得画出来的龙的牙跟爪子看起来没有wowmodelviewer的锐利@_@. 现在看来是我没有把法线变换到摄像机空间.
在RenderMonkey里拿个茶壶实验了一下, 这次效果对了:
效果图:
- 球面环境映射实现高光效果
- 使用shaderMaterial实现平行光下的高光效果
- DirectX实现球面纹理映射
- 高光效果
- Shader实现漫反射、高光反射、纹理映射
- 球面映射
- 取消icon高光效果
- 边缘高光实现
- 实现光棒效果
- U3D实现边缘高光
- 实现物体自发光效果
- apple icon 去半透明高光效果
- Xcode5 去掉Icon高光效果 设置
- IOS Opengl ES 用多光源实现材质,阴影,高光效果
- JavaScript实现的3D球面标签云效果
- JavaScript实现的3D球面标签云效果
- JavaScript实现的3D球面标签云效果
- android opengles光照效果-环境光
- Win32应用程序中进程间通信方法分析与比较
- oracle sql function
- 总结最全的内存管理文章
- 深入GetMessage和PeekMessage
- 【Stones from other hills】再谈如何成为技术领袖
- 球面环境映射实现高光效果
- 如何实现冒泡排序算法
- 聚簇索引和非聚簇索引
- c++空类实例大小不是0原因
- 每天进步
- 如何提高个人执行力?
- 2008.10.31 OA项目组一周工作报告
- C#编写游戏简单例子浅析
- 数据库中的字符串引号