前言

我从小比较内向,不是很擅长跟别人交流,常常游离于“主流”之外。但是对打游戏却情有独钟,记得第一次接触的游戏是坦克大战,第一次上手就流连忘返,oh!真是太好玩了。那个时候的游戏还很简陋,但是被游戏的玩法和机制深深吸引。长大后,开始接触3A大作了,记得第一次玩大表哥,被游戏画面和场景狠狠的震惊到了。仿佛原始人突然进入了现代社会,真是刘姥姥进大庄园,牛逼Plus。看着那湍急的河流,嫩绿的草地,远处的大山,感叹于游戏的画质竟然可以如此真实。

毕业之后,因为种种意外加成,成为一名 Unity 客户端,虽然是个脚本小子,每天写着脚本逻辑,但是当自己写的程序跑起来,看到场景中的世界,仍有一股成就感油然而生。逐渐地我对游戏的画质,画面产生了兴趣,十分好奇游戏引擎是怎么展现出缤纷的世界,这似乎为我转行图形埋下了种子。

理想十分美好,现实十分骨干。当我发现图形入门需要良好的数学基础和英语阅读能力时,真的欲哭无泪,数学真的是我的硬伤,对于一个解方程式都玩不明白的人,家人们谁懂啊。但是我清晰地知道,如果我真的想干图形方面的事情,那么数学和英语就必须跨过去。

怎么办,家人们,又要掉头发了。现在不光要每天经历社会的毒打,现在还要经历数学的毒打,谁懂?

个人图形学认知

What is Computer Graphics?

[!quote]
The use of computers to synthesize and manipulate visual information.

什么是图形学?这也许是每一个学习者都要面对的问题,不同的人有不同的理解,鄙人斗胆谈一下我的理解,有不对的地方可以请大家多多指教。

首先我想举一个例子:

假如你生活在中世纪,还没有出现计算机,甚至没有出现显示器这种东西的时候。你遇到一个beautiful girl或者是一处美景,你突然想记录这美好的瞬间,此时你会怎么做?

此时,你所能做的似乎只有用画笔记录生活这瞬间的画面。

所以此时的流程是:

1
2
3
graph TD
现实场景 --> 眼睛看到的景色 --> 在画板中勾勒线条与空间 --> 用颜料上色 --> 最终形成一幅画

你画画时所依赖的,是你大脑对于现实的映射,通俗来讲是感觉,通过你多年的绘画训练,你能熟练的画出轮廓,构建空间结构,用颜料上色,最终形成一幅满意的画。

不过可惜的是,你所能画出的是此时场景的某一视角,如果你想从其他视角看,就得重新构图绘画,这工程量也太大了。

而进入现代,有了计算机有了显示屏之后,流程出现了一些不一样的地方:

1
2
3
graph TD
现实场景 --> 眼睛看到的景色 --> 对于现实的理解 --> 抽象出形状空间光线 --> 把抽象出来的东西用数学语言描述 --> 数学计算过程转化为算法 --> 用编程语言描述算法 --> 转化为机器指令 --> 通过指令控制显示器画面数据变化 --> 最终形成显示器上的画面

我不知道我的描述是否科学准确,我认为两者的本质上都是对现实世界的描述。

但是中间使用的工具和流程却相差很大,古人绘画主要是通过人的经验和感觉,而现代在很多有规律的地方用数学工具进行表示。

数学!看到没,数学在图形学中的地位!所以骚年们,不学好数学,你在图形学的道路上根本走不远。

我在自学图形学,很长时间中,都不理解数学的作用和位置。我就很纳闷,怎么哪里都有这东西,怎么到处是公式,真烦死了。但是数学确实是图形学的经济基础。

世界时刻在变化,变化中有规律。假如把世界抽象成一个又一个分子,一个又一个点。在你仔细观察后,你会发现有规律的运动,可以用数学语言来表达,写成简单的方程式,抱歉我目前还不能理解其中的美,我目前看到只会头大。

除了使用的工具和流程不一样之外,效率差别也很大,在古代你想画一幅画,可能需要几天甚至几周几个月,你画好画之后还不能变化,现在用电脑显示器,你可以每帧出现一幅画。这简直太Crazy了。关键是随着人们对现实本质的认知越来越深,会加快的对现实模仿的效率过程,以及使画面更加真实。所以,我们的世界真的也是一台计算机渲染出来的么?

进阶

人类最惊艳的能力是什么?

个人认为想象绝对是其中之一,如果没有想象这个能力,可能也就没有艺术,世界会比现在无趣地多。

这跟图形学有什么关系?

我认为图形学不仅仅是对现实的模拟,人们还可以在此基础上进行幻想。

人类不仅仅只有模仿的能力,更具有创造的能力,在对现实的经验或者规律有足够的理解之后,你可以在此基础上进行加工,正所谓艺术来源生活又高于生活。

在对现实规律足够了解,通过想象这个能力对要素进行排列组合,你可以在电脑里描绘从未出现过的世界。

以上就是我对图形学的思考和理解。

目录