摘要: 这个项目主要是为了 DirectX11 而来,前面做了一个关于 OpenGL 的项目,这次打算使用 DirectX11 来做一个 MMD 的模型浏览器。以前,我使用过 DirectX11 来做过一些项目,但都半途而废了。在做完 Simple2D 后,现在决定使用 DirectX11 来做一个简单的模 阅读全文
posted @ 2018-02-12 15:25 为了邮箱5 阅读(1095) 评论(2) 推荐(1) 编辑
摘要: 上篇文章给出了一个简单并且可以运行的渲染框架,接下来将介绍框架中的渲染管线构成。 1、创建渲染管线 在你创建完一个窗口后,接着便要创建渲染管线,使用的函数是 D3D11CreateDeviceAndSwapChain, 交换链: 要创建交换链,必须先设置交换链描述。交换链描述定义了将由交换链使用的渲 阅读全文
posted @ 2018-02-14 18:40 为了邮箱5 阅读(1957) 评论(3) 推荐(2) 编辑
摘要: 准备工作: 开始搭建框架之前,你需要确保已经进行了 D3D 开发环境的搭建,相关教程可以阅读这篇文章。不了解 DirectX11 的人,这个作者有关 DirectX11 的教程最好阅读一下,虽然文章不多,但都很详细,有了基础以后在进行深一步的扩展。 和 OpenGL 一样,在渲染出图形之前,都需要经 阅读全文
posted @ 2018-02-14 14:28 为了邮箱5 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 项目的创建和配置: 1、新建一个 Win32 空项目 2、创建源码文件夹、库文件夹和资源文件夹 3、在 VS2013(我使用的 IDE 是 vs2013)配置这些文件夹 这里使用了 $(SolutionDir) 宏来指定上面创建的文件夹,因为使用的不是绝对路径,所以将项目拷贝到其他文件夹或电脑也可以 阅读全文
posted @ 2018-02-12 17:03 为了邮箱5 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 开始的时候打算将 Simple2D 做成一个库的,但现在没有那个功夫了。 要渲染顶点数据,就必须将渲染函数放置到 glClear( ) 函数和 SwapBuffers( ) 函数之间,但又不希望开发时涉及 Simple2D 的内部。使用回调函数进行刷新回调和渲染回调,需要时添加相应的回调函数即可。 阅读全文
posted @ 2017-09-03 13:32 为了邮箱5 阅读(910) 评论(2) 推荐(2) 编辑
摘要: 精灵动画作用在精灵上,使精灵表现出动画效果。本文将详细说明如何创建一个简单的动作系统,暂时只有 4 中基本的动作——平移、旋转、缩放和 Alpha 变化,并且这些动作能够自由组合,组成串行动作或并行动作。下图是动作系统的类图: 动作就是进行插值的过程,需要在每一帧被调用。FrameCall 顾名思义 阅读全文
posted @ 2017-09-03 10:01 为了邮箱5 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 如果要开发游戏,单单使用 Painter 绘制图片会变得十分复杂。如果使用 Sprite 对象进行显示,可以简单地实现图片的位移、旋转和缩放,结合 Action 对象可以实现复杂的动画效果。最重要的是,Sprite 对象间可以存在父子关系,子 Sprite 的仿变换回受到父 Sprite 的影响。 阅读全文
posted @ 2017-09-02 18:26 为了邮箱5 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 以前 Simple2D 使用 Canvas2D 对象来绘制几何图形,而且渲染出来的几何图形存在明显的锯齿。如果想要抗锯齿的几何图形,则需要开启 OpenGL 的 MSAA,这需要很大的开销。 如果不使用 MSAA,如何实现反走样的几何图形呢?如果在网上查一查的话,很多的文章都在讲反走样直线的实现,很 阅读全文
posted @ 2017-09-01 23:24 为了邮箱5 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 以前 Simple2D 使用 TextureManager,现在将它改为 TexturePool (纹理池)。主要是负责加载和管理纹理,这次为 TexturePool 添加纹理集的功能,纹理集就是将大量的图片拼合成一张纹理。 纹理集的制作 你可以使用软件 TexturePacher 来创建纹理集: 阅读全文
posted @ 2017-09-01 18:40 为了邮箱5 阅读(788) 评论(0) 推荐(0) 编辑
摘要: 以前 Simple2D 的渲染方法是先设置 Pass,然后添加顶点数据,相同 Pass 的顶点数据会合并在一起。当设置新的 Pass 时,将旧的 Pass 和对应的顶点数据添加到渲染数组中。最后在帧结束时遍历渲染数组,根据 Pass 设置 OpenGL 状态,绘制对应的顶点数据。 这次改为更加简单的 阅读全文
posted @ 2017-09-01 16:14 为了邮箱5 阅读(712) 评论(0) 推荐(0) 编辑