Tekkaman

导航

 

NormalMap & CubeMap

  有时候我们需要CubeMap的环境反射也需要有凹凸信息,此时需要装将NormalMap与CubeMap结合。

  因为要使用NormalMap,使用Property定义中必须有定义NormalMap:

  

  By using the INTERNAL_DATA statement, we can access the surface normal after it has been modified by the normal map.

  

  关于INTERNAL_DATA的详细说明。worldRefl、worldNormal基于顶点级的法线进行计算得到。加上INTERNAL_DATA,则在修改o.Normal后,Shader会自动重新计算这2个值。如果要获取pixel-level想关值,则需要使用 WorldReflectionVector()、WorldNormalVector()这2个函数。

  

  最后,surf函数实现如下:

  

  最终效果图如下:

  

  

  

posted on 2014-09-19 16:35  Tekkaman  阅读(533)  评论(0编辑  收藏  举报