untiy 3d ShaderLab读后感_0_目录

第一篇 菜鸟报道

第一章 着色器的概念和在 3D 游戏中的作用
1.1       Shader 的概念
1.2       Shader 的实例化 Material
1.3       Shader 的实现语言

第二章 Unity 中着色器的形态
2.1        Unity 通过 ShaderLab 来组织 Shader
2.1.1     关键字 Shader
2.1.2     使用 SubShader 组织着色器的不同实现
2.1.3     SubShader 的重要标签
2.1.4     渲染物体:SubShader 中的 Pass
2.1.5     Pass 的标签和其名字的意义
2.1.6     如何保证 Shader 的广泛适应性
2.2        ShaderLab 所支持的着色器编程语言
2.3        Unity 中着色器的三种形态
2.3.1     固定管线
2.3.2     可编程 Shader
2.3.3     ShaderLab 的骄傲:surface  shader
2.4        着色器的数据接口:属性和 uniform 变量
2.4.1     在属性块中定义属性
2.4.2     通过图形界面操作属性
2.4.3     通过脚本操作属性
2.4.4     矩阵:不能在属性块中定义的变量
2.4.5     在 Cg 代码中使用属性

第三章 着色器中所要用到的各种空间的概念
3.1        模型空间
3.1.1     为什么用模型空间
3.1.2     在脚本和 Shader 中进出模型空间
3.2        世界空间
3.2.1     统一表达:世界坐标
3.2.2     在脚本和 Shader 中进出世界坐标空间
3.3        视空间
3.3.1     渲染的需要:视空间
3.3.2     在脚本和 Shader 中进出视空间
3.4        空间的一块:视锥体
3.4.1     看得见的部分:视锥体
3.5        剪切空间
3.5.1     投影 
3.5.2     脚本和 Shader 中的投影矩阵

第四章 基本的光照模型
4.1        光源对物体照明的分类
4.1.1     间接照明
4.1.2     直接照明
4.2        照明的计算方式:光照模型
4.2.1     漫反射和 Lambert
4.2.2     镜面高光和 Phong
4.2.3     半角向量和 BlinnPhong

第二篇    Unity 中的照明 Lighting

第五章 第一个被执行的 Pass
5.1        不同的 LightMode 被选择的优先顺序
5.1.1     渲染路径和 Pass 的 LightMode 标签
5.1.2     设计可以检测渲染路径的 Shader
5.1.3     设计一个便于检测渲染路径的场景
5.1.4     VertexLit 渲染路径下 Pass 的执行
5.1.5     Forward 渲染路径下 Pass 的执行
5.1.6     Deferred 渲染路径下 Pass 的执行
5.1.7     不同渲染路径下 Pass 执行规则的总结
5.2        三个渲染路径之外
5.2.1     LightMode 的其它值
5.2.2     设计检测用的材质
5.2.3     Always 类型的 Pass 在三种渲染路径下的执行第六章
5.2.4     LightMode 的默认值和其在三种渲染路径下的执行

第六章 渲染路径 VertexLit
6.1        顶点照明
6.1.1     什么是顶点照明
6.1.2     存取光源数据的变量
6.2        顶点照明和 Unity 存放光源的第一种方式
6.2.1     用于调试输出的材质
6.2.2     设计检测的场景
6.2.3     在 Vertex  Pass 中的检测结果
6.2.4     可能会迷惑你的数据
6.3        顶点照明和 Unity 存放光源的第二种方式
6.3.1     用于调试输出的材质
6.3.2     设计检测的场景
6.3.3     在 Vertex  Pass 中的检测结果
6.4        顶点照明和 Unity 存放光源的第三种方式
6.4.1     Unity 为顶点照明准备的光源
6.4.2     用于验证的场景
6.4.3     顶点照明中的点光源
6.4.4     计算顶点照明的 ShadeVertexLights 函数
6.4.5     顶点照明中的 Pixel 点光源
6.4.6     顶点照明中的平行光
6.4.7     小结顶点照明中的灯光信息
6.4.8     顶点照明的一个实现例子

