Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 全书总结
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 全书总结
本系列文章中可能有很多翻译有问题或者错误的地方;并且有些章节描述的也不太清晰。
所以请务必结合原书学习!!! ^ @ ^
优化总结
总结书中提到的所有需要优化的细节
第一章:向量代数
1、向量的基本运算;
2、DX数学库中向量的接口。
第二章:矩阵代数
1、矩阵的定义,基本计算和特性;
2、矩阵的行列式,伴随矩阵和逆矩阵;
3、DX数学库中矩阵的接口。
第三章:变换
1、线性变换的定义和其矩阵表达;
2、仿射变换的定义和其矩阵表达;
3、坐标系变换;
4、DX数学库中的变换函数。
第四章:Direct 3D初始化
1、COM和贴图格式介绍;
2、DX初始化流程:交换链、深度缓冲、资源和描述符、多重纹理映射、特征级别、DirectX 图像基础设施(DXGI);
3、特征等级的检查;
4、Residency;
5、CPU/GPU的交互:交互、同步、资源状态转变;
6、初始化示例代码;
7、高精度Timer实现代码。
第五章:渲染流水线
1、3D视觉,模型;
2、颜色格式,计算;
3、渲染流水线各个阶段介绍。
第六章:在Direct3D中绘制
1、顶点的输入、布局和顶点缓冲;
2、索引和索引缓冲;
3、顶点着色器;
4、像素着色器;
5、常量缓冲;
6、根签名;
7、着色器代码的编译;
8、PSO的创建和使用;
9、创建基本几何体网格。
第七章:在Direct3D中绘制(二)
1、帧资源;
2、RENDER-ITEMS;
3、PASS CONSTANTS;
4、形状几何:创建椭球体,球体,圆柱体,圆锥体;
5、更多类型根参数:描述表、根描述、根常量;
第八章:光照
1、几种光照类型的计算;
2、材质的实现;
3、几种光源实现。
第九章:贴图
1、纹理的介绍、创建和使用;
2、几种滤波器;
3、地址模式;
4、采样器。
第十章:混合
1、混合的介绍、运算和设置;
2、雾的特效实现;
第十一章:模板测试
1、模板测试的介绍、设置和实现;
2、镜面效果的实现;
3、平面阴影的实现;
第十二章:几何着色器
1、几何种色器的介绍;
2、公告牌Demo的实现;
3、纹理数组的介绍和实现;
第十三章:计算着色器
1、GPU的线程和线程组;
2、计算着色器介绍和实现;
3、模糊Demo的实现;
第十四章:曲面细分阶段
1、曲面细分阶段介绍和实现;
2、细分一个平面快Demo实现;
3、立方贝塞尔方块Dem的实现;
第十五章:第一人称摄像机和动态索引
1、第一人称摄像机实现;
2、动态索引介绍和实现;
第十六章:实例化和截头锥体裁切
1、硬件实例化介绍和实现;
2、包围体和截头锥体的实现;
3、DX数学碰撞检测;
第十七章:拾取
1、屏幕透视窗口的变换;
2、各个相交检测的介绍和实现;
第十八章:立方体贴图
1、环境贴图的介绍和实现;
2、模拟反射的实现;
3、动态立方体贴图的实现;
4、使用几何着色器实现动态立方体贴图;
第二十章:阴影贴图
1、阴影贴图的介绍和实现;
2、偏移和反走样的介绍和实现;
第二十一章:环境光遮蔽
1、基于光线追踪的环境光遮蔽介绍;
2、屏幕空间环境光遮蔽的介绍和实现;
3、模糊计算;
第二十二章:四元数
1、复数介绍;
2、四元数的介绍;
3、单位四元数和旋转表示;
4、四元数的插值;
5、DX数学库中的四元数接口;
第二十三章:角色动画
1、骨骼动画的数学公式以及实现;
2、骨骼动画文件介绍以及加载;
Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 全书总结的更多相关文章
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- Direct12优化
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- Direct12优化 第一章:向量代数 1.向量计算的时候,使用XMV ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画 学习目标 熟悉蒙皮动画的术语: 学习网格层级变换 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS) 学习目标 回顾复数,以及 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十一章:环境光遮蔽(AMBIENT OCCLUSION)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十一章:环境光遮蔽(AMBIENT OCCLUSION) 学习目标 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十章:阴影贴图
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十章:阴影贴图 本章介绍一种在游戏和应用中,模拟动态阴影的基本阴影 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十九章:法线贴图
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十九章:法线贴图 学习目标 理解为什么需要法线贴图: 学习法线贴图如 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十八章:立方体贴图
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十八章:立方体贴图 代码工程地址: https://github.c ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十七章:拾取
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十七章:拾取 代码工程地址: https://github.com/ ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十六章:实例化和截头锥体裁切
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十六章:实例化和截头锥体裁切 代码工程地址: https://git ...
随机推荐
- HDU4004 二分答案
第一道二分答案...今天看了大牛的博客,突然发现有个叫“二分枚举答案”的方法好像很牛,于是便搜了些资料..发现并不是很难,可能是我了解的只是冰山一脚罢了...加油ACMer!!!! #include& ...
- vue 编写插件
1. 将插件逻辑封装成一个对象 最后在install编写业务代码暴露给Vue对象 好处: 可以添加任意参数在这个对象上 方便将install函数封装的更加精简 可拓展性也比较高 2. 将所有 ...
- jeecms 修改后台访问路径
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_30553235/article/details/74971414 我使用的是jeecms ...
- node.js 安装步骤
1.打开链接(http://nodejs.cn/download/) 2.下载自己所需的安装包(32位 or 64位.哪个系统) 3.双击直接安装(成功如下图) 4.点击 Node.js comman ...
- 44个 Javascript 变态题解析 (上)
原题来自: javascript-puzzlers(http://javascript-puzzlers.herokuapp.com/) 读者可以先去做一下感受感受. 当初笔者的成绩是 21/44… ...
- Cesium打包命令总结
引言 Cesium实验室QQ群里有人在问Cesium的打包问题.我想干脆总结一下Cesium的打包命令特点,写篇文章,顺带庆祝一下1024程序员节.. Cesium的npm脚本有好多,其中几个和打包相 ...
- 关于开启Eureka安全Security认证后,客户端死活注册不上的问题
遇到一个问题"开启Eureka服务端的安全认证后,客户端死活注册不到Eureka上",已经尝试了以下办法,完全搞不定... 客户端出错的版本: spring-boot:2.0.3. ...
- Linux中单引号与双引号区别
1. 单引号内的所有字符都保持它本身字符的意思,而不会被bash进行解释,echo -e时转义字符(\n,\t等)将被解释,如echo -e 'aa\naa'将是两行aa. 2.除了$.``(不是单引 ...
- MyBatis框架的文件配置
第一步:log4j.properties的配置 原因:Mybatis的日志输出是依赖与log4j的,所以必须要配置 # Global logging configuration log4j.rootL ...
- Servlet开发总结(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口. 用户若想用发一个动态web资源(即开发一个Java程序 ...