模型空间(model space)也称为对象空间(object space)或局部空间(local space)是指以模型原点为原点的坐标系。

世界空间(world space)也称全局空间(global space)是以世界原点为原点的坐标系,世界坐标也就是Unity3D里的绝对坐标。

观察空间(view space)也称摄像机空间(camera space)是以摄像机为原点的坐标系。(这是各坐标空间中唯一一个右手坐标系)

裁剪空间(clip space)也称齐次裁剪空间(homogeneous clip space),这个空间对观察空间里的渲染图元进行裁剪,会保留完全在空间内部的图元,剔除完全在空间外部的图元,以及裁剪部分在空间内部的图元,而这块空间的范围是由摄像机的视锥体决定的。而使用投影矩阵将顶点转换到裁剪空间中去,来判断图元是否在裁剪空间内。

屏幕空间(screen space)表示的是一个二维空间,是从裁剪空间投影过来的。

从模型空间到世界空间称为模型变换,从世界空间到观察空间称为观察变换,从观察空间到裁剪空间称为投影变换,从裁剪空间到屏幕空间称为投影映射。

相关数学知识土圭垚㙓数学课(四)空间变换。

Unity内置变换矩阵:

UNITY_MATRIX_MVP 模型(M)观察(V)投影(P)矩阵,从模型空间到裁剪空间
UNITY_MATRIX_MV 模型(M)观察(V)矩阵,从模型空间到观察空间
UNITY_MATRIX_V 观察(V)矩阵,从世界空间到观察空间
UNITY_MATRIX_P 投影(P)矩阵,从观察空间到裁剪空间
UNITY_MATRIX_VP 观察(V)投影(P)矩阵,从世界空间到裁剪空间
UNITY_MATRIX_T_MV UNITY_MATRIX_MV的转置矩阵
UNITY_MATRIX_IT_MV UNITY_MATRIX_MV的逆转置矩阵,用于将法线从模型空间转换到观察空间
_Object2World 模型矩阵,从模型空间到世界空间
_World2Object _Object2World的逆矩阵,从世界空间到模型空间

Untiy摄像机和屏幕参数:

_WorldSpaceCameraPos(float3) 摄像机的世界坐标
_ProjectionParams(float4) 投影参数
x=±1.0(-1.0表示使用翻转投影矩阵进行渲染)
y=Near近裁剪平面与摄像机的距离
z=Far远裁剪平面与摄像机的距离
w=1.0+1.0/Far
_ScreenParams(float4) 屏幕参数
x=width渲染目标的像素宽度
y=height渲染目标的像素高度
z=1.0+1.0/width
w=1.0+1.0/height
_ZBufferParams(float4) 线性化Z(深度)缓冲参数
x=1-Far/Near
y=Far/Near
z=x/Far
w=y/Far
unity_OrthoParams(float4) 正交投影摄像机参数
x=width
y=height
z未使用
w=1.0(正交投影摄像机)或0.0(透视摄像机)
unity_CameraProjection(float4x4) 摄像机投影矩阵
unity_CameraInvProjection(float4x4) unity_CameraProjection的逆矩阵
unity_CameraWorldClipPlanes(float4[6]) 摄像机6个裁剪平面在世界空间下的方程式。
顺序:左、右、下、上、近、远