第七章 渲染路径 Forward Rendering
7.1        ForwardBase 和 ForwardAdd
7.1.1     设计检验用的场景和材质
7.1.2     ForwardBase 和 ForwardAdd 的表现
7.2        Forward 渲染路径下的重要光源
7.2.1     设计检验用的材质
7.2.2     不存在 Pixel 光源时的情况
7.2.3     存在 Pixel 平行光时的情况
7.2.4     存在 Pixel 点光源时的情况
7.2.5     有多种类型的 Pixel 光源时的情况
7.2.6     Forward 渲染路径下 Pixel 光源小结
7.3        重要光源在 ForwardAdd 内的执行
7.3.1     设计用来检测 Pixel 光源的材质
7.3.2     设计检测用的场景
7.3.3     检测结果:ForwardAdd 如何被执行
7.4        ForwardBase 和 Unity 存放光源的第一种方式
7.4.1     设计检测用的材质
7.4.2     第一种方式内的 Vertex 点光源
7.4.3     第一种方式内的平行光
7.4.4     第一种方式内的重要 Pixel 点光源
7.4.5     只有 ForwardBase 时的情况总结
7.4.6     ForwardAdd 对 unity_4LightPos 变量数组的影响
7.4.7     有 ForwardAdd 时存放光源数据第一种方式的总结
7.5        ForwardAdd 和 Unity 存放光源的第一种方式
7.5.1     设计检验用的材质
7.5.2     设计检验用的场景
7.5.3     Pixel 光源和 unity_4LightPos 数组变量
7.5.4     平行光和 unity_4LightPos 数组变量
7.5.5     数组变量 unity_4LightPos 的使用情况分析
7.6        Forward 渲染路径和 Unity 存放光源的第三种方式
7.6.1     检测 ForwardBase 内 unity_LightPosition 数组变量的材质
7.6.2     检测结果:第三种方式不包含对 ForwardBase 有效的数据
7.6.3     检测结果:第三种方式不包含对 ForwardAdd 有效的数据
7.7        Forward 渲染路径情况总结
7.7.1     Forward 渲染路径下材质的适应性
7.7.2     Unity 如何为 Forward 渲染路径设置光源 
7.7.3     函数 Shade4PointLights()

第八章 基于光照贴图的烘焙照明
8.1        单光照贴图和 VertexLit 渲染路径
8.1.1     测试烘焙的场景
8.1.2     烘焙场景中使用的材质
8.1.3     烘焙的前提:静态物体
8.1.4     如何在烘焙中使用自发光材质
8.1.5     烘焙之后静态物体和非静态物体的实时照明
8.1.6     应用光照贴图到 VertexLit 渲染路径下的材质中
8.1.7     写自己的材质,改变实时光源对烘焙后物体的照明
8.2        在效果和性能间进行权衡
8.2.1     影响全局的 Resolution 选项
8.2.2     影响单个物体的 Scale  In  Lightmap 选项
8.3        单光照贴图和 Forward 渲染路径
8.3.1     单光照贴图在 VertexLit 和 Forward 下面的不同表现
8.3.2     准备可应用于烘焙的自发光材质
8.3.3     在 ForwardBase 内计算光照贴图
8.3.4     Forward 渲染路径下,烘焙之后的实时照明
8.4        单光照贴图在 Deferred 渲染路径下的实时阴影
8.5        双光照贴图和 Deferred 渲染路径
8.5.1     全局 GI,间接照明,以及双光照贴图
8.5.2     混合双光照贴图和实时照明
8.5.3     观察混合过程
8.5.4     双光照贴图的使用限制
8.6        双光照贴图和 Forward 渲染路径
8.6.1     Surface  Shader 中的后门,dualforward 开关
8.7        方向光照贴图和 Forward 渲染路径
8.7.1     烘焙后的凹凸问题
8.7.2     Direction Lightma ps  和凹凸

第九章 基于 LightProbes 的照明
9.1        初识 LightProbes
9.1.1     LightProbes 照明的优点
9.1.2     检验 LightProbes 照明的场景
9.1.3     使用 Light  Probe Group 进行管理
9.1.4     烘焙场景光照信息到 LightProbes 中
9.1.5     对比 LightProbes 照明和实时照明
9.2        放置 LightProbes 的注意事项
9.2.1     必须形成一个体积
9.2.2     单个 Light  Probe 必须处于采样光源的照射范围
9.3        动态更新 LightProbes
9.3.1     更新数据的注意事项
9.3.2     更改不同通道的 Coefficient 
9.4        LightProbe 照明采用和 Archor  Override
9.4.1     基于线性插值的采样
9.4.2     改变默认的插值位置
9.5        LightProbe 照明和阴影
9.5.1     LightProbe 和光照贴图的异同
9.5.2     烘焙阴影时可能会犯的错误
9.5.3     将静态物体的阴影烘焙到 Light  Probe 上
9.5.4     LightProbes 照明和实时阴影的混合
9.6        烘焙一个色彩丰富的场景
9.7        在自己的材质中使用 LightProbes 照明
9.7.1     为一个 Forward 渲染路径的材质计算 LightProbes 照明
9.7.2     使用 ShadeSH9 函数进行计算
9.7.3     在一个 Surface Shader 中进行计算

