图形程序学习过程分享.md

从客户端到Unity图形程序将近4个月,过程中和同事交流学习经验,避开了不少弯路。做业务也有一段时间了,正好给自己做一个学习回顾,对其他人也能提供一份参考。

概述

在转岗之前,有过一段短暂使用Unity的时间,算是了解过基本操作能做个小游戏的程度,因此这次从公司自研引擎转到使用Unity没花多长时间。

图形学最大的难点我认为是它广大的知识体系,上至光影管线下至GPU架构、显卡、图形API,其中哪一个细节拎出来都足以出书。新手其实只需要有一个合适的学习提纲或线路,来对照自己的学习过程是否走偏。有些文章提到XX宝书或者其它很厚的书,只要啃透就能理解XX,这其实是一种曲线救国,宝书追求正确性往往是枯燥乏味,而且是没有对应到具体要解决的问题,这种方式很容易学偏,浪费时间,效率也低。

另外一个问题的则是学会获取资料,最新的图形学资料都来自墙外的英文论文、手册,尽管翻墙+英文属实不符合大多数人的学习习惯,但用百度着实会搜出一大堆二手垃圾资料,这些资料可能是直接复制粘贴不知道哪本书书上的原文,或是自己也未能理清抽象概念的定义,又或者是中英文差异、API差异等造成的概念不统一,信息筛选过程很容易让人心力憔悴。说资料筛选,这都还好,重要的是只通过二手资料学习,精华和糟粕混在一起,反而容易混淆了正确的概念。

因此学习最好是有一个由下向上的过程,一是先从图形API开始,因为图形API相对来说非常接近GPU,与硬件仅仅隔一个驱动层,通过理解API的调用过程来猜硬件背后做了哪些事,它是个什么流程,脑子里形成这种结构才是这个阶段要注意学的,比方说帧缓冲对象附件的概念很抽象,把帧缓冲想象成结构体,颜色附件就是结构体中一个int[]属性就很好理解了。这个阶段打好基础框架是很重要的,试着自己去推导变换矩阵,去算坐标空间变换。二是在具体引擎上实战,Unity为了跨平台给API做了许多封装,如果没有API的理解在这很容易陷到细节中,这个过程关注的点主要就在于实际应用,通过实战来理解通透上个过程的知识,达到能独立编写某个渲染效果测试demo的程度。这两个过程中的教程最好是有详细操作步骤的那种案例,等自己有一定水平之后再根据喜好扩展方向。

学习过程

下面是我的学习过程,不适合完全没有经验的人,需要有Unity的使用经验。这个过程只能用于满足Unity图形程序入门级别的学习,对于进阶学习或许没有太大帮助。但这种方式能以较快的速度,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值