如何学习图形渲染(Shader)

2020-01-02  本文已影响0人  罗卡恩

https://www.bilibili.com/video/av76909931
1.图形渲染学习的几个主要方面
Shader(着色器语言):
CG(unity 在之后几个底层 上封装的API) glsl hlsl opengl

image.png

渲染管线/图形API:
untiy 的shaderlab 写完会转换为底层的语言


image.png

图形API一般是opengl directX Vuikan(新的图层API)

硬件架构:
主要说的是GPU 不过懂得人不多 需要了解(会变得更清晰)
有些地方可编程有些地方可配置 都是在GPU写死的
硬件都有一些规范和标准 各大厂商都有规范
移动GPU架构和PC上是不同的 PC可以运行到android或IOS就挂了

图形学算法/数学:
现在可视化编辑比较多(unity sg) 但是要精还是要手写 比如空间变换 本地坐标系转为图形坐标系 unity自带mvp矩阵用 如果有需求阴影(同样的算法不同的组合)自己不会改
PBR(物理渲染) 不考虑优化用引擎内置shader就行了 一旦要优化(android IOS)看不懂人家算法
比如立体角


image.png

PBR的模型表面光照着色方程


image.png
需要线代 微积分(我刚好都学过)也不需要太深 不然可能人家的一些文章都看不懂
2.图形渲染学习顺序
虚线可以了解
image.png
unity 轻量级渲染管线啥的 都是图形API再封装

DCC(就是美术资源创建工作 maya ps blender) 美术理解程序非常难 要去跟美术沟通怎么改模型软件导入引擎后出问题了
效果分析 :卡通渲染 blender可以连shader 验证一些渲染结果 而不是等美术做完干 或者别人哪一个完成的东西分析怎么做(量的积累 XX算法可以做到XX效果) 可以根据分析工具 分析都是底层(根据代码生成的)
优化:需要大量经验 哪一帧卡 减面 减骨骼 优化shader 要取舍

3.图形渲染学习建议
学习曲线


image.png

需要学程序 然后图形方向
新的需求不会举一反三 就到了瓶颈期 需要项目锻炼和理论提高
兴趣:多去做一些效果 不先搞底层 获得正反馈 不然就劝退了
浅尝辄止:知识相互依赖性很大 刚开始钻牛角尖会很痛苦 看不懂先放下
以后知识量够了回去看一看
刨根问底:熟练了后 带着问题分析原理
为什么去学 根据自身能力去学 比如美术抱着GPU底层看 会浪费大量时间 学自己擅长的东西
有实际项目去争取 有些问题不实际去做不遇到压力就不会觉是问题 自己把自己的做的 改到手机上试一试效果

上一篇下一篇

猜你喜欢

热点阅读