
也许应该以热爱为主,兼顾钱途……
现在国内外没有信息差。图形学还是机器学习也没大差。主要看市场应用前景
图形学方面,最大市场还是游戏。国内这些年游戏行业从0到2000多亿市值。现在国内市场被政府卡了脖子,类似之前中国禁游戏禁了十三年。只能面对国际市场,中国没有做console底子,只能去卷手机游戏。
把巴掌大屏幕里面图像做出花来,人眼也看不大出来。图形程序在游戏行业的作用就是把商业引擎用好,能修改功能。
图形好坏,并不决定项目成败。
我说个今后的可能发展。当下字节,腾讯,网易,无论是互联网大厂,社交大厂,游戏大厂,都在搞机器学习与图形学融合领域的事情。这方面会是以后重要方向之一。
游戏,互联网在中国市场发展已经过了快速增长期。只能靠创新和新体验竞争。图形学与机器学习交融的地方有可能产生新体验。也就是新市场。
多说两句,Games这个平台非常令人感慨。我从1999年扎身于3d图形学工程。2000年那时候中国开始实施游戏禁令。
二十年后中国有这个平台,整合产学研,极大提升图形学的学习水平和从业者水平。充分汇总交流最新科研。根本原因,则在于中国游戏市场的崛起。任何领域都一样,充分发展的科技应用市场,自然会带动对应的底层研究和技术发展。因为全部有出口。无论是技术应用出口,还是专业人才出口,还是领域内科创企业的资本出口。
同时,软件市场发展促进硬件发展。而游戏AI硬件发展又是因为全球游戏业崛起。相辅相成是一种理想情况。
2008到2011我陆续在MIT待过几次。那边对学术研究,技术工程研究,与商业产业结合的情况,类似于各种科技领域都有GAMES这样的平台。当然这和国家整体产业链相关。一个能够让领域专家,学者,学生,从业人员,顺滑融合成一个产学研平台,是要以蓬勃发展的产业为基础的。
如今游戏禁令又来。而国外高端AI硬件已经禁止进口。不知道该说啥好。可能就是时间未到,科技与市场相辅相成的发展模式,还需要时间吧。
图形学这两年确实卷的厉害。
往前推两年,能把LearnOpenGL吃透学明白就足以在游戏行业找一份TA/引擎的工作了,但在现在来看是远远不够的。
先不谈学术成果,就工程能力来说,校招人均一个小引擎可不是闹着玩的,再不济都得有个手撸的软渲染器,才能有一点点竞争力……就离谱。
说回正题,图形学是非常需要兴趣来驱动的方向,如果没有强烈的学习意愿,面对陡峭的学习曲线是很容易被劝退然后回到调api的舒适圈的。如果说只是看到一个入门必看级网课上百万播放就开始纠结要不要入行,那我觉得大概率应该是入不了行。
没有必要。
首先,你的背景并不太好,不足以申请到好的CG导师做研究(再说他们收不收研究生都是问题),而图形学研究是一个比较封闭的圈子,很多东西需要人带,否则你会浪费时间走不必要的弯路。举例而言,你在实现自己的流体模拟器/光线追踪器的时候可能会先试图实现已有的论文(当然是比较复杂的那种,不是教科书上那种都已经做好喂给你的),但已发表的论文千千万万,你怎么知道哪篇论文效果好哪篇已经过时了,而且有可能具体的实验参数论文也没给出,要你手动推导或者调参?而且另一个问题是,说不定到时你搞的CG研究是把ML和CV应用到CG上(这是很有可能的,因为人类倾向于运用已有的知识解决问题),那这又何必呢。。。按目前这AI的进程,说不定传统的CG领域都要给CV人士吞下去。
其次,根据前面说的,以及一些CG圈的风评,你会发现神圣化或者劝退CG圈(或者同理,PL圈)的现象是普遍存在的,不管是从业者还是非从业者。这本身就已经发出了强烈的信号——CG/PL/compiler这些领域是高度成熟的领域,所以缺乏low-hanging fruit,而且其应用场景基本已经固定,市场极度缺乏开拓空间。这就是为什么你必须先学会那一大套极端复杂的东西,积累前人的各种经验,才能超过竞争者(要不然怎么在别人的市场里面占据自己的地位)。而其他领域如机器学习和前端就很不一样,因为到处都是金矿(起码目前还是),所以新来者可以在不同的方向探索,不用花太多的努力就可以得到比较好的结果。
如果你对一点存在疑问,参见为啥近几年LLVM的创造者Chris Lattner现在在推MLIR以及其他AI/芯片设计编译器组件,因为传统静态编译器已经没得卷了。本质上,是因为静态语言的优化问题到了瓶颈,边际收益下降,之前LLVM做了Rust/Julia/Go/JS等语言,那还有几个新语言给你做呢?你总不能比Chris还牛逼吧。更别提LLVM在工业界有很多竞品(gcc/JVM等成熟编译器)。但你又对比一下,前端在最近十年就有很大的变化,各种框架的涌现,而这背后主要得益于编译器/PL理论成熟与广泛应用。所以你看,做优化编译器难,但是你在前端做编译器又是另外一种体验,因为在动态语言里做编译器套件还属于处女地,之前谁能想到JS确实需要一个type checker呢?
第三点,从就业的角度看(以及你的背景),CG并不是好的选择。从挣钱的角度来看(你就业的主要目的是挣钱吧?),如果你有一个研究生学历,CG可能还不如考公务员实惠。至于CG到底是不是好的就业专业,这就必须从市场考虑——CG提供的岗位对应着的市场,以及在国内的前景。不管是游戏,还是动画,或者用于工业软件的CG,在我国都受到政策调控,譬如之前不准发版号对很多小游戏公司就有影响(大的游戏公司可能反而高兴,因为等于减少竞争者),你要是不幸去了那里工作就糟糕了;相反,如果你为国产工业软件开发某些模拟器或者3D软件(但你能不能当到呢?),那可能会吃到很大的政策红利,这样可能比当公务员更好。
但总的来说,CG提供的岗位确实不好,加之学习CG投入大,学的东西又过于专门化,有不能转行的风险。如果你对这一点存在疑虑,可以到招聘网站上看一下CG对应岗位提供的薪资大致的水平是什么样子的。再说了,你对某样事物的喜爱,就是别人拿来剥削你的最好理由。具体请参见之前搓米问答上那个“上海迪士尼乐园玲娜贝儿扮演者月薪资六千”的新闻。
如果不是为了找工作,单纯兴趣,自己一行行写出来,哪怕是最简单的渲染器,我也感觉很不错。
如果是为了找工作,复制粘贴快速写出来的渲染器,就是再复杂,我也觉得不行。
一件事有两种做法。一种不能惊艳他人,吸引眼球,但实在得到知识。另一种纯粹哗众取宠。
下面是原答案。
人均一个渲染器?是复制粘贴吗?虽然大部分工作是CRUD也很夸张啦。指的是所有东西都写死跟渲染一个三角形没区别的渲染器吗?狗头。能画三角形也算渲染器。
至少用uber shader方案实现大部分glTF特性的渲染才算吧。渲染器和渲染器的差距太大啦。
Google的渲染引擎做了好几年啦,瞬间被打败,狗头。
如果是使用固定shader渲染个mesh,本质就是CRUD,有啥技术含量,渲染引擎的技术含量在于如何高效渲染等工程相关的方面。
至于说面试挂掉的,本来面试就是看眼缘,你不一定比面试官差。软件行业文人相轻,狗头。我就见过很多人说阿里p10,腾讯T12水货呢。
算了吧,图形学的难度有目共睹的,一大群不过是跟风起哄罢了,能坚持学到课程进度一半以上的人目测很少。
一般会去主动钻研图形学的人,很大一部分是对游戏开发存在较大的兴趣。有一个比较明显的例子吧,B站虚幻引擎教程播放量最高的是谌嘉诚的UE4新手入门教程,这门教程实际上已经非常基础了,并且每集时常非常短,非常适合新手入门,另外教学内容也多是gameplay那块的东西,不会涉及到过多的数学理论知识,但学习该教程能够达到过半进度的人,其比例实在是不高,在后半段视频和前半段视频中,其弹幕及评论区留言的密集程度完全不在一个量级上。
想到自己的经历吧,当初考研的目的就是想去做游戏开发,结果读研之后却被迫当了几年的CV炼丹师,自己确实不太喜欢做这方面的工作,另外做的时候也没收获成就感(本身自己太菜,感觉平时工作就是拿别人论文提出的积木排列组合),后来毕业了还是想去做游戏,最终去做UE5gameplay程序员了,结果开始上班之后,反而每天都能在学习gameplay开发的时候收获到极大的满足感与成就感,比我读研的时候还心情愉悦,谁又能想得到呢?
我是这么觉得的,对什么东西有兴趣,那就坚持下去研究吧,研究得久了,你也有实力了,自然不愁找不到工作,也不用担心卷不过别人。实力不够,可以找个相对要求低点的岗位,之后再慢慢精进对吧,不用考虑什么卷不卷,在行业里推动你能走更远的内在驱动力一定是来自于本身的兴趣。你这个提问中的言语听着有些过于功利了,建议转换一下自己的心态。