第三篇 阴影 Shadows

第十章 平面阴影
10.1        第一种情形,平行光的投影
10.1.1     对平行光投影的考虑
10.1.2     进出阴影接受平面的矩阵
10.1.3     在 Shader 中使用三角形相似计算阴影
10.2        第二种情形,点光源的投影
10.2.1     光源的方向矢量
10.3        阴影的淡出
10.3.1     有效利用计算平面阴影过程中的数据
10.3.2     潜在的问题

第十一章 球体的阴影
11.1        平行光对球体的投影
11.1.1     投影球体的信息
11.1.2     使用相似三角形计算投影
11.2        阴影的淡入淡出
11.2.1     可以计算到的数据
11.3        点光源对球体的投影

第十二章 体积阴影
12.1        将顶点沿某一方向挤出
12.1.1     在 Vertex  Shader 中操作
12.1.2     判断顶点向光还是背光
12.2        从 Volumes 中找到阴影区域
12.2.1     两次挤出
12.2.2     计算出阴影区域
12.2.3     渲染阴影 
12.2.4     需要注意的问题

第十三章 阴影映射
13.1        灯光空间和相机空间
13.1.1     观察两个空间
13.1.2     两个视角的 Z 深度
13.1.3     渲染 Z 深度的材质
13.2        投射 Z 深度
13.2.1     准备灯光视角的投影矩阵
13.2.2     在材质中计算投影后的 Z 深度
13.3        比较 Z 深度
13.3.1     比较 Z 深度的材质
13.3.2     Z 精度引起的问题
13.3.3     增加 Z 的精度
13.3.4     对 Z 进行偏移

第十四章 内置的阴影
14.1        投射阴影
14.1.1     使用 ShadowCaster 投射阴影
14.1.2     ShadowCaster 里都做了什么
14.1.3     写一个自己的 ShadowCaster
14.1.4     改变 ShadowCaster 的行为
14.1.5     阴影和 FallBack 机制
14.2        接受阴影
14.3        Surface  Shader 和阴影
14.3.1     Surface  Shader 的阴影和 FallBack
14.3.2     Surface  Shader 里的灯光参数和阴影
14.3.3     Surface  Shader 对 Forward 渲染路径下阴影的支持

第四篇 Unity 中的各种 Shader 和效果

第十五章 对各种 Pass 通用的指令开关
15.1        使用 LOD 在运行时决定材质
15.1.1     材质的 LOD
15.1.2     运行时设定单个材质的 LOD
15.1.3     设定全局所有材质的 LOD
15.1.4     Unity 内置的 LOD 层级
15.2        渲染队列
15.2.1     标签 Queue 和渲染顺序
15.2.2     渲染队列和决定空间位置的判断 ZTest
15.2.3     Unity 中内置的渲染队列
15.3        透明的产生
15.3.1     AlphaTest 和 8 种比较条件
15.3.2     动态生成用于测试 AlphaTest 的 8 种 Shader 
15.3.3     动态生成 Shader 的内容
15.3.4     结合 AlphaTest 测试和 Blend 操作
15.4        混合操作
15.4.1     什么是 Blend 操作
15.4.2     动态生成测试用的 Shader
15.4.3     生成的 Shader 的内容
15.4.4     检视不同的 Blend 操作
15.4.5     针对 Blend 操作的 BlendOp 选项
15.4.6     动态生成带 BlendOp 选项的 Shader
15.4.7     生成 Shader 的内容
15.4.8     检视 BlendOp 操作
15.5        使用通道遮罩
15.5.1     ColorMask 的作用
15.5.2     检视 ColorMask
15.5.3     一个使用 ColorMask 产生形体遮罩的例子
15.6        深度测试
15.6.1     存取场景的 Z  Buffer
15.6.2     RenderType 标签和生成 Z  Buffer 的关联
15.6.3     Unity 中内置的 RenderType 值
15.6.4     Forward 渲染路径下的七种 ZTest
15.6.5     Deferred 渲染路径下的 ZTest
15.7        对 Z 深度的偏移 Offset
15.7.1     干预正常 Z 测试测试的手段
15.7.2     通过动态生成 Shader 改变 Offset 的参数
15.7.3     观察 Offset  在不同应用条件下的表现
15.8        面的剔除操作 Cull
15.9        贴图坐标的自动生成
15.9.1     ObjectLinear 和等价的 Cg 代码
15.9.2     EyeLinear 和等价的 Cg 代码
15.9.3     SphereMap 和等价的 Cg 代码
15.9.4     CubeReflect 和等价的 Cg 代码
15.9.5     CubeNormal 和等价的 Cg 代码
15.10      抓屏操作 GrabPass
15.10.1   如何使用 GrabPass
15.10.2   一个模拟曲面反射的例子
15.11      雾效
15.11.1   Fog 和 Unity 的三种实现
15.11.2   材质中对 Fog 的控制
15.11.3   实现自己的 Fog

