网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Unity3D内建着色器源码剖析
分类 计算机-软件工程
作者 熊新科
出版社 人民邮电出版社
下载
简介
作者简介
熊新科,资深游戏开发工程师。2003年进入游戏行业,先后参与多项游戏的开发。乐于分享技术,活跃于各大Unity技术圈。
目录
第1章 实时3D渲染流水线
1.1 概述
1.2 顶点处理阶段
1.2.1 顶点的组织方式
1.2.2 坐标系统和顶点法线的确定方式
1.2.3 把顶点从模型空间变换到世界空间
1.2.4 把顶点从世界空间变换到观察空间
1.2.5 把顶点从观察空间变换到裁剪空间
1.3 光栅化阶段
1.3.1 裁剪操作
1.3.2 透视除法
1.3.3 背面剔除操作
1.3.4 视口变换
1.3.5 扫描转换
1.4 片元处理与输出合并阶段
1.4.1 纹理操作
1.4.2 输出合并中的深度值操作
1.4.3 输出合并中的Alpha值操作
1.4.4 Unity 3D ShaderLab中的Alpha混合指令及深度测试指令
第2章 辐射度、光度和色度学基本理论
2.1 辐射度学基本理论
2.1.1 立体角
2.1.2 点光源、辐射强度和辐射亮度
2.1.3 辐射出射度和辐射入射度
2.2 光度学基本理论
2.3 色度学基本理论
2.3.1 什么是颜色
2.3.2 颜色的数字化及CIE1931-RGB颜色模型
2.3.3 CIE1931-XYZ颜色模型
2.3.4 CIE1931-Yxy颜色模型
2.4 伽马校正和sRGB颜色空间
2.4.1 伽马校正
2.4.2 sRGB颜色空间
2.4.3 Unity 3D中的伽马空间和线性空间
第3章 Unity 3D着色器系统
3.1 从一个外观着色器程序谈起
3.1.1 BasicDiffuse着色器展开后的代码分析
3.1.2 外观着色器的编译指示符
3.1.3 传给外观着色器函数的参数
3.2 直接编写顶点着色器和片元着色器
3.2.1 用Cg语言编写的包含着色器功能的代码片段
3.2.2 声明目标渲染器
3.2.3 着色器的语义
3.3 在Cg代码中访问着色器属性块
3.3.1 在着色器代码中声明材质属性
3.3.2 在着色器代码中声明对应于材质属性的变量
3.4 使用着色器多样体处理多种情况
3.4.1 编译指示符multi_compile和shader_feature的使用方式与区别
3.4.2 多样体关键字的使用限制
3.4.3 内置的multi_compile指示符快捷使用方式
3.5 多平台着色器代码的支持
3.6 确定着色器编译器的版本
3.6.1 和着色器编译器版本相关的宏
3.6.2 消除着色器代码中各平台的语义差异性
3.6.3 关闭可忽视的编译警告
3.6.4 Unity 3D Shader的基本数据类型
3.6.5 消除平台差异性
3.6.6 统一着色器常量缓冲区的宏定义
3.6.7 HLSL语言中的分支预测特性
第4章 引擎提供的着色器工具函数和数据结构
4.1 UnityShaderVariables.cginc文件中的着色器常量和函数
4.1.1 进行变换操作用的矩阵
4.1.2 和摄像机相关的常量缓冲区
4.1.3 与光照相关的工具函数和内置光源
4.1.4 与阴影相关的着色器常量缓冲区
4.1.5 与逐帧绘制调用相关的着色器常量缓冲区
4.1.6 与雾效果相关的常量缓冲区
4.1.7 与光照贴图相关的常量缓冲区
4.2 UnityCG.cginc文件中的工具函数和宏
4.2.1 数学常数
4.2.2 与颜色空间相关的常数和工具函数
4.2.3 描述顶点布局格式的结构体
4.2.4 用于进行空间变换的工具函数
4.2.5 与光照计算相关的工具函数
4.2.6 与HDR及光照贴图颜色编解码相关的工具函数
4.2.7 把高精度数据编码到低精度缓冲区的函数
4.2.8 法线贴图及其编解码操作的函数
4.2.9 线性化深度值的工具函数
4.2.10 合并单程立体渲染时的左右眼图像到一张纹理的函数
4.2.11 用来实现图像效果的工具函数和预定义结构体
4.2.12 计算屏幕坐标的工具函数
4.2.13 与阴影处理相关的工具函数
4.2.14 与雾效果相关的工具函数和宏
第5章 Unity 3D引擎的多例化技术
5.1 多例化技术概述
5.1.1 不使用GPU多例化技术绘制多个相同模型的伪代码
5.1.2 在Direct3D 11中设置输入组装阶段的示例伪代码
5.1.3 设置顶点输入组装布局
5.1.4 顶点着色器和片元着色器中对使用GPU多例化技术的对应设置
5.2 如何在材质中启用多例化技术
5.3 添加逐实例数据
5.3.1 在外观着色器中给材质颜色变量增加GPU多例化支持的代码
5.3.2 在C#层改变game object中的多例化材质颜色属性
5.4 在顶点着色器和片元着色器中使用多例化技术
5.4.1 在顶点着色器和片元着色器中启用GPU多例化技术
5.4.2 UNITY_VERTEX_INPUT_INSTANCE_ID宏的定义
5.4.3 DEFAULT_UNITY_VERTEX_INPUT_INSTANCE_ID宏的定义
5.4.4 UNITY_INSTANCING_BUFFER_START及另外两个配套的宏的定义
5.4.5 UNITY_INSTANCED_ARRAY_SIZE宏的定义
5.4.6 UNITY_SETUP_INSTANCE_ID宏的定义
5.4.7 DEFAULT_UNITY_SETUP_INSTANCE_ID和UNITY_TRANSFER_INSTANCE_ID宏的定义
5.4.8 着色器常量缓冲区UnityDrawCallInfo的定义
5.4.9 5.4.1节中展开多例化相关的宏之后的代码
第6章 前向渲
内容推荐
本书既是一本Unity 3D着色器代码分析教程,也是一本Unity 3D着色器编程参考手册。全书共12章,主要内容包括:实时3D渲染流水线,辐射度、光度和色度学基本理论,Unity 3D着色器系统,着色器工具函数,Unity 3D引擎的多例化技术,前向渲染和延迟渲染,Unity 3D的全局光照和阴影,UnityShadow Library.cginc文件分析,AutoLight.cginc文件分析,基于物理的光照模型,Unity 3D标准着色器和Standard. shader文件分析,片元着色器实时绘制图像实战案例。
本书适合Unity Shader的游戏开发者、程序员阅读,也可供相关专业人士参考。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/15 18:57:37