摘要: 上次说到了延迟渲染(Deferred Shading),这次来说说它的优化版延迟光照(Deferred Lighting)。 延迟渲染的一个问题是g-buffer实在是太庞大了,要用到MRT,需要同时向几张图渲染,优化是个大麻烦。因此就有人发明了延迟光照(Deferred Lighting)。其流程 阅读全文
posted @ 2017-05-10 21:09 桃源武陵人 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 首先介绍一下最基本的渲染模型:前向渲染(Forward Rendering)。渲染有两个最基本的要素:物体和灯光。前向渲染是指依次将每个灯光应用到每个物体上。流程如下: 从中我们可以看出,这种算法的时间复杂度是O(M∗N)。如果物体和灯光都比较多,性能确实有影响。为了解决这个问题,有人发明了延迟渲染 阅读全文
posted @ 2017-05-01 11:58 桃源武陵人 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 游戏中常用的光主要有四种:环境光(ambient)、漫反射光(diffuse)、镜面反射光(高光,specular)和自发光(emissive)。 基本公式: final=ambient+diffuse+specular+emissive 1.环境光 环境光是看起来在明亮环境中无所不在的光。比如说, 阅读全文
posted @ 2017-04-30 12:46 桃源武陵人 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 最近在实现一个Delegate类的时候碰到了一个问题,就是copy and swap技巧和移动赋值操作符有冲突。 比如有以下一个类: 这个类实现了copy and swap技巧,在赋值的时候表现的很好。但是如果再加入移动赋值操作符,编译器就不认了: 当你调用赋值操作符时,编译器会提示有两个赋值操作符 阅读全文
posted @ 2016-04-04 22:06 桃源武陵人 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 数据库的表名和字段名应该由英文字母(区分大小写)和自然数字,加上下划线’_’组成。千万不要加空格或’.’或其他别的字符。否则可能会造成莫名其妙的表或字段找不到的错误。 qt的QSqlTableModel根本不认带空格的表名。所以千万不要带除字母数字下划线外的任何字符。 阅读全文
posted @ 2015-11-23 13:19 桃源武陵人 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 关于qt中的拖放操作,首先可以看这篇官方文档:http://doc.qt.io/qt-5.5/dnd.html 一、QDrag 首先是创建QDrag,可以在mousePressEvent或者mouseMoveEvent中创建。 或者 QDrag在exec前,一定要设置QMimeData,否则会弹出警 阅读全文
posted @ 2015-10-24 13:19 桃源武陵人 阅读(1243) 评论(0) 推荐(0) 编辑
摘要: 工欲善其事,必先利其器。想要干好活,顺手的工具是必不可少的。来分享下我的C++开发工具链。 平台:Windows 编译器:MSVC IDE:Visual Studio 版本控制:TortoiseGit 静态检查:VisualStudio_Scan 内存泄露检测:Visual Leak Detecto 阅读全文
posted @ 2015-08-13 09:38 桃源武陵人 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 更新日志: 1.2 增加DOTABUFF作为数据源,可以与DOTAMAX切换 1.1 增加关于对话框 增加版本信息 修复列表框头的错误 受到 http://tieba.baidu.com/p/3831760789 这个帖子的启发,开发了这款软件。 目前的功能有查看一个英雄的推荐核心装。原理就是对游戏 阅读全文
posted @ 2015-07-26 11:24 桃源武陵人 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 原来的DirectX SDK到June 2010,微软就不更新了。之后新的版本被集成到了Windows SDK中。 在微软的博客里找到一篇升级指南:http://blogs.msdn.com/b/chuckw/archive/2013/07/01/where-is-the-directx-sdk-2 阅读全文
posted @ 2015-06-12 15:49 桃源武陵人 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 声明式编程(英语:Declarative programming)是一种编程范型,与命令式编程相对立。它描述目目标性质,让计算机明白目标,而非流程。声明式编程不用告诉电脑问题领域,从而避免随之而来的副作用。而指令式编程则需要用算法来明确的指出每一步该怎么做。 简单的说,声明式侧重于做什么,命令式侧重 阅读全文
posted @ 2014-12-18 22:08 桃源武陵人 阅读(267) 评论(0) 推荐(0) 编辑