<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BonChoix的专栏]]></title><description><![CDATA[“真正弄懂一件事情的标准，是用自己的话让别人听懂。”]]></description><link>https://blog.youkuaiyun.com/BonChoix</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BonChoix]]></copyright><item><title><![CDATA[【D3D11游戏编程】学习笔记二十五：法线映射（Normal Mapping）]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8661882</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8661882</guid><author>BonChoix</author><pubDate>Tue, 12 Mar 2013 08:13:55 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
 
 
       1. 为什么使用法线映射？
        在开始正式讨论法线映射之前，先来看下以下两张图片：
        
       这两张依然是之前一篇文章中用到的仙剑五前传中两张截图，两图中显示的为同一地点]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记二十四：切线空间（Tangent Space）]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8619624</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8619624</guid><author>BonChoix</author><pubDate>Thu, 28 Feb 2013 00:29:33 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
 
          切换空间，同局部空间、世界空间等一样，是3D图形学中众多的坐标系之一。切换空间最重要的用途之一，即法线映射（Normal Mapping）。关于法线映射的细节，将在下一篇文章中详细介绍。但在学习法线映射之前，深]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记二十三：Cube Mapping进阶之动态环境图]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8606355</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8606355</guid><author>BonChoix</author><pubDate>Sun, 24 Feb 2013 07:53:45 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
   
       在前面两篇介绍Cube Mapping的文章中，我们所使用到的Cube Map都是事先制作好的，这样的一个好处就是运行时效率很高，适合于大多数情形。但如果对于即时动态变化的场景来说，依靠静态图来实现反射效果就不再]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记二十二：Cube Mapping应用之二：反射的实现]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8582123</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8582123</guid><author>BonChoix</author><pubDate>Sat, 16 Feb 2013 07:59:47 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
   
       Cube Mapping应用非常广泛，除了上节中介绍的用来实现天空盒之外，另一个很常见的用途就是实现不规则物体表面的反射效果。
       在前面的一篇文章中介绍过平面镜反射的基本原理及d3d11的实现。对于]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记二十一：Cube Mapping及其应用之一：天空盒的实现]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8579739</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8579739</guid><author>BonChoix</author><pubDate>Wed, 13 Feb 2013 08:17:28 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
 
       这一节讨论有关纹理映射的进阶内容：Cube Mapping。
       1. 简介
       单从名字上，就大概可以看出点端倪了，翻译成中文为立方体映射，因此肯定跟立方体有关系。确实，Cube Mappi]]></description><category></category></item><item><title><![CDATA[【仙剑五前传】中的一点场景渲染问题]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8570530</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8570530</guid><author>BonChoix</author><pubDate>Tue, 05 Feb 2013 06:33:51 +0800</pubDate><description><![CDATA[（注：本文由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
        
       两周时间没来优快云更新博客，业余时间主要花在新上市的《仙剑奇侠传五-前传》上了~   不可否认，仙剑系列作为国产单机游戏的第一品牌，当之无愧。尽管当年的仙剑五让很多人大为失望，不过相信通过这次的五前，相信大部分玩家会以新的眼光来看]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记二十：第一人称摄像机的实现]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8521411</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8521411</guid><author>BonChoix</author><pubDate>Sun, 20 Jan 2013 05:50:32 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

      在这篇文章中，我们来实现一个简单的第一个称摄像机。在之前所有的程序中，为了方便从各个角度观察场景，我们可以通过鼠标来旋转视角和镜头远近。尽管相对单一地从固定的角度观察方便多了，但观察点依然仅仅限制在一个球面上，观察目标点]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十九：平面阴影的渲染]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8507823</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8507823</guid><author>BonChoix</author><pubDate>Wed, 16 Jan 2013 06:58:43 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
 
       在这一篇文章中，我们讨论的话题依然是模板缓冲区，这次通过另一个十分常见的例子：阴影，继续来感受一下模板缓冲区灵活的用法。
       阴影的渲染是个很高级的话题，当然，我们这次仅仅讨论平面阴影，即光源照射物体在平]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十八：模板缓冲区的使用、镜子的实现]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8499179</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8499179</guid><author>BonChoix</author><pubDate>Mon, 14 Jan 2013 02:40:34 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
 
      模板缓冲区（Stencil Buffer）是一个与后缓冲区（Back Buffer）尺寸一样的离屏缓冲区（Off-Screen Buffer），主要用于实现一些特效。模板缓冲区中的每一个像素Pi,j，与后缓冲区中的像素]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十七：雾效的实现]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8487999</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8487999</guid><author>BonChoix</author><pubDate>Thu, 10 Jan 2013 04:19:59 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

       雾效是3D渲染中用来模拟现实中大气现象的一种常见手段。最直接的用途就是实现带雾天气的场景。此外，雾效还有其他很多重要的作用：
       1. 用来防止场景中远处物体的突然消失/出现（popping）。这种现象的主]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十六：Alpha通道(Alpha Channel)]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8458295</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8458295</guid><author>BonChoix</author><pubDate>Wed, 02 Jan 2013 07:23:27 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
 
 
        在使用纹理时，我们有时需要指定该纹理图哪些部分是我们想要的，哪些部分我们不需要，即透明的。这时候，我们需要为纹理的每个texel指定alpha值，令我们不需要的那些部分的alpha为0，其他部分为1。纹理中对]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十五：混合（Blending）]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8453943</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8453943</guid><author>BonChoix</author><pubDate>Mon, 31 Dec 2012 06:28:52 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
         
       在D3D11中，“混合”发生在像素着色器阶段的下一阶段，即Output Merger Stage。整个场景在全部经历过像素着色器阶段后，对应于屏幕上每一点像素，可能有多个片段（Fragment）。如下]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十四：纹理基础]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8449513</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8449513</guid><author>BonChoix</author><pubDate>Sat, 29 Dec 2012 03:17:45 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

       光照和材质的加入使得场景的真实感大大增加，但仅仅这些依然不足以表现出真实世界中物体表面的各种细节。毕竟，材质所能够提供的细节等级仅仅停留在顶点级别上。纹理的引入，使得在像素级别上提供细节成为可能，因而可以进一步大大提高]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十三：内存对齐的一点思考]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8445218</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8445218</guid><author>BonChoix</author><pubDate>Thu, 27 Dec 2012 23:02:09 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

       不知你是否还有印象，在上一篇中提到三种光源的结构体时，无论是C++中的定义还是HLSL中的定义，都存在着名为"unused"的成员（平行光和点光源）。如下为C++程序中对平行光的定义：
	//平行光
	struct]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十二：光照模型]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8430561</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8430561</guid><author>BonChoix</author><pubDate>Tue, 25 Dec 2012 06:05:48 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

        从这一篇开始，我们逐渐进入D3D11中有意思的部分。之前的场景绘制，要么为每个顶点指定单一的颜色，要么在线框模式下渲染。从现在起我们开始学习光照，这样场景就更加具有真实感了。
       1. 法线的引入]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十一：基本几何体绘制]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8394916</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8394916</guid><author>BonChoix</author><pubDate>Sun, 23 Dec 2012 22:40:21 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

       这次我们来学习几种常见的基本几何体的绘制方法，包含网格、球、圆柱等。很多复杂的几何图形都是由众多这些基本几何体组成的。而且，在水面渲染、地形渲染当中，都要使用到网格，因此掌握网格的基本生成方法很有必要。此外，有了这么多]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记十：程序框架]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8374124</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8374124</guid><author>BonChoix</author><pubDate>Sat, 22 Dec 2012 23:21:54 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

       从上次绘制一个简单立方体的例子中，我们可以发现，即使是一个十分简单的程序，其代码长度也是相当的长。但实际上，大多数代码只是用于了Win32、D3D11的初始化，剩下的才是我们真正关心的绘制代码。一方面，这些代码妨碍我们]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记九：编译Effect的方法]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8310098</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8310098</guid><author>BonChoix</author><pubDate>Tue, 18 Dec 2012 02:46:05 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

      在D3D11应用程序中，对于写好的Effect程序进行编译有如下几种常见方法：
       1. 在运行期编译
       用这种方法，我们只管写好Effect代码即可，不用关心其编译问题，而是在C++程序中，通]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记八：绘图基础-旋转的彩色立方体]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8300939</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8300939</guid><author>BonChoix</author><pubDate>Sun, 16 Dec 2012 09:34:38 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）

       历代的D3D教程中，介绍基本绘图时都会拿立方体作为例子，这次也不例外~ 立方体虽然简单，但正所谓麻雀虽小，五脏俱全。绘制立方体的过程其实已经包含了所有D3D渲染程序中最基本的、必不可少的步骤。因此，从绘制立方体开始学习]]></description><category></category></item><item><title><![CDATA[【D3D11游戏编程】学习笔记七：3D渲染管线]]></title><link>https://blog.youkuaiyun.com/BonChoix/article/details/8298116</link><guid>https://blog.youkuaiyun.com/BonChoix/article/details/8298116</guid><author>BonChoix</author><pubDate>Sat, 15 Dec 2012 07:32:58 +0800</pubDate><description><![CDATA[（注：【D3D11游戏编程】学习笔记系列由优快云作者BonChoix所写，转载请注明出处：http://blog.youkuaiyun.com/BonChoix，谢谢~）
 
       3D图形学研究的基本内容，即给定场景的描述，包括各个物体的材质、纹理、坐标等，照相机的位置及朝向，光源等信息，计算其最终在二维的光栅化显示器上对应的显示结果。从最初的场景描述到最终的显示结果，这整个过程就是在3D渲染]]></description><category></category></item></channel></rss>