第十六章 固定管线
16.1        Unity 中固定管线的基本形态
16.1.1     基本形态
16.1.2     照明相关的 Material 块

16.1.3     处理纹理的 SetTexture 块
16.1.4     基本形态的另一种写法
16.1.5     Combine 语句
16.2        使用顶点色
16.2.1     使用 ColorMaterial
16.2.2     通过 Bind 来绑定顶点色
16.3        在固定管线中使用光照贴图
16.4        嵌套 Cg 代码

第十七章 Surface  Shader
17.1        VertexLit 渲染路径下的 Surface  Shader
17.1.1     一个分析的策略
17.1.2     一个检视材质
17.1.3     检视 Surface Shader 和 Forward 渲染路径关系的两个材质
17.1.4     测试用的场景
17.1.5     检视结果:不独立支持 VertexLit 渲染路径
17.1.6     检视结果:对 Forward 渲染路径的支持条件
17.2        Deferred 渲染路径下的 Surface  Shader
17.2.1     设计检视的策略和相关 Shader
17.2.2     检视结果:Surface  Shader 对 Deferred 渲染路径的支持条件
17.3        Forward 渲染路径下的 Surface  Shader
17.3.1     Cg 代码完全体
17.3.2     最简形式的等价 Cg 代码
17.3.3     Cg 代码中对光照贴图的支持
17.3.4     一个验视自动生成的 ForwardBase 的场景
17.3.5     自动生成的 ForwardAdd
17.3.6     参数 noambient 和 novertexlights
17.3.7     参数 approxview 和 halfasview
17.3.8     在 Forward 渲染路径下透明和混合模式的参数
17.3.9     加强 Forward 渲染路径下效果的参数
17.4        Deferred 渲染路径下的 Surface  Shader
17.4.1     自动产生的 PrePassBase 和 PrePassFinal
17.4.2     PrePassBase 都做了什么
17.4.3     LightBuffer 里的东西
17.4.4     计算_LightBuffer 所使用的材质
17.4.5     PrePassFinal 的工作
17.4.6     FallBack 和 Surface  Shader 阴影的产生
17.4.7     精简用的参数
17.4.8     vertex,finalcolor 函数和 addshadow 选项
17.4.9     decal 参数

第十八章 凹凸材质
18.1        切空间
18.2        凹凸贴图

18.2.1     计算到切空间的矩阵
18.2.2     Unity 中法线贴图的压缩格式
18.2.3     另一种使用切空间矩阵的方法
18.2.4     Unity 对切空间计算的支持
18.2.5     解压缩法线贴图的函数 UnpackNormal()
18.2.6     在切空间中计算高光
18.2.7     Surface Shader 和切空间
18.3        视差映射
18.3.1     视差映射和它的别名
18.3.2     一个使用灰度图来偏移 UV 的材质
18.3.3     结合法线贴图
18.3.4     用视角来决定 UV 偏移
18.3.5     一个完整的实现
18.4        地势映射
18.4.1     视差映射的极限和 Relief  Mapping 的出世
18.4.2     Relief Mapping 的算法
18.4.3     一个完整的实现

