自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦幻DUO的游戏开发之路

“学者们都是很单纯的,如果他们不单纯的话,戏剧般的灵感就不会造访他们了。” ——东野圭吾

  • 博客(615)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java IDEA辅助键和快捷键

快速生成main方法:psvm,回车快速生成输出语句:sout,回车内容辅助键Ctrl+Alt+space(内容提示,代码补全等)格式化:Ctrl+Alt+L

2020-11-05 19:33:08 282

原创 QT遇到unresolved external symbol "public: virtual struct QMetaObject解决方案

出现这个错误的原因是没有为头文件生产moc文件,在类定义包含Q_OBJECT宏都是必需有这个moc文件的。右击该头文件,属性,General的Item Type选择Custom Build Tool,确定。再重新进入General界面,点击Custom Build Tool,Command Line输入:"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ...

2018-02-10 18:15:15 1607 1

原创 使用IDEA进行Lua代码调试、自动提示、代码跳转、智能重命名

试了几个Lua IDE后,Lua Studio、Lua Glider、VS+babelua插件、Sublime都不是特别满意。直到发现了国人自创的另一个神奇工具:基于IDEA的EmmyLua插件。该插件功能非常完整:断点调试、自动提示、代码跳转、智能重命名等,可以极大地提高Lua编程的速度。界面也比较舒服。安装步骤下载、安装并破解IntelliJ IDEA(我的版本是目前最新的201

2018-02-01 12:21:03 34620 5

原创 DirectX11 使用Cube Mapping 立方体环境贴图实现天空、物体反射效果

这一章中,我们将学习使用立方体环境贴图(Cube Mapping)实现天空环境、模型反射效果。在《赛达尔传说:荒野之息》中,明朗或阴暗的天空都可以通过Cube Mapping来实现: (图为《赛达尔传说:荒野之息》游戏截图)一、使用Cube Map实现天空效果立方体环境贴图是一个数组纹理,用于模拟全包围的环境,类似带有6个面的正方体,因而称为 Cube Map。实际上打开dds文件后,只是一组

2017-08-20 18:29:06 6742 1

原创 DirectX11 使用Instancing技术提高重复模型的绘制效率

在游戏场景中,经常需要我们绘制大量相同的模型,比如英雄联盟中,战场上的小兵可以达到非常多的数量。(图为英雄联盟游戏截图)如果我们用以前的方法绘制,一个模型draw call一次,那么就会造成巨大的性能损耗。因为每次数据从内存传入显存都需要不少时间;而且每次draw call需要CPU和GPU进行周期同步,会导致CPU或GPU在等待;每次传入顶点数据后,都需要走一遍渲染管线,上下文也要进行切换等等。如

2017-08-17 11:37:57 4061

原创 DirectX11 Tessellation曲面细分实现动态增加模型细节

DirectX11新增了一个非常吸引人的新技术,就是曲面细分。曲面细分技术可以通过产生新的顶点模拟出更平滑的曲面。下图是《古墓丽影9中》没有开启曲面的效果,可以看到人物模型轮廓比较僵硬,这是因为原模型的三角形面数较低造成的: 开启了曲面细分后,看到人物模型轮廓已经相当平滑了,使得游戏画面更加真实: 那为什么不直接在原模型中增加模型面数呢? 原因有如下三点:动态LOD(levels of de

2017-08-14 15:40:45 5851 2

原创 DirectX11 使用计算着色器实现高斯模糊

高斯模糊,是一种使画面产生朦胧感的技术。在游戏中也可以可以经常看见使用高斯模糊的技术:(《赛达尔传说:荒野之息》中对游戏背景使用高斯模糊,就将我们的主角们与背景分离出来,形成了前景、背景两个层面)这节我们就来学习下如何使用DirectX11的计算着色器来实现高斯模糊。一、计算着色器(Compute Shader)如下图所示,计算着色器不属于渲染管线的一部分,但是计算着色器可以读写渲染管线。计算着色器

2017-08-13 22:43:34 3152

原创 DirectX11 使用几何着色器实现公告板效果

之前说过,可编程的着色器阶段有三个,依次是顶点着色器、几何着色器、像素着色器。之前说的都是顶点着色器和像素着色器,今天第一次详细介绍几何着色器,几何着色器是一个可选的阶段。一、使用几何着色器的好处 不像顶点着色器那样,输入一个顶点必须输出一个顶点。在几何着色器中,最大的好处是,你可以创建或销毁顶点,实现一些有趣的效果。例如在本例中,输入公告板的中心顶点,可以扩展出四个边框角顶点(两个三角形)。注意

2017-08-12 18:03:15 1969

转载 让你尖叫的游戏开发工具清单

引言由了不起的人为了不起的人而创注意:部分网站可能需要科学上网才能访美术卓绝的游戏美术资源和编辑工具,让朴实无华的游戏变得犹如毕加索的艺术创作。素材/占位符2D卡通风格移动端游戏UI包卡通风格的用户界面素材包。包含多图层的psd格式文件。用于RPG游戏的420像素图标免费商用授权。CG材质/CGTextures材质资源大合集。GameDev市场社区驱动的市场,为独立游戏开发者和天赋卓绝的素材设

2017-02-22 10:07:37 8034

原创 学习、解决问题的奇招——看Demo

这两天遇到一个问题:使用中文输入法的时候DirectX程序总是很卡,然后自己谷歌也找不到简洁快速的方法(谷歌上说是自绘输入法),自己调试也只是找到输入法敲拼音的时候输入法渲染居然会跟DirectX程序渲染挂钩。折腾了一天多都百思不得其解。。。 还好想到了找下其它的DirectX Demo来看,在它们的程序里面竟然输入法很流畅!这是为啥呢?然后根据之前的调试和谷歌的知识,稍加思考,我马上看到了Dem

2017-02-19 17:29:52 957

转载 3D 渲染和游戏引擎技术信息来源

出处:https://www.zhihu.com/question/33996938/answer/57720820#Milo Yip C++、计算机图形学、游戏开发 等 7 个话题的优秀回答者书籍:多数书籍比较系统地介绍一些课题,由浅入深(gems 类例外,可当作业界 journel)。如果初接触一些新技术,尽量找相关专著。我把一些书分类在 計算機圖形: 入門/API類。 会议/论文:有 SI

2017-01-24 11:42:33 1045

转载 AP、路由、中继、桥接、客户端模式之间的区别

AP、路由、中继、桥接、客户端模式之间的区别 在TP-Link迷你无线路由器上一般有AP(接入点)模式、Router(无线路由)模式、Repeater(中继)模式、Bridge(桥接)模式、 Client(客户端)模式;但很多用户都不清楚这几种模式的之间的区别,下面将对这几种模式进行详细的介绍。 注意:有的型号的TP-Link 迷你无线路由器上只有AP(接入点)模式、Router(无线路由)模式

2017-01-22 14:49:37 2104

原创 设计模式中的七大原则和23种设计模式

首先说一个概念“高内聚低耦合”,高内聚即:把功能相同、相近的东西放到同一个类里面,而低耦合即:不同类之间的联系越少越好。 下面的设计模式中的七大原则,也可以叫做面向对象的七大原则,都是以“高内聚低耦合”为目标。(网上有些说是六大原则,但是丢失了其中一个原则,很奇怪,我这里为了全面就全部写上来,所以我叫它七大原则。其实都是很重要的原则,所以不必拘泥于几个原则)好了,现在说说这七个设计模式中的原则:

2017-01-16 21:10:17 1016 1

原创 安装Ldoc:为Lua API接口编写文档

Ldoc是一个类似doxygen的文档生成工具,doxygen功能更强大但是不支持lua语言,所以需要专门的Ldoc工具来编写Lua文档:https://github.com/stevedonovan/LDoc在官方的README.md页面中对安装过程描述很含糊,以至于弄了不少时间(真不知道是自己理解能力有问题还是他们表达能力有问题,无语)。不过,我发现程序员应该知道自己要装的工具用来做什么的。比如

2016-10-02 11:50:57 2089

转载 windows 控制台下运行cl命令

前提:确保已经安装vc6或者vs系列 我们可以再命令行直接编译c++程序 在windows操作系统中,打开命令行,输入cl,若系统提示 ‘cl’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 则说明VS没有安装或者环境变量设置不正确,可以按照如下步骤设置: 1. 确保已经安装VS,并在控制台 中键入set 检查是否有类似如下格式的环境变量VSXXCOMNTOOLS VS

2016-10-02 09:36:17 837

原创 Linux系Make在Windows下的使用心得

这几天用了几个开源第三方库,都是用Make来构建项目的。Makefile这玩意,本来是出自Linux系环境的,然后我一般都是开发Win32程序,所以要在Windows系统使用Linux系的东西确实一开始不太适应。 首先,MinGW环境是少不了的,这个是在windows系统下模拟Linux的开发工具链。但是一开始的误区是,我以为真的像文档说的那样make一下就完事了,事实上Makefile需要我们根

2016-09-26 19:22:01 4974 1

转载 MySQL 图形化管理工具

转载自:http://blog.csdn.net/yuan13826915718/article/details/52329019管理工具1、PHPMyAdmin 2、Navicat for MySQL 3、MySQL WorkbenchPHPMyAdmin1、官网下载地址:https://www.phpmyadmin.net/downloads/2、解压在

2016-09-26 19:01:34 1630

转载 MySQL 存储引擎

转载自:http://blog.csdn.net/yuan13826915718/article/details/52328207存储引擎1、MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。2、每种存数引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。3、因为在关系型数据库中,数据的存储是以表的形式来实现,所以存储引

2016-09-26 18:59:37 393

转载 MySQL 存储过程

转载自:http://blog.csdn.net/yuan13826915718/article/details/52326843MySQL命令执行流程当成功输入SQL命令以后,MySQL引擎会首先对输入的命令进行语法分析,语法正确的话将编译成MySQL引擎可以识别的命令,最后开始执行,并且把执行结果返回给客户端。存储过程存储过程是SQL语句和控制语句的预编译集合,以一

2016-09-26 18:57:08 377

转载 MySQL 自定义函数

转载自:http://blog.csdn.net/yuan13826915718/article/details/52315569内置函数按功能划分,有:字符函数数值函数日期时间函数加密函数自定义函数用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同。自定义函数的两个必要条件: (1

2016-09-26 18:55:16 946

转载 MySQL 运算符和函数

转载自:http://blog.csdn.net/yuan13826915718/article/details/52314804运算符1.算数运算符 加(+):mysql> SELECT 1+1;减(-):mysql> SELECT 3-2; 乘(*):mysql> SELECT 2*3; 除(/):mysql> SELECT 5/3; 商(DIV):mysql> SEL

2016-09-26 18:52:19 366

转载 MySQL 连接

转载自:http://blog.csdn.net/yuan13826915718/article/details/52293148连接MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作。语法结构:table_reference{[INNER|CROSS] JOIN | {LEFT|RIGHT}[OUTER] JOIN}table_refere

2016-09-26 18:50:58 265

转载 MySQL 子查询

转载自:http://blog.csdn.net/yuan13826915718/article/details/52290852子查询子查询是指在另一个查询语句中的SELECT子句。 例句:SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2); 其中,SELECT * FROM t1,称为Outer Query或O

2016-09-26 18:37:22 371

转载 MySQL 数据库记录操作

转载自:http://blog.csdn.net/yuan13826915718/article/details/52268486插入记录方式一(标准INSERT):INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...;方式二(INSERT

2016-09-26 18:36:11 365

转载 MySQL 修改数据表

转载自:http://blog.csdn.net/yuan13826915718/article/details/52261471添加单列ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name];示例: 另外,如果不写FIRST或AFTER col_nam

2016-09-26 18:34:40 333

转载 MySQL 约束

转载自:http://blog.csdn.net/yuan13826915718/article/details/52243998约束1.约束保证数据的完整性和一致性。 2.约束分为表级约束和列级约束。 3.约束类型包括:NOT NULL(非空约束)PRIMARY KEY(主键约束)UNIQUE KEY(唯一约束)DEFAULT(默认约束)FOREIGN KEY(外

2016-09-26 18:33:22 319

转载 MySQL 操作数据表

数据表数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。 数据表实际上是一个二维的表格,有行和列之分,行为记录,列为字段。打开数据库USE 数据库名称;示例: 创建数据表CREATE TABLE [IF NOT EXISTS] table_name( column_name data_type, ....);示例: 查看数

2016-09-26 18:31:41 426

转载 MySQL 数据类型

数据类型数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。整型浮点型FLOAT占用4字节,DOUBLE占用8字节。从理论值上来讲,FLOAT(7,2)表示所存储的范围最高就到99999.99。日期时间型YEAR:1901~2155,1字节TIME:‘-838:59:59’~’838:59:59’,3字节DAT

2016-09-26 18:28:31 374

转载 MySQL Windows下载、安装与配置

下载MySQL Windows,官网链接:http://dev.mysql.com/downloads/file/?id=464748安装与配置MySQL Windows,详细步骤可参考:http://jingyan.baidu.com/article/7e440953d6f0702fc1e2ef61.html转载自:http://blog.csdn.net/yuan138269157

2016-09-26 18:26:15 297

转载 使用MySQL

MySQL登录cmd窗口中输入:MySQL+空格+参数 登录: mysql -uroot -p MySQL默认的端口号:3306 MySQL中的超级用户:root参数和描述:-D,–database=name,打开指定数据库-h,–host=name,服务器名称-p,–password[=name],密码-P,–port=#,端口号-u,–user=name,用户名

2016-09-23 13:14:25 329

转载 进程间通信(Interprocess Communications)

https://msdn.microsoft.com/en-us/library/aa365574(v=vs.85).aspx

2016-09-17 08:16:46 373

原创 用80/20法则迅速拓展程序员学习的广度

首先吧,我觉得人不能只学自己专业之内的知识,否则容易变得思维僵化,总是逃离不出原有的思考模式。80/20法则本来是经济学原理,但是之前经过了大量的知识学习后,我突然领悟到(很多时候灵感就这样突然来了,挡也挡不住),80/20法则对于我们程序员来说是很有利的学习方法。 我刚开始学习编程的不久,经常听到“有经验的”人说,程序员应该只精通一样东西,不要什么都学。然而,这种说法被我验证是站不住脚的,就对我

2016-09-15 21:54:04 620

原创 CMake在Windows下怎么学习使用

github上还有许多外国官方提供的第三方库的源代码中,通常使用CMake来构建项目。这个CMake是什么呢,以前我也雾里看花,今天总算是摸出一点门路了。 我在《经常利用文档与搜索引擎其实未必是好事》里说过,我以前总喜欢认为官方提供的说法是最全面的、最完整的,所以我也不喜欢使用某些人研究或我自己研究出来一些小窍门来解决问题,总是认为官方的才是全面、完整的。事实上当我摆脱了这种想法后,反而会让自己遇

2016-09-15 21:13:25 1379

原创 UML 九种图

用例图用例是相对独立完整的,一个用例一般不需要其他用例来完成和它进行交互。但是有时候为了体现功能之间的联系,用例之间也会存在两种关系(扩展:extend,包含:include)用例的执行结果对于参与者来说是可见的,有意义的。一个用例必须是由一个参与者发起,不存在没有角色的用例。用例也不该自动启动。用例一定是动宾短语。一个用例是一个需求单元,分析单元,设计单元,开发单元,测试单元。类图体

2016-08-26 21:27:33 2061

原创 UML 四种关系

依赖(Dependency)表示一个类使用另一个类,是四种关系中最弱的一种关系。依赖关系是单向的。例如动物依赖水,汽车依赖汽油等 具体代码有三种形式(被依赖的类作为局部变量) water是公共的类,animal可以调用其静态方法water是animal中的方法中的变量water是animal函数的参数或者返回值关联(Association)表示一个类拥有另一个类,关系相对依赖来说大大

2016-08-25 13:11:36 888

原创 让git忽略已经跟踪的文件

新添加到.gitignore的后缀是不会改变之前已经跟踪中的文件的,所以我们需要处理一下,来重新忽略已经跟踪的文件第一步:git rm -r --cached . //从git的缓冲区索引中递归删除所有文件git add . //针对现有的.gitignore来添加所有文件第二步:git commit -am "忽略已跟踪文件" //提交所有更改的文件

2016-08-25 10:38:49 361

原创 游戏的初衷

小时候我第一个玩的网游是梦幻西游,当初听着打击着一只海龟的声音清脆让当时的我无比激动,甚至只是游戏开场界面的的五师徒行走的动画也让我感觉很有味道。我甚至为了能玩这个游戏,不惜想尽很多办法弄来点卡购买游戏里的时间。如今十年过去了,从十几年前小时候的画面普通甚至粗糙的简单游戏,过渡到如今画面炫美的大型游戏,我却感觉游戏越来越单调,越来越体验不到新鲜感。就像CS一出,无数个CF、CSOL、生死狙击等同质化

2016-08-17 13:49:18 1700 1

原创 Win32应用程序创建控制台

通过AllocConsole()可以为Win32应用程序分配一个控制台。 接着我们可以重定向标准输入输出到控制台,也就是cin和cout等。AllocConsole();freopen("CONIN$", "r", stdin);freopen("CONOUT$", "w", stdout);freopen("CONOUT$", "w", stderr);

2016-08-15 14:44:04 451

原创 把WinMain封装在lib里

WinMain默认不导出,需要在Linker的Command Line加上:/EXPORT:WinMain

2016-08-15 14:18:36 406

原创 浅谈对Lua的看法

本着Lua简单易用的想法来学Lua,没想到这Lua是一点都不简单啊! 众人流传的Lua脚本简单,也只是停留在使用Lua脚本的层面上而已。事实上设计Lua脚本却并非易事,Lua语言设计的原则是小巧,所以甚至很多东西都没有语言层次上的实现,例如数组、类、迭代器这些在大多数语言中很常见的东西,在Lua中都需要通过表和函数的灵活变化组成。当然也提供了很多其它有趣的特性,例如闭包、协程、First-Clas

2016-08-12 10:06:54 3397

win7 64位汇编开发环境合集

集成了所有win7 64位下的汇编开发环境的程序,包括了DOSBOX、edit、masm、link、debug。使用说明可以见本人博文:《win7 64 汇编开发环境搭建》: http://blog.csdn.net/sinat_24229853/article/details/50133741

2015-12-01

DirectX11程序初始化

DirectX11程序初始化,出自龙书,本人博客有DirectX11学习笔记:http://blog.csdn.net/sinat_24229853

2015-09-28

泡泡堂 DirectX11 Demo

本程序是模仿泡泡堂游戏功能的Demo,使用DirectX11图形库和C++语言,在VS2010环境下编译。4500行左右。更多内容见本人博客:http://blog.csdn.net/sinat_24229853

2015-09-06

C++实现状态驱动智能体设计——消息功能

设计精度的游戏趋向于事件驱动。即当一个事件发生了(武器发射了子弹等),事件被广播给游戏中的相关的对象。这样它们可以恰当地做出反应。而这个消息可以是立即执行,也可以设定多久后才执行。更多详情参见本人博客:http://blog.csdn.net/sinat_24229853

2015-08-17

有限状态机(FSM)

游戏人工智能,状态驱动智能体设计——有限状态机(FSM),编译环境:VS2010。本人博客:http://blog.csdn.net/sinat_24229853

2015-08-17

C++控制台网络聊天室源代码

用C++和socket编程、多线程技术组成的控制台网络聊天室,1000行之内。之所以在控制台运行而不是用MFC等图形库是为了方便从底层理解socket编程和多线程,只有从深入理解技术原理后才能在实际应用如鱼得水。本人大一学生,我的CSDN博客是http://blog.csdn.net/sinat_24229853

2015-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除