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