第十九章 卡通材质
19.1        描边
19.1.1     沿法线挤出轮廓
19.1.2     容易产生的问题
19.1.3     在视空间中挤出
19.1.4     顶点位置的另一个含义
19.1.5     调和法线和顶点方向的简单方案
19.1.6     对顶点方向指向的判断
19.1.7     不仅仅是轮廓
19.1.8     通过 Z 偏移来描边
19.2        卡通着色
19.2.1     对光照进行离散化
19.2.2     使用 2D 贴图重新映射光照

第二十章 镜面材质
20.1        镜像一个相机
20.1.1     镜子里的世界和我的计划
20.1.2     在脚本中对位置和角度进行镜像
20.1.3     需要注意的地方
20.2        使用镜像相机来渲染,投影
20.2.1     镜子 Shader 的工作:采样被投影的渲染结果
20.2.2     脚本的工作:渲染镜像相机和设置投影矩阵
20.3        镜像相机的近剪切平面和倾斜矩阵
20.3.1     调节近剪切平面
20.3.2     使用倾斜矩阵微调视锥体

第二十一章 SSS 半透明材质 
21.1        什么是 SSS 材质
21.2        SSS:复杂的和简单的

第二十二章 体积雾
22.1        距离的表达:以场景为背景的体积雾
22.1.1     我们需要计算那些东西
22.1.2     使用一个 Pass 来完成所有的计算
22.1.3     黑色的雾效
22.2        厚度的表达:物体本身厚度所形成的体积雾
22.2.1     必须要计算的两个数据
22.2.2     在 Unity 中使用一个 Pass 来完成所有计算

第二十三章 Wrap  Model 新解
23.1        一个可调节的 Wrap 光照模型
23.2        另一种实现途径
23.2.1     基于另一种构想的 Wrap
23.2.2     在 Shader 中实现这种构想
23.2.3     进一步的变通

第二十四章 面积光
24.1        线光源
24.1.1     点,线,面
24.1.2     如何理解一个线光源
24.1.3     通过脚本传递线光源的几何信息到 Shader 中
24.1.4     在 Shader 中计算线光源的照明
24.1.5     线光源的辐射方向
24.1.6     线光源的衰减
24.2        面积光源
24.2.1     面积光和线光源的不同
24.2.2     通过脚本设定面积光的几何特性
24.2.3     在 Shader 中计算面积光
24.2.4     和 Unity 默认照明的整合

第二十五章 体积光
25.1        体积光和体积阴影的关系
25.1.1     什么是体积光
25.1.2     体积光和体积阴影
25.2        实现体积光
25.2.1     在 Shader 中表现体积光
25.2.2     脚本的帮助

第二十六章 材质替代渲染 Shader  Replacement
26.1        Camera 和场景物体的渲染消息
26.1.1     检视相机的渲染相机发送顺序 
26.1.2     检视物体的渲染消息发送顺序
26.1.3     相机和物体的渲染消息先后顺序
26.1.4     存在两个相机时的渲染消息
26.1.5     最后能改变 Cull 操作结果的地方:OnPreCull
26.1.6     最后能设置材质数据的地方:OnPreRender
26.2        Camera  的渲染方法
26.2.1     Render 方法会激活的渲染消息
26.2.2     RenderWithShader 方法会激活的渲染消息
26.3        如何使用 RenderWithShader 方法
26.3.1     场景中标签值不同的 5 个 Shader
26.3.2     调用 RenderWithShader 方法的脚本
26.3.3     替换用的 5 个 Shader
26.3.4     检视 RenderWithShader 方法的效果
26.3.5     使用 SubShader 组织替代材质
26.3.6     如何设置替代材质的属性
26.3.7     将结果输出的到屏幕上
26.4        SetReplacementShader 和 ResetReplacementShader 方法
26.4.1     与 RenderWithShader 方法的异同

