u3d_shader_surface_shader_5
CubeMap 的实现
参考:
http://blog.csdn.net/candycat1992/article/details/21827365 制作cubeMap三维纹理,surface shader实现(此妹子真是我等学习的榜样,自行惭愧)
http://www.cppblog.com/Leaf/archive/2011/01/07/138106.html 原理
http://my.oschina.net/u/138823/blog/181131
实现结果:右侧小球

一:cubeMap的制作和u3d小Tips制作:
有趣。主要是u3d都现成的...
public Cubemap cubemap;
类和
go.camera.RenderToCubemap(cubemap);

继承自的ScriptableWizard类应该会进行一次drawCall操作,来在u3d编辑器上绘制对应的Tip...
1.我点击"Render CubeMap"按钮:
[MenuItem("CookBook/Render CubeMap")]
static void RenderCubeMap()
{
ScriptableWizard.DisplayWizard("Render CubeMap",typeof(GenerateStaticCubemap),"Render!");
}
2.执行typeof(GenerateStaticCubemap)类,
3.检测是否确定好生成CUBE的Pos和载体;
4. isValid = true;则可以执行"Render!" 按钮,进行Create
go.camera.RenderToCubemap(mCubeMap);//会在指定的Pos进行CubeMap的生成, 应该是啪啪啪六次不同的视锥体吧。
二:立方体纹理
主要是依据eye的位置和vertex Normal进行点乘获取反射向量,我们可以想像一个Box包围着上面的Sphere,然后不同的反射向量对应box不同的纹理位置信息。
o.Emission = texCUBE(_Cubemap, IN.worldRefl).rgb ;
三:教程中的worldRefl和WorldReflectionVector的区别;
float3 worldRefl; INTERNAL_DATA- will contain world reflection vector if surface shader writes to o.Normal. To get the reflection vector based on per-pixel normal map, useWorldReflectionVector (IN, o.Normal). See Reflect-Bumped shader for example.
首先worldRefl即世界坐标系下eye和vertex normal的反射向量;
其次,如果想获取ps方式下的反射向量,请使用WorldReflectionVector方式;那么,worldRefl是顶点vs级的方式咯...
目测以上解释不对...
u3d_shader_surface_shader_5的更多相关文章
随机推荐
- ARCGIS server没有服务、silverlight不能调试、windows server2008安装时跳出“安装程序无法创建新的系统分区也无法定位现有的系统分区”的解决方案
1.某个系统服务没开启 2.默认浏览器设置为IE.(IE内核有时候也不能调试) 3.BIOS里面的SATA设置为开启.
- SharePoint 开启网站匿名访问图文详解
SharePoint 开启网站匿名,需要先开启web application的匿名访问,然后开启site的匿名访问.特别的,site可以选择整个网站开启或者列表和库开启匿名,如果选择列表和库开启匿名, ...
- iOS常用手势识别器
手势识别状态: typedef NS_ENUM(NSInteger, UIGestureRecognizerState) { // 没有触摸事件发生,所有手势识别的默认状态 UIGestureReco ...
- Swift - 访问通讯录-使用AddressBook.framework和AddressBookUI.framework框架实现
1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码 ...
- 【代码笔记】iOS-底下滚动,上面标题栏也会跟着变动
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> #import "SVSegmentedCont ...
- 学习 OAuth2.0
基于浏览器 访问后跳到登录页面,登录成功后跳转到授权页面,授权成功后跳转到redirect_uri指定的地址. 1.请求授权. http://localhost:8080/oauth/authoriz ...
- 深入理解JPEG图像格式Jphide隐写
0x00 隐写原理 Jphide是基于最低有效位LSB的JPEG格式图像隐写算法,使用JPEG图像作为载体是因为相比其他图像格式更不容易发现隐藏信息,因为JPEG图像在DCT变换域上进行隐藏比空间域隐 ...
- phonegap学习笔记
[windows下安装] 1 先安装node.js: http://nodejs.org/ 2 CMD下运行: C:\> npm install -g phonegap [创建项目] CMD下运 ...
- form.submit() not a function的元凶
今天晚上学习jquery form plugin时,在明白了该插件的用法时, (1)该插件是将form的HTTP请求 改为AJax请求. (2)支持像jQuery.ajax(options)一样 的o ...
- MySQL 系列(五) 多实例、高可用生产环境实战
MySQL 系列(五) 多实例.高可用生产环境实战 第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...