shader线性代数基础入门

点乘

几何意义

一个向量在另一个向量上的投影

计算公式

向量u和向量v的点乘,表示为u·v,其数值为:

点乘的一些性质:

 

当uv两个向量垂直的时候,两个向量的点乘为0

坐标计算

正负意义

两个向量点乘为正,则两个向量方向相同,两个向量点乘为负,则两个向量方向相反

点乘的性质

1.k(a·b)=(ka)·b=a·(kb)对其中一个向量进行缩放的等于对点乘的结果进行缩放

2.a·(b+c)=a·b+a·c点积与矢量加减法结合

3一个向量和自身点积的结果,是向量的模的平方(意味着直接用点积来比较两个矢量的摸的大小,而不需要使用计算公式,也不需要开平方)

 点乘的作用

判断玩家是否在npc前或者后,是否在可视范围内等等

叉乘

几何意义

 得到一个与两个向量都垂直的向量

计算公式

叉乘的结果向量的方向叉乘的正负不影响计算但是影响视觉效果

如果夹角为0,即两个向量平行,得到的结果是一个0向量

叉乘不遵循结合律和交换律,但是它满足反交换律a×b=﹣(b×a)

叉乘的模

叉乘的作用 

判断三角面片的朝向

计算垂直一个平面,三角形的矢量

归一

v向量的单位向量是v除以它本身的模

三角形定则

求反射向量

矩阵

行列式

矩阵运算

逆矩阵

伴随矩阵

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要理解shader入门精要,首先需要了解shader是指令代码,需要关联材质才能赋予游戏对象以特定的效果。材质按照关联的shader的规则,处理贴图等输入信息,达到特定的画面效果。 在Unity中,有几种类型的shader可供选择。一种是表面着色器(Surface Shader),它是对顶点/片断着色器的封装,更符合人类的思维模式,可以以极少的代码来实现不同的光照模型和不同平台下的需求。在表面着色器的开发中,我们直接在Subshader层次上编写代码,系统会将代码编译成适当的Pass。而顶点/片断着色器是更基础shader类型,能够实现更多的效果,但表面着色器不一定能实现这些效果。还有一种被淘汰的固定管线着色器(Fixed Function Shaders),它在硬件上执行基本的命令,速度很快,但功能有限,不再推荐使用。 不同图形API都有各自的shader语言。在DirectX中,顶点shader叫做Vertex Shader,像素shader叫做Pixel Shader。而在OpenGL中,顶点shader也叫做Vertex Shader,但像素shader叫做Fragment Shader或者片断Shader。这些shader语言有不同的语法和特性,需要根据使用的图形API选择适当的语言来编写shader。 总结起来,要入门shader,首先需要了解shader是指令代码,需要关联材质才能实现效果。在Unity中,可以选择使用表面着色器、顶点/片断着色器或固定管线着色器来实现不同的效果。此外,不同图形API有不同的shader语言,需要根据使用的API选择合适的语言来编写shader

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值