u3d_shader_surface_shader_6
主题: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);
...
}
u3d_shader_surface_shader_6的更多相关文章
随机推荐
- Linux 常见命令说明
目前由于自己接触到的是 windows 的操作系统,所以会经常使用 git bash 来提交代码到 github上. git bash 是 windows 下模拟 Linux 的命令行工具. 在此总结 ...
- Autodesk View and Data API练练手
大家如果参加过我们的活动,你应该已经听过看过不少关于View and Data Web Service的例子里,如果还没有的话,请看看下面这几篇: http://www.cnblogs.com/jun ...
- c++引用总结
一.变量的引用: 引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样. 引用的声明方法:类型标识符 &引用名=目标变量名: 例:char ch; cha ...
- 如何让光标处于EditText的末尾
经测试发现,如果EditText预先有内容,光标自然会在文字的末尾 . 但是如果预先内容为空,然后设置好内容,这种情况下光标自然会在文字的开头,所以这种情况下可以这样做让光标位于末尾: editTex ...
- Android 加载大图片到内存
本文演示android中图片加载到内存 首先设计界面: 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/ap ...
- mac 下如何切换jdk的版本
1.打开.bash_profile文件添加一个函数 #add a function for switch idk version.function jdkset() { if [ $# -ne 0 ] ...
- iOS开源项目MobileProject功能点介绍
一:MobileProject简介 MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileP ...
- 常用jar包用途
jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法. jaxrp ...
- Linux 执行partprobe命令时遇到Unable to open /dev/sr0 read-write (Read-only file system)
在使用fdisk创建分区时,我们会使用partprobe命令可以使kernel重新读取分区信息,从而避免重启系统,但是有时候会遇到下面错误信息"Warning: Unable to open ...
- 遍历set集合
1.迭代遍历:Set<String> set = new HashSet<String>();Iterator<String> iterator= set.iter ...