这个项目主要是为了 DirectX11 而来,前面做了一个关于 OpenGL 的项目,这次打算使用 DirectX11 来做一个 MMD 的模型浏览器.以前,我使用过 DirectX11 来做过一些项目,但都半途而废了.在做完 Simple2D 后,现在决定使用 DirectX11 来做一个简单的模型浏览器——MMDViewer. 当然,这个项目究竟会怎么样我也不清楚,里面涉及到的很多知识我以前也没有学习过.就像 Simple2D 那样,本来打算花一两周完成的,后来发现它超出了我的知识范围.中间…
准备工作: 开始搭建框架之前,你需要确保已经进行了 D3D 开发环境的搭建,相关教程可以阅读这篇文章.不了解 DirectX11 的人,这个作者有关 DirectX11 的教程最好阅读一下,虽然文章不多,但都很详细,有了基础以后在进行深一步的扩展. 和 OpenGL 一样,在渲染出图形之前,都需要经过很多步骤(窗口配置.图形上下文的创建.顶点数据配置.着色器的配置.变换矩阵配置等等),不是一两行代码就可以了.而 DirectX11 则更为复杂,其中如果发生一点错误,将导致图形渲染失败,但你难以检…
上篇文章给出了一个简单并且可以运行的渲染框架,接下来将介绍框架中的渲染管线构成. 1.创建渲染管线 在你创建完一个窗口后,接着便要创建渲染管线,使用的函数是 D3D11CreateDeviceAndSwapChain, 交换链: 要创建交换链,必须先设置交换链描述.交换链描述定义了将由交换链使用的渲染缓冲区的大小和数量.它还将窗口与交换链相关联,从而确定最终图像的显示位置.交换链描述还定义了该应用的消除锯齿(如果有的话)的质量以及在展示过程中后端缓冲区的翻转方式. UINT create_dev…
项目的创建和配置: 1.新建一个 Win32 空项目 2.创建源码文件夹.库文件夹和资源文件夹 3.在 VS2013(我使用的 IDE 是 vs2013)配置这些文件夹 这里使用了 $(SolutionDir) 宏来指定上面创建的文件夹,因为使用的不是绝对路径,所以将项目拷贝到其他文件夹或电脑也可以正确读取.通过上面的设置,告诉程序去哪找到源码文件和库文件. 创建窗口: 创建窗口有几个固定的步骤,只要按照这些步骤来就好了,下面是创建的代码 HWND Create() { /* 设计窗口类 */…
前言 对于DirectX程序开发者来说,学会使用Visual Studio Graphics Debugger(图形调试器)可以帮助你全面了解渲染管线绑定的资源和运行状态,从而确认问题所在.现在就以我所掌握的图形调试经验来进行展开描述. 下面的教程基于Visual Studio 2017/2019 Community进行.因为最近换了VS2019,并且添加了调试对象具名化的功能,里面的图片来不及做完整更换,但还是能看的. 这一篇需要消耗比较多的流量,没连接WIFI或者网线的慎入. 同时推荐大家了…
前言 由于最近Visual Studio的图形调试器老是抽风,不得不寻找一个替代品了. 对于图形程序开发者来说,学会使用RenderDoc图形调试器可以帮助你全面了解渲染管线绑定的资源和运行状态,从而确认问题所在. RenderDoc官网 DirectX11 With Windows SDK完整目录 欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报. 运行程序 为了调试我们的程序,需要通过RenderDoc来执行程序. 选择File - Launch A…
C++11标准发布已有一段时间了, 维基百科上有对C++11新标准的变化和C++11新特性介绍的文章. 我是一名C++程序员,非常想了解一下C++11. 英文版的维基百科看起来非常费劲,而中文版维基百科不是知道是台湾还是香港人翻译的然后由工具转换成简体中文的,有些术语和语言习惯和大陆程序不一样! 我决定结合这两个版本按照我自己的习惯把这篇文章整理到我的博客中.分享给关注我和关注C++11的朋友们. 当然了, 本人水平有限,英语水平也很一般,就把这个过程当做学习C++11的过程吧.文章中肯定会有很…
目录 Django Cache 缓存组件 缓存逻辑伪代码 配置缓存源 可配置参数说明 01. Django的默认缓存 02. 基于Redis的django-redis 03. 自定义cache 04. Django其它内置的缓存源,直接开箱使用out-of-the-box 使用cache的示例 1. cache在视图中示例 2. 全站缓存 3. 利用模板系统页面部分缓存 4. low-level api操作缓存 总结 Django Cache 缓存组件 在FBV 或 CBV 需要缓存数据,又或者…
故事背景 一个过程: template/html ----> css ----> less ----> bootstrap/flex ----> Semantic-ui flex是css3新增内容, less是css3的预编译器,bootstrap是一系列css3 class合集 Semantic-ui作为一款开发框架,帮助开发者使用对人类友好的HTML语言构建优雅的响应式布局. 响应式布局 based on Semantic-ui as following:   进化史 一.HT…
目录 12.1 本篇概述 12.1.1 移动设备的特点 12.2 UE移动端渲染特性 12.2.1 Feature Level 12.2.2 Deferred Shading 12.2.3 Ground Truth Ambient Occlusion 12.2.4 Dynamic Lighting and Shadow 12.2.5 Pixel Projected Reflection 12.2.6 Mesh Auto-Instancing 12.2.7 Post Processing 12.2…