Shader中用到的各种空间概念
来源:互联网 发布:吉林快3遗漏 数据 编辑:程序博客网 时间:2024/05/18 22:40
Shader中用到的各种空间概念
模型空间
每一个物体都有一个以它自己的Pivot为原点的欧几里德三维坐标空间
在Unity的脚本中,可以通过tranform.worldToLocalMatrix这个矩阵的MultiplyPoint()或者MultiplyVector()方法,把世界坐标表达的矢量转换为此物体的模型空间表达的矢量。在Shader中,可以通过左乘
_World2Object 这个矩阵来完成此项任务。
世界坐标空间
统一表达
在脚本中,物体的Transform组件的localToWorldMatrix矩阵的MulitplyPoint 和 MultiplyVector 方法能把此物体自身以模型空间坐标表达的矢量变换到以世界坐标表达的矢量。
在Shader中,对应的矩阵是 _Object2World
视空间
渲染的需要:视空间
我们可以通过相机Camera组件的worldToCameraMatrix来把一个世界坐标的向量重新表示为一个以相机为中心的空间的表达形式。如果我们想把一个相机空间的向量重新表示到世界坐标系,可以用cameraToWorldMatrix来实现。在Shader中,有一个矩阵UNITY_MATRIX_MV可以把向量一次性从模型空间转换到视空间
视椎体
只有处于视椎体内的物体才会被渲染,而其他部分都将处于视线之外,从而得到我们在屏幕上能看到的东西。(Culling)
我们可以把一系列的转换组合到一起;脚本和Shader中的投影矩阵
在脚本中代表这个投影的操作是Camera组件的projectMatrix,在Shader中则是UNITY_MATRIX_MVP。 通过这个矩阵,可以直接把物体上的一个点投射到屏幕上,这也是正常显示一个物体的Shader所需完成的工作。
0 0
- Shader中用到的各种空间概念
- untiy 3d ShaderLab_第3章_Shader(着色器)中用到的各种空间概念
- Shader(着色器)之各种空间概念
- SAP中用到的概念
- Vue 中用到的概念
- aspectJ中用到的一些概念
- ESB中用到的一些概念
- Android中用到的多线程技术概念
- 机器学习中用到的各种距离
- Shader中的空间概念以及光照模型
- 工作中用到的一些框架、工具、概念等
- 高斯消元中用到的相关概念和模板
- shader之各种空间与光照
- TCP/UDP协议中用到的各种header, SystemVerilog版
- 安装spark集群中用到的各种安装包
- 整理一下编程中用到的各种数据类型转换
- 存储过程中用到的各种函数学习(一)
- ubuntu中用的各种软件
- Visual Studio注释快捷键
- redis命令详解与使用场景举例——Connection(连接)
- PHP高效率写法(详解原因)
- SpringMvc+POI 处理Excel的导入操作
- 数字分类
- Shader中用到的各种空间概念
- Spring Boot 基础篇之 整合Mybatis 实现 RESTful API
- 理解作用域
- Vim插件管理工具Vundle以及常用插件
- 怎么让用java做好看的charts
- Android 股票应用
- POJ 1157(DP ,数塔问题)
- server2003-ftp
- XListeView和Imageloader的使用