首页 > 代码库 > 剑英陪你玩转图形学 (二)

剑英陪你玩转图形学 (二)

开篇废话

今天看到蛮牛把干货区放上了主页,居然还能看到我的帖子,让我很不好意思。

各位同学对不起,我来晚了。

今天的李总是因为姓李,又总是迟到,所以叫做李总。

?

今天还是讲图形学,第一弹没有把事情讲完,仅仅是开了一个头。你不会是以为一次就能讲完吧。我这么天才的人都搞了好多年,讲一次得吃掉我一年的老本。

为人不识武藤....,骇骇,最近好像扫黄,不能说这个,大家都知道,关键是不搞软渲染,你就枉然了。软渲染我们上次已经玩过了,知道所以然,了解渲染是怎么一件事,目标就已经达到了。

渲染这条路上还有很多东西,今天我们到unity3d里面去玩。图形相关要聊的事情太多了,从头讲到做一个引擎出来,估计这个系列以后你可以和孩子一起看,我们用unity3d这个引擎,在他的基础上再继续去讲图形,还赶得上制造下一代。

首先开篇之前,先来检查一下作业。

请跟我一起问自己几个问题:

  1. 怎么从模型到像素,我大概理解了吗?
  2. 关于顶点和矩阵,我真的知其所以然了吗?
  3. 空间与变换我理解了吗?

如果这几个问题还存在疑问,我建议你还是回到第一弹去再玩一遍,然后我不能告诉你所有的答案,但是我提供给你所有的关键字,你得自己补补课了。

记住,我们是一个高端业务(zhuangbi)技巧系列,我们理清楚关键思路,基础还得自己补。

快速提高班

现在教大家一些快速提高自己业务(zhuangbi)水平的方法。

要提高自己的业务水平,第二个要诀是:持。

持这个概念,没有忍那么好理解,你可以把他理解为选择,你要选择那些你有把握的地方去回答。

一旦出口,就是准确的。

?

这次不用模拟问答,因为你已经不会破功了。

今天使用Unity3D,我先告诉你一些Unity的小技巧,以后体现业务(zhuangbi)水平用得着。

首先, Unity可以简单的用两句话讲清楚

  1. 这个Hierarchy面板,他体现的是场景管理中的场景图概念。如果有必要,记住他的英文SceneGraph。

    场景图是什么呢?说起来也很简单,就是把场景中的元素,以树的形式组织起来。看上面第二张图,什么都不用说了

  2. 场景图中的节点,在Unity中称为GameObject,GameObject上面可以挂接各种各样的Component

    Unity主要的开发思想便是通过自定义脚本组件来进行开发

好了,Unity3D是怎么回事呢,Unity这玩意就是操作场景图,场景图节点上是一个组件模型,组件可以自定义脚本来编写。

记住这个,你也可以两句话把Unity3D讲透。

?

但是,我们在这里主要是讲图形,光透是不行的,我们还得分析Unity3D的渲染设计。

Unity3D的渲染设计呢,在顶点这个层面上是非常传统的三矩阵设计。

DirectX OpenGL 在固定管线时代就一直沿用这个设计,也是图形学里面搞了几十年的经典设计。

三矩阵是 世界矩阵、视矩阵、投影矩阵。

世界矩阵,就是表达模型在世界空间中的具体位置。对应到unity结构就是Transform. localToWorldMatrix.

????由于场景图是有父子关系的,子物体的localToWorldMatrix,是子物体的localMatrix*父物体的worldMatrix得到。Unity并没有直接提供localMatrix的结构,而是由一组

localPositon localScale localRotate localRuleAngle 来描述。

总之他是表示位置的

视矩阵,决定摄像机的位置和方向,最后能看到什么东西。

投影矩阵,决定摄像机的视角,远近裁剪面这些东西,视矩阵和投影矩阵都有摄像机的位置和参数来决定。

这三个矩阵最终被合成为一个,共同决定顶点出现在屏幕上的位置。

?

好了,提高到这里就可以了,今天我们不深入这个话题。

计算机的颜色

?

?

?

未完持续

剑英陪你玩转图形学 (二)