Shader山下(十六)坐标空间与转换矩阵相关推荐

  1. Unity Shader中内置的坐标空间与转换矩阵函数

    模型空间(model space)也称为对象空间(object space)或局部空间(local space)是指以模型原点为原点的坐标系. 世界空间(world space)也称全局空间(glob ...

  2. Unity Shader学习三:坐标空间的变换

    (注意,由于格式问题,文中如p-c.c-p.c.p这类的为矢量的下标,-1.T为矩阵的上标) 假设现在有一个父坐标空间以及一个子坐标空间,已知父级坐标空间中子级坐标空间的原点位置以及3个单位坐标轴,此 ...

  3. 【二、八、十、十六】进制转换详解

    目录 背景 进制转换算法 (二.八.十六进制) ---> (十进制) (十进制) ---> (二.八.十六进制) (二进制) --->(八.十六进制) (八进制) ↔ (十六进制) ...

  4. opencv学习(十六)之颜色空间转换cvtColor()

    我们生活中大多数看到的彩色图片都是RGB类型,但是在进行图像处理时,需要用到灰度图.二值图.HSV.HSI等颜色制式,opencv提供了cvtColor()函数来实现这些功能.首先看一下cvtColo ...

  5. 计算机原理与基础 —— 进制之间的转换(二进制与十、八、十六禁止之间的转换)

    进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制.八进制.十进制与十六进制,它们之间区别在于数运算时是逢几进一位.比如二进制是逢2进一位,十进制也就是我们常用的0-9是 ...

  6. ArcGIS实验教程——实验六:空间数据格式转换

    ArcGIS实验视频教程合集:<ArcGIS实验教程从入门到精通>(附配套实验数据) [实验描述]         空间数据从一个GIS平台跨到另一个GIS,必须经过格式转换,才能实现数据 ...

  7. (二、八、十、十六)进制转换

    3.1 进制转换 内容导视: 二进制与十进制互转 二进制与八进制互转 常用进制如下: 二进制:0.1,满 2 进 1 十进制:0 ~ 9,满 10 进 1 八进制:0 ~ 7,满 8 进 1 十六进制 ...

  8. 基础语法篇_11——坐标空间和转换,图形的保存和重绘,元文件

  9. 高等数学学习笔记——第五十六讲——空间直线及其方程

    1. 问题引入--高楼大厦的轮廓及电视塔的主题结构 2. 直线的参数方程 3. 直线的标准方程(直线对称式方程) 4. 直线的向量方程 5. 直线的两点式方程 6. 直线的一般式方程 7. 过直线的平 ...

最新文章

  1. php7+的php-fpm参数配置,注意事项
  2. icinga2+postgresql
  3. 第十六届智能车竞赛MCU这么多,该怎么办?别慌,RT-Thread来帮忙。
  4. JavaScript电话号码正则
  5. 【PAT - 甲级1005】Spell It Right (20分) (递归输出,水题)
  6. 队列入队和出队程序演示
  7. 用python画八卦图-使用turtle绘制太极八卦图
  8. 2020 最烂密码 TOP 200 大曝光,霸榜的仍旧是 123456!
  9. 全国重点城市建筑物矢量数据合集二(Shp格式+带高度)
  10. 计算机无法装补丁,老司机教你win7 sp1补丁安装失败怎么办
  11. MySQL数据库的主主同步配置
  12. 【opencv-python】视频处理(4) cv2.VideoCapture.get()函数、cv2.VideoCapture.set()函数
  13. 向下取整floor()、向上取整ceil()、截取函数trunc()、四舍五入round()
  14. Python玩转《生僻字》
  15. 冬登高峰山,问禅铁瓦寺
  16. 一些做“飞卡智能车”时候的总结
  17. LT9211产品概述
  18. 购买运虚拟主机还是云服务器,购买运虚拟主机还是云服务器
  19. 计算机网络:数据链路层之虚拟局域网,高速以太网
  20. 3D模型欣赏:吉多拉国王-哥斯拉怪兽之王

热门文章

  1. 深入理解Java虚拟机 笔记
  2. 甘肃省陇南市谷歌卫星地图下载
  3. 安徽全省谷歌卫星地图免费下载的方法
  4. 几种更新(Update语句)查询的方法
  5. 交换机接口模式hybrid运用
  6. window setting.settings 详解。
  7. APAP多图拼接代码配置运行总结
  8. 快速学习正则表达式,不用死记硬背,示例让你通透(上篇)
  9. 知乎圆桌论坛:设计就是生产力
  10. 终于有人把云原生数据库讲明白了