webgl学习之路
mmmMMM12345
这个作者很懒,什么都没留下…
展开
-
webgl学习之路(三)——透视投影矩阵的推导过程
关于透视投影矩阵的讲解,网上有不少教程,但是有一点大家基本上都没有讲清楚:就是z轴坐标(这里的Z轴相当于景深)的推导过程,基本上是一笔带过。下面先从头开始讲推导过程,再慢慢说Z轴的推导过程。透视投影如下图:透视投影的过程如下:所观察的物体在一个半截面的方锥形中,设坐标为P,将P投影到近截面上,坐标为P’;如下图:推导P'很简单,就是几何概念相似三角形,推导过程如下图:大家注意,P’处的Z'坐标就是从视点O到近截面的距离。但是大家可以考虑这样一个问题:那所有的物体在近截面的原创 2021-07-01 12:57:02 · 1068 阅读 · 0 评论 -
webgl学习之路(一)——基础概念shader
首先是shader,这个名词经常听,其实它就是一段代码。然后有专门编写shader的语言,比如:基于OpenGL的OpenGL Shading Language,简称GLSL。 基于DirectX的High Level Shading Language,简称HLSL。 还有NVIDIA公司的C for Graphic,简称Cg语言。shader分为:顶点shader和片段(片元)shader顶点shader顾名思义就是负责坐标中的顶点。还有每个顶点的颜色值。当然它还负责将一些变量从顶点原创 2021-06-22 15:07:34 · 410 阅读 · 0 评论 -
webgl学习之路(二)——齐次坐标
简而言之,齐次坐标就是用N+1维来代表N维坐标在一个2D笛卡尔坐标末尾加上一个额外的变量w来形成2D齐次坐标,因此,一个点(X,Y)在齐次坐标里面变成了 (x,y,w),并且有 X = x/w Y = y/w 例如,笛卡尔坐标系下(1,2)的齐次坐标可以表示为(1,2,1),如果点(1,2)移动到无限远处,在笛卡尔坐标下它变为 (∞,∞),然后它的齐次坐标表示为(1,2,0),因为(1/0, 2/0) = (∞,∞),我们可以不用”∞"来表示一个无穷远处的点了我们把齐次坐标转化为笛卡尔坐标的方法是前原创 2021-06-23 15:18:14 · 292 阅读 · 0 评论