计算图形学的学习路线是怎样的?
渣渣二本两大劝退护法之一,学过C++ 数据结构 数字电路 离散数学等课程,对图形学非常感兴趣,作为一个图形学的小白,想知道现在图形学的学习路线自己未来的发展趋势是怎么样的 2021年3月12日更新:我之前犯了一个错,和很多关于计算机图形学该如何学习下的问题回答一样,一直在堆内容,看闫大的101课程啊(马上202也要出来了,高质量实时渲染),叶大的一个PDF流程书籍啊,那个上面一堆书,普通人根本看不完。逢人就是learnopengl那个学习网址,我个人觉得我之前的回答其实只能说分享自己的收藏,并没有把这个问题:计算图形学的学习路线是怎样的?自己去认认真真的回答一下。
所以!!我准备真正分享自己的学习路线,如果有路过的兄弟姐妹实在难以赞同我这个回答,麻烦轻喷哈。
以下是这次更新的正式回答内容:
首先,只要你不是985或者211里面厉害的大佬,只是普通双非本科,专科,甚至高中学历。听我一言,真的不要看那些大佬分享的学习内容,像叛逆者还有文二秋刀等等图形大佬的学习经历,真的不要看!!不要看!!不要看!!
你我只是个普通人,真不要觉得自己可以像闫令琪一样设计出实时光线追踪这种东西,还有那个设计出太极编程的物理引擎大佬。这些都是别人家的孩子,从高中就是大佬级别,各种海外顶级高校,SCI数不胜数。
尤其图形学在国内现在本来就业也差,不去读博真不要按照他们的学习经历,还有一众答主的回复,我敢在这说实话,他们分享的一堆书啊资料啊视频啊,他们自己看过多少?能看过20%??
最后重申一下,有志于攻读浙大CAD&CG,中科大刘利刚老师等顶级院校的图形学博士,不用看我的回答。
我这篇回答都是给我们这些双非本科起步的童鞋看,只是为了就业。
回归正题,以下是计算机图形学的学习路线:
第一步:无论基础如何,随便找个编程语言看了就行了,就哪怕C语言都可以。真不用听他们在那边说什么一定要把《C++ Primer》刷透什么的,真的没必要!语言部分,C、C++、JS,随便学一个就行了,非要推荐,肯定还是C++更好。如果还是想说推荐看什么书,我个人哈,我个人推荐一本《零基础学通C++》,范磊著。简单暴力,不涉及到任何《C++ Primer》里面STL源码知识。
第二步:搞懂图形渲染管线,我只推一本书《WebGL编程指南》,不要管里面用的JS和html,真的不难,国内大专基本都开设的前端知识,北大青鸟都包教包会的那种,真不用怕。也不用担心和后面学的内容无关,或者说:“哎呀,你这就是学API,怎么是学图形学呢?”。那您大可以去刚虎书《Fundamentals of Computer Graphics》,祝您好运(手动滑稽)。这一步主要就把图形渲染管线,纹理,光照之类的搞清楚了,而且这本书写的也通俗易懂。
补充一下:其实没必要一直死磕OpenGL,学一个WebGL了解下图形管线,对于在校学生来说我感觉够了,讲道理大部分情况下应届生工作还是以Unity或者UE为主,有这个时间不如多死磕引擎。可以去看各个招聘的要求,OpenGL之类的图形API很多情况下只是加分项,而Unity/UE百分百是必备项。第三步:然后再去看闫令琪大佬的GAMES101和GAMES202,顺带可以看看3D数学了。老样子,直接推荐书:《3D数学基础:图形与游戏开发》。里面就是最最简单的几何与线性代数知识,真的比期末考试还简单。有一本进阶的《3D游戏与计算机图形学中的数学方法》稍微难一些,所以我个人还是推荐前者。
第四步:这一步开始我自己也准备进行,也就是直接看Unity或虚幻,找一份技术美术渲染向,也就是TA,我估计问题应该不大了,B站关注的很多TA大佬,霜狼,庄懂等基本也是这么推荐的。
总结一下吧,我前三步推荐的书都是高中及以上都能看懂的,学有余力的情况下,可以看看《C++ Primer》、《Fundamentals of Computer Graphics》、《Real-Time Rendering》等等这种书籍,其中这本C++圣经你有基础的话,再去看也不难,但很多知乎贴吧上来就推这本书,什么看不懂就别学计算机了之类的话,我真的觉得很不友好,我也很讨厌贴吧那种新人一问问题,一个两个半瓶子就在那冷嘲热讽,“不会去谷歌吗?没有手?”之类的话。
反正来,普通人想学好图形学,相信我,看我推荐的前三步的书和课程,肯定够了。下面我再把三本书的截图发一下:
看到这里的童鞋,我再分享一个好东西吧,就上面三本书的PDF:
链接: https://pan.baidu.com/s/1Qqg5T_ByEvv8GANcvgcq4w密码: qh1k
其实我还是建议买正版书籍,毕竟尊重别人的知识劳动。不过那本C++,已经买不到了,淘宝都是影印版,直接拿我这个PDF去打印也是可以的;3D数学那个也不贵,PDF也有点糊,看不清就买个纸质的吧!这个是第一版,第二版贵了很多,也多了很多东西,童鞋们自己判断哈!
以下是2020年12月09日回答内容:
其实关于这个问题有很多优秀问题及回答:
系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?求好的计算机图形学入门教程,或书籍?零基础如何学习计算机图形学?我的主页收藏还有好几个,有兴趣的话可以看看。
只喜欢看书的话,直接看叶大的书籍就行了,反正我是肝不下去(手动笑哭)
miloyip/game-programmer我自己目前也在学习中,就简单地归纳下学习路线:
第一步:首先要明确,图形学是什么,细化的方向中,建模、渲染、动画,你是准备专精哪一块,这边只推闫大的GAMES101课程,在B站有完整的课程。先去熟悉什么是实时渲染,什么是离线渲染,什么是全局光照,什么是光栅化、光线追踪,再去考虑什么是图形学。
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
第二步:上手代码,C++不解释了,我这边推荐一本书《Essential C++》,也是《C++ Primer》的原作者写的一本精简的C++入门书籍。API这边OpenGL用的多,其实很多人也推荐了下面这个网站,这一块题主你自己看,不一定要OpenGL,像DirectX、WebGL、Metal(苹果专属,Mac党)都可以。
https://learnopengl-cn.github.io顺带提一下,配置环境有些麻烦很正常,这边很多大佬都没有提到这个问题,我反正当初为了配置这个OpenGL环境弄了大半天。
我这边正好一个Mac一个Win,两台机子配置方式也不同,我当初是根据下面两个帖子分别配置好的,用的IDE都是Clion:
Mac CLion下OpenGL环境配置win10环境下clion配置opengl(glfw+glad)_neo080的博客-CSDN博客
第三步:我分为学术和工业两条路,毕竟一部分是学生党,另一部分是上班族工业部分:我自己的定义就是游戏了(虽然我知道不只是游戏需要,但做图形很大程度最后都是去游戏公司做程序,TA,游戏引擎之类的),所以基本就是unity和unreal二选一,这部分我自己也还没开始,不好给建议,总之都是跟游戏引擎打交道,直接上手游戏引擎去学习应该更符合就业需要。学术部分:我和其他大佬不一样,我还是个菜鸟,我目前准备用一个笨办法,就是把全国985211双一流大学的近3年有关图形学各个方向的博士论文都看一遍。如果最后收集好了,也会在这个回答更新的。这边推荐一个网站,关于图形的学术期刊很全:
Ke-Sen Huang's Home Page最后补充一下,GAMES论坛还有物理引擎的课程,还有中科大刘利刚老师也在更新几何建模的视频;然后还给大家分享几个资源吧,第一个是闫大的一个计算机图形学综述讲座,第二个是毛星云大佬的实时渲染总结,第三个也是个大佬整理的图形学学习资源:
Chinagraph2020会前课程_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliQianMo/Real-Time-Rendering-3rd-CN-Summary-Ebookhttps://github.com/SharkPem/fun-with-graphics 源链接,侵删:miloyip/game-programmer
所需的数学知识所需的数学知识
计算机图形学
总的来说,很难,真的很难,自学更难
发展趋势就是进入国内外的大公司进行游戏引擎渲染管线、shader、工具的开发 楼上的大佬写的很详细了,我再补一张经典的技术美术路线图,以供参考。
该回答只适合如我一样的菜鸡,大佬请忽略。
无论学习什么都不要上来就啃深奥难以理解的理论,很快你就会主动或者被动弃坑,先试着找一些自己感兴趣的内容,最好可以上手搞一搞,让兴趣成长,积累成就感,如此反复,正向反馈,正向反馈,正向反馈,很重要,知识体系了解就好了,不要让知识体系成为你的负担而造成恐惧。翻过一座座小山坡,你会领悟到,也就那回事,但是山是永远也翻不完的,满足工作需要之外,能乐在其中那就是有境界了。
页:
[1]