主题:1.膨胀效果;2.surface shader实际生成的代码;

o(︶︿︶)o  粘贴复制代码易,理解透彻代码难...

一:膨胀效果

1.在#pragma 编译指令里添加vertex:vert以告知进行vertex的处理;在VertexShader最前;

    #pragma surface surf Lambert vertex:vert                                                                                                              

2.本次膨胀即依据normal方向进行vertex的worldspace下的扩充:

      void vert (inout appdata_full v) {
v.vertex.xyz += v.normal * _Amount;
}

二:点击u3d编译器中"show generated code"

发现:surface shader的vert()在VS最上面,surf()在PS的最上面,

// vertex shader
v2f_surf vert_surf (appdata_full v) {
v2f_surf o;
vert (v); //此 surface里我们使用的vert函数,来操作worldSpace下的膨胀效果
....
} // fragment shader
fixed4 frag_surf (v2f_surf IN) : SV_Target { SurfaceOutput o; surf (surfIN, o);
...
}

最新文章

  1. HDU 2069 Coin Change(完全背包变种)
  2. WIFI基本知识整理
  3. android GestureDetector 手势基础
  4. Linux权限扩展
  5. Hibernate的关联映射——单向1-N关联
  6. JQuery中的回调对象
  7. 关于Scanner类
  8. C语言博客作业--一二维数组
  9. Android实现横屏以及全屏的小技巧
  10. Ubuntu 服务器上面--安装和配置mysql 【转】
  11. 为二级域名注册ssl证书,并强制使用https对http进行跳转
  12. c++中函数的内存注意项
  13. 8、Zookeeper分布式锁
  14. 如何让vba与java的TripleDES算法通用
  15. day 7-4 互斥锁与队列
  16. Druid监控页面配置与使用
  17. typescript interface 泛型
  18. Android Bitmap操作问题之Canvas: trying to use a recycled bitmap
  19. 使用3ds Max制作简单卧室
  20. 用递归方法求 n!

热门文章

  1. 之四:CATransition - 转场动画
  2. CP强制覆盖
  3. 操作系统开发系列—13.i.进程调度 ●
  4. iOS7.0后隐藏状态栏(UIStatusBar)
  5. Gradle多渠道打包
  6. XML解析之SAX详解
  7. iOS 9 使用HTTP的方法
  8. 关于<appSettings file="app.config" >引用外部文件的配置值
  9. Java编译器如何生成重载和覆盖方法代码
  10. Tomcat 的使用学习