第二十七章 后期效果 Image  Effects
27.1        Graphics 的两个方法
27.1.1     与 Camera 渲染方法的不同
27.1.2     Blit 方法的简单示例
27.1.3     使用 BlitMultiTap 方法进行多重采样
27.2        一个简单的 Color  Correction
27.2.1     调色用的脚本
27.2.2     调色用的 Shader
27.2.3     更高效的做法
27.3        景深
27.3.1     用于模糊图像的 Shader
27.3.2     在脚本中进行纵横两次模糊操作
27.3.3     进行混合操作的脚本
27.3.4     进行混合操作的 Shader
27.3.5     提供一个可调节参数出来
27.4        轮廓检测
27.4.1     用脚本索要场景的 Z 深度和法线
27.4.2     在 Shader 中进行边缘检测
27.5        扭曲
27.5.1     通过 UV 操作扭曲图像的 Shader
27.5.2     限定扭曲的区域
27.5.3     使用物体来做遮罩
27.6        运动模糊
27.6.1     如何记录运动轨迹
27.6.2     实现运动模糊的 Shader
27.6.3     用于完成整个过程的脚本
27.6.4     另一种方法:通过 Alpha 和帧的 Blend 操作来实现
27.7        噪波
27.7.1     根据 Z 深度来混合噪波
27.7.2     根据明暗程度来混合噪波
27.8        色彩的溢出
27.8.1     色彩溢出的算法考量
27.8.2     实现色彩溢出的采样计算

第二十八章 地形 Terrain
28.1        地表的材质
28.1.1     地面纹理的控制贴图
28.1.2     如何自定义地表材质
28.1.3     如何在地表上使用更多的纹理贴图
28.2        花草的材质
28.2.1     应用于非 Billboard 类型花草的材质
28.2.2     Terrain 引擎传入的数据
28.2.3     应用于 Billboard 类型花草的材质
28.2.4     自定义 Detail  Mesh 会使用的材质
28.3        树木的材质
28.3.1     应用于树木的 2D  Billboard 模式的材质
28.3.2     对 3D 形态的树木进行着色的材质
28.3.3     应用 Unity 计算的 Occlusion

第二十九章 投影
29.1        Unity 的 Projector
29.1.1     Projector 中的材质被执行的顺序
29.1.2     如何写 Projector 使用的材质
29.1.3     控制投影淡进淡出的矩阵
29.2        实现自己的投影 Projection
29.2.1     设定投影矩阵的脚本
29.2.2     采样投影的材质
29.2.3     直接投影到屏幕上
29.2.4     模拟 GUITexture
29.3        模拟粒子的 Billboard 效果
29.3.1     使用 Shader 将物体面向相机
29.3.2     保持旋转角度

第五篇    Shader 的组织和优化

第三十章 Shader 的组织和复用
30.1        写你自己的 cginc 文件
30.1.1     Unity 的 UnityCG.cginc 文件
30.1.2     定义自己的 cginc 文件 
30.1.3     使用自定义的 cginc 文件
30.2        通过 UsePass 来复用
30.2.1     定义自己要复用的 Pass
30.2.2     复用这些 Pass
30.3        定义自己的 Shader 关键字
30.3.1     使用关键字改变 Shader 的行为
30.3.2     定义自己的 Shader 关键字
30.4        使用 multi_compile 编译 Shader 的多个版本
30.4.1     使用 multi_compile 实现多次编译
30.4.2     在脚本中选择 Shader 的版本
30.5        关于 Unity 对 DX 所带来的问题

第三十一章 你所必需知道的渲染概念
31.1       逐顶点计算和逐像素计算
31.1.1     逐顶点计算
31.1.2     逐像素计算
31.1.3     如何在这两个概念中取舍
31.2        Draw Call 的指标意义
31.2.1     Draw Call 的概念
31.2.2     正确理解 Draw  Call 对你开发应用的意义
31.2.3     Batching 的概念和 Unity 为优化 Draw  Call 所做的工作
31.2.4     为了优化 Draw  Call,你可以做哪些工作
31.3        利用渲染队列的技巧
31.3.1     渲染队列的概念
31.3.2     设置 Render  Queue 的技巧

第三十二章 基于渲染路径的优化
32.1        VertexLit 渲染路径下的优化
32.1.1     VertexLit 渲染路径的特点
32.1.2     合理的光照计算
32.2        Forward 渲染路径下的优化
32.2.1     Forward 渲染路径的特点
32.2.2     合理的光照计算
32.3        Deferred 渲染路径下的优化
32.3.1     Deferred 渲染路径的特点
32.3.2     合理的灯光布局

第三十三章 移动平台上的优化
33.1        移动平台的特点
33.2        一些指令的运算速度概念
33.3        顶点数量的考虑
33.4        贴图问题
33.5        数据类型使用方式
33.6        变量的使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值