21_shader学习
2020-02-22 本文已影响0人
alphonseLin
1. shader介绍,component结构
- Mesh Filter : 存储一个Mesh(网格,模型的网格,就是模型的由哪些三角面组成,组成一个什么样子的模型,三角面的一些顶点信息)
- Mesh Renderer:用来渲染一个模型的外观,就是样子, 按照 mesh给它皮肤,给它颜色
通过Material(材质)控制模型渲染的样子 - Material:
- 贴图(可以没有,可以是一个单纯的颜色)
- Shader
2. 什么是openGL,DirectX,GLSL,HLSL,CG
- openGL+DX,图像应用渲染编程接口
- shader可以认为是一种渲染命令 ,由opengl 或者dx进行解析,来控制渲染丰富多彩的图形
- shader编写——unity都可以,但直接使用CG就好
- openGL——》语言:GLSL
- HLSL——》语言:DirectX
- 跨平台(英伟达)——》语言:CG
3. Unity shader的分类
- ps:shaderLab(对CG做了封装)来编写unity中的shader
- 分类:
- 表面着色器 surface shader
- unity 独有,对复杂shader进行了封装
- 依然会被解析成顶点/片元着色器
- 例如,在光源比较多的地方,就可以直接用表面着色器,因为他直接帮我们处理了很多光照的细节
- 顶点/片元着色器 vertex/fragment shader
- 比较基本的着色器,已经可以实现很多功能了
- 固定函数着色器 fixed function shader(已经弃用了)
4. 创建第一个shader
- 右键创建material
- 右键创建shader,最开始创建的shader,都在custom里面
5. 编写学习shader的基本结构
- 当unity不知道如何对这个物体做渲染的时候,就直接是紫红色
- Properties
- SubShader
- Fallback
6. 完善unity Shader的基本结构
