自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(293)
  • 资源 (102)
  • 收藏
  • 关注

原创 Qt Creator增强套装16.9.27.12更新

HI,大家好,这里是jiangcaiyang。我们很高兴地告诉大家,我们将要发布Qt Creator增强套装新的版本了!这一次呢,主要是应大家强烈的要求,更新了我们的聊天神器——萌梦聊天室,现在它不再频繁地崩溃以及暂时性地无法回消息了。这个聊天室呢,以后将会成为一个基础,大家有什么困难问题的呢,可以及时向聊天室进行反馈,我们会耐心地回答大家的问题,希望能够给大家的开发带来便利。

2016-09-27 20:40:22 3310 3

原创 萌梦聊天室16.9.23.77更新

App名称:萌梦聊天室 App格式:apk(安卓适用,测试机型Android 4.4 红米2)、exe(Windows 10) App大小:18.2MB(Android)、27.7MB(Windows 10)

2016-09-23 21:03:17 2611 1

原创 使用QQuickWidget和QQmlApplicationEngine的不同之处

昨天为了将我们以前制作的产品从QQmlApplicationEngine - based移植到Qt Widgets应用当中,我做了一些修改。其中一个重要的部分就是将以前QQmlApplicationEngine的代码移植到QQuickWidget中。但是我发现其中有不一样的地方,导致我原先的产品并不能工作。

2016-08-14 10:33:43 7809 3

原创 Qt Creator插件制作小插曲:有关QT_NO_CAST_FROM_ASCII的注意事项

这两天制作了两个Qt Creator增强套装的两个插件,其实也是非常简单的,但是其实花了我超过四天的时间,为什么呢?因为我之前很长一段时间都是在Linux下开发的,一切安好,没有任何问题,但是到了Windows下,各种问题就暴露出来了。

2016-08-10 00:08:57 2648 1

原创 socket.io打开其客户端debug的方法

由于我们开发调试需要对比我们的应用和socket.io的区别,因此我们需要调试js版本的socket.io,以便判断我们写的版本和他们原版的区别。这里看了socket.io的官方文档,了解了如何打开socket.io的debug的方法。最简单的方法是 localStorage.debug = ‘*’; 这样会把所有的socket.io的debug函数的内容都输出到控制台。还有一种显示比较

2016-06-21 23:39:54 5151

原创 MikuMikuDance中对于Local和Global旋转方式的特殊处理

我们的萌梦动作编辑器对标的是国外的MikuMikuDance(以下简称MMD)。这里我们在制作骨骼动画功能的时候,发现MikuMikuDance中对于不同骨骼中Local以及Global旋转方式的处理方式不尽相同。

2016-05-17 22:57:01 3936

原创 基于NodeBB的网站服务器迁移步骤

网站服务器迁移步骤:一、首先你拿到的是一个新的服务器,这里以我的阿里云服务器为例。二、安装MongoDB2.1 导入包管理的秘钥:sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv EA3129272.2 为MongoDB创建列表文件(对于Ubuntu 14.04来说)echo “deb http://repo.mongod

2016-04-10 09:36:09 4445

原创 Qt在线技术交流之OpenGL、Quick以及所经历项目开发心得分享

时间:3月25日晚上7:30 主题:Qt在线技术交流之OpenGL、Quick以及所经历项目开发心得分享 直播:http://qtdream.com 主页、全民TV,可能会加上其它的直播平台进行转播 录播:http://qtdream.com/category/16 处,使用B站或者优酷资源上传 参与对象:对Qt跨平台开发框架感兴趣的朋友们。当然了,如果你是大牛,也可以旁听一下,在这儿我们相

2016-03-23 23:50:32 4203 1

原创 Qt在线讲座之QML脚本书写规范

时间:2016年3月1日晚7:30 在线讲座:http://qtdream.com主页处即可收看直播(详见主页提示) 参与对象:对Qt跨平台开发框架感兴趣的朋友们。当然了,如果你是大牛,也可以旁听一下,在这儿我们相互学习,相互促进!

2016-02-29 23:27:21 4330 4

原创 glTF格式初步了解

最近看到Qt 3D的进展,偶然了解到了一种新的格式:glTF格式。这种格式据说比现有的3D格式更加符合OpenGL应用的需要,这引起了我的好奇,于是我在Qt 3D的外部链接中找到了有关glTF的相关链接。

2016-01-11 09:35:28 26583 3

原创 Qt Installer Framework的学习(三)

Qt Installer Framework的例子中,一般是这样的:config文件夹一般放了一个config.xml文件,包含的是安装配置xml的内容,packages包含的是需要安装的包的内容,一般情况不止一个安装包,每个安装包也不止是一个文件,那么每一个包都有文件夹,里面的文件夹中有data以及meta子文件夹。data文件夹中是安装包的内容,meta文件夹中是package.xml文件。这个文件包含的是安装包的安装配置内容。还有一些项目包含的是package_update文件夹,这个文件夹和pack

2016-01-06 22:31:37 3904

原创 Qt Installer Framework的学习(二)

Qt Installer Framework的一些操作可以使用最常见的Qt项目来表示,也就是说,书写pro文件,使用qmake运行之,除了能够编译正常的项目之外,也可以为项目打包。这里最重要的就是binarycreator了。下面就是我命令行使用binarycreator的时候弹出的一些提示,我们可以根据这样的提示,来了解究竟有哪些使用的方法。

2016-01-05 20:35:31 5043 3

原创 Qt Installer Framework的学习

Qt Installer Framework是Qt默认包的发布框架。它很方便,使用静态编译Qt制作而成。并且使用了压缩率很高的7z对组件进行压缩。之所以有这些好处,我才觉得值得花一点儿精力研究一下这个框架。从Qt的下载地址中下载Qt Installer Framework,地址是:http://download.qt.io/。下载好了之后点击安装,会将程序以及一些实例安装进来。Qt Installer Framework简称IFW,我们可以看到有很多例子都含有IFW的字眼。

2016-01-04 22:31:15 5758

原创 发布Qt Quick桌面应用程序的方法

Qt是一款优秀的跨平台开发框架,它可以在桌面、移动平台以及嵌入式平台上运行。目前Qt 5介绍程序发布的文章帖子比较少。大家又非常想要知道如何发布Qt应用程序,于是我花了一点儿时间介绍一下如何发布Qt桌面应用程序。

2016-01-02 23:31:36 8781 7

原创 发布Qt Widgets桌面应用程序的方法

Qt是一款优秀的跨平台开发框架,它可以在桌面、移动平台以及嵌入式平台上运行。目前Qt 5介绍程序发布的文章帖子比较少。大家又非常想要知道如何发布Qt应用程序,于是我花了一点儿时间介绍一下如何发布Qt桌面应用程序。

2015-12-31 11:33:58 4822 3

原创 Qt开发程序在Windows 10应用需要管理员运行的解决思路

过了很长的时间没有发布博客了,但是我依然努力地开发Qt程序。目前呢,我发现开发Qt程序在Windows 10上有一个怪现象——有些程序右下角加上了盾牌的标志。那这个为什么呢?

2015-12-31 10:34:07 3120 1

原创 使用Qt Quick实现顶部横幅(Banner)效果

趁着上一篇文章写完,还有写博客的冲动,我将最近制作一个小玩意儿分享一下。这个小玩意儿其实是模仿Windows Phone 8的Banner效果。我命名为TopBanner。大家先看一下Windows Phone 8的效果吧。

2015-11-02 16:13:47 3648

原创 解决Android下QtQuick.LocalStorage和腾讯开放平台组件冲突问题

已经有将近一个月没有写博客了,其实这段时间还是非常努力地进行开发的活动。最近也是在开发的过程中遇到了好一些问题,这些问题可以为自己或者是同行们提供一些启示或者是指导,所以我有必要记录下来,供大家参考。现象:我在Android上使用Qt Quick的Local Storage模块,但是发现我不管如何正确地使用SQL语句插入项目,下次读取的时候,总是显示数据库的相关表不存在。

2015-11-02 15:22:30 2512 1

原创 npm发布注意事项

我在折腾学习NodeBB插件开发的过程中,遇到了Node包上传的问题。因为NodeBB的插件要使用,必须以nodebb-plugin-开头,然后必须是发布的插件,这样才能够被nodebb识别。因此我开始学习怎样发布npm。

2015-10-10 09:23:21 12368

原创 MongoDB快速备份重建方法

上一篇文章介绍了MongoDB打开远程连接的方法,接下来我们需要做的就是应对日常的运维工作,试想,假如你的服务器无法工作了,或是一些特殊情况需要放弃原有的服务器,那你该如何保全你的数据呢?

2015-10-08 15:50:58 4162

原创 让MongoDB能够远程连接

最近使用一款由Qt制作的数据库管理软件:Robomongo,它能够连接MongoDB数据库,执行一些查询操作并且得到反馈。然而,我发现Robomongo当时只能通过SSH的方式进行连接。

2015-10-08 15:43:42 15061

原创 MongoDB中添加管理员和普通用户以及认证的方法

我参考了别人博客的内容(博客地址:http://hae.iteye.com/blog/2183478),并且结合我自己的学习实践,初步了解了如何为MongoDB添加管理员用户以及认证的方法。

2015-09-12 17:42:59 5568 1

原创 MongoDB学习笔记

最近感觉自己在非关系型数据库的研究还需要增强才行,于是我自己研究了一下MongoDB,然后拿了一本《MongoDB The Definitive Guide_2nd Edition_2013》来看,看了一个大概,为了加深印象,记录一下我学习的一些要点。

2015-09-12 17:28:16 1656

原创 使用MsgPack配合Qt应用程序和node.js应用程序的数据传输

这段时间开始将研发重心从OpenGL转向数据的序列化,再转向数据的传输了。在查看了一些前辈以及高手们有关登录模块的实现后,我也制定了一个自己的登录模块的解决方案。这其中我考虑到要使用json作为数据传输的格式,后面发现json二进制可以让数据更小,于是研究重心转向了json二进制,慢慢地转向了MsgPack这个开源的库,最后一个下午加上晚上,终于实现了用Qt打包MsgPack的数据再由node.js解包的操作。

2015-09-10 14:01:11 3417 5

原创 Qt Scene Graph渲染方式在不同系统的差异

Qt Scene Graph是Qt 5提出的新渲染底层,它是Qt Quick在绝大多数平台上渲染的基础(Qt 4的是依赖Qt Graphics View)。了解和学习Qt的Scene Graph,怎么也不为过。最近我发现一个现象,那就是Qt Scene Graph在不同平台上的渲染流程是不一样的。通常情况下这没什么,可是它会影响Qt Quick的一些特定的类,比如说Animator。

2015-09-08 00:31:30 4707 6

原创 自制Qt Quick场景切换管理类

自制Qt Quick场景切换管理类       QtQuick中有很多方法进行场景的切换,比如说使用Loader切换source的办法,还有StackView中对界面item进行push和pop进行操作。甚至自己也可以写方法,对item的显隐进行操作。当然上述方法或多或少我都尝试过,但这些我都感到不太满意,我于是想自己写一个场景的管理类,来解决这个问题。       在制作这个管理类之前,

2015-08-31 20:45:14 4259 4

原创 使用QuaZip对文件进行压缩解压操作

八月份快要过去了,突然想到我还没有写一篇日志呢,想一想这一个月我并没有做开发以外的事情,三十天来还是尝试并且解决了不少技术上的问题的。所以这次我打算将其中一些作为日志分享出来。

2015-08-31 17:13:44 4919 1

原创 Qt 3D教程(四)结合Qt Quick来实现动画的效果

上篇教程已经给大家带来较为实用的效果了,这回我们尝试载入两个模型,并且让PhongMaterial成为它们的共享材质,此外,我们通过借助QtQuick的动画框架来让我们的三维场景动起来!

2015-07-29 18:36:00 13435 3

原创 Qt 3D教程(三)实现对模型材质参数的控制

上一篇教程介绍的是显示一个三维模型的基本步骤,接下来我们需要实现的是添加材质,并且希望我们通过按钮来控制材质的参数。这样的效果看起来很像一个3D模型材质编辑器的样子。那我们来尝试一下吧。

2015-07-29 18:13:25 7986 6

原创 Qt 3D教程(二)初步显示3D的内容

前一篇非常简单,完全就没有牵涉到3D的内容,它只是我们搭建3D应用的基本框架而已,而这一篇,我们将要利用它来初步地显示3D的内容了!本次目的是将程序中间的内容替换成3D的视图,而这一切也不过十几行代码。要不我们来试一试吧!

2015-07-29 17:30:10 20086 11

原创 Qt 3D教程(一)使用Qt Widgets建立一个框架

Qt 3D是Qt 5.5发布时最重要的一个新模块,它很好地将3D的繁文缛节封装在底层,留给我们的是简洁的对象创建方法,它也不需要你掌握太多的着色器知识,只需要懂得一些三维和光照的基本知识就可以创建出比较美观的三维模型浏览程序了。目前虽然大家都能够使用Qt 5.5和Qt 3D了,但是我查看了一下,有关API文档和一个详尽的介绍还是空缺的,因此我认为有必要写一点教程,简要介绍一下Qt 3D的使用方法。

2015-07-29 15:53:07 16373 14

原创 AngularJS学习笔记

最近在学习MEAN框架,其中前端的部分就是AngularJS,AngularJS和以前接触的jQuery不同,它是通过给html添加directive(标记)的方式来增强html的交互能力的,我觉得它的双端绑定做得很棒,并且能够解耦逻辑和界面,的确是个值得学习的前端框架。

2015-07-21 11:37:00 1746

原创 MEAN框架学习笔记

MEAN开发框架的资料很少,主要的资料还是来自于learn.mean.io网站上的介绍。于是抱着一种零基础学习的心态,在了解的过程中,通过翻译加上理解将MEAN框架一点点消化并且吸收,一步一步来,慢慢地记录我学习MEAN的点点滴滴。

2015-07-07 15:41:11 2915

原创 安装MEAN开发框架

MEAN开发框架一揽子解决方案,旨在精简开发流程,提升开发效率。MEAN开发框架的各个组件(MongoDB、Express.js、Angular.js、Node.js)全都是用Javascript描述的,因此有人称,它是Javascript开发工程师全栈的开发框架。可能也是出于这样的原因,我开始被它所吸引,逐渐接触了解。

2015-07-06 10:09:10 2915

原创 在Ubuntu Kylin15.05上安装MongoDB

MongoDB是典型的NoSQL,但是据说也有很多人在用它。于是我尝试一下在Ubuntu Kylin上安装一下这个数据库。首先去它的官网看看吧。链接地址:https://www.mongodb.org,界面做得很不错的样子,而且也非常方便,很快就可以找到下载地址。看了一下官网,话说使用Ubuntu的LTS版会更加方便,不过我没有选择好,安装的是Ubuntu Kylin系统,因此不能简单地使用apt进行安装了。好在MongoDB官方有一个简单的教程,1234这样的步骤的,对于我们不太了解的朋友带来了很大的帮

2015-07-06 09:52:17 2442

原创 基于Qt有限状态机人工智能的一种实现及改进方法

人工智能在今年是一个非常火的方向,当然了,不仅仅是今年,它一直火了很多年,有关人工智能的一些算法层出不穷。人工智能在很多领域都有应用,就拿我熟悉的游戏领域来说吧,一些寻路算法,比如说A*算法(我的《十日驱鬼记》就曾经使用了A*算法进行寻路),还有一些高级的算法,比如说决策树等,都在游戏中得以了广泛的应用。我目前想制作的项目和人工智能也有一定的关系,因此,我这个月开始学习搭建一些简单的人工智能框架。

2015-06-24 23:16:46 5004 3

原创 解决Linux下Qt程序报『QString::arg: Argument missing: 无法解析SSLv2_client_method中的符号』错误

在Linux开发Qt应用,程序会报这样的错误:QString::arg: Argument missing: 无法解析SSLv2_client_method中的符号“SSLv2_client_method”:ssl, (/lib/x86_64-linux-gnu/libssl.so.1.0.0: undefined symbol: SSLv2_client_method)

2015-06-22 22:08:01 10995

原创 Linux开发基于Qt的Android应用指定调试设备

最近安装了中外结合的Ubuntu Kylin试试。然后换上了搜狗输入法,这个编码的感觉比微软那个爽多了。开Qt Creator、通过Chromium来访问网页也是飞快的,使用GCC编译的速度也是非常满意的。而在指定安卓设备的时候遇到了一点儿小麻烦:我在将安卓平板电脑连接到电脑的时候,发现adb无法读取,从而QtCreator的界面看不到我们的真机设备。怎么办呢?记得以前也解决过,但是忘记通过博客记录方法了,这次一定要记下来,以后可不能忘记了!

2015-06-15 09:39:14 2029

原创 对用OpenGL ES 2.0实现OpenGL ES 1.1的顶点着色器的研究

想要彻底研究OpenGL ES 2.0于前一代OpenGL的区别,还是要费很大一番精力的。最近在仔细研读《OpenGL ES 2.0 Programming Guide》,虽然这本书最早出版日期是2008年,距今已经7年了,而著作的日期或许还要早上半年到1年,但是目前OpenGL ES 2.0是主流三维开发框架,因此这本书的知识直到现在,依然受用。

2015-05-26 08:29:16 2469 1

原创 Bullet有关六自由度弹性约束研究

这段时间打算将物理引擎整合进来,于是对Bullet这款开源的物理引擎进行了一些研究。Bullet的研究也有了一段时间了,Bullet这个引擎其实很久之前就接触了,只是一直以来,只是跑跑它的例子,也没有研究例子以及源代码,想要整合进入渲染引擎中也就井中月水中花了。今年3月,我曾经制作了一个整合Bullet最简单的一个例子。即模拟物体坠落的,并且写了博客《Qt Quick + OpenGL + Bullet初次测试》。这个例子开了一个好头。这段时间开始研究Bullet的一些其它有趣儿的特性了。

2015-05-25 21:19:33 4485 1

基于Qt有限状态机人工智能的一种实现

人工智能在今年是一个非常火的方向,当然了,不仅仅是今年,它一直火了很多年,有关人工智能的一些算法层出不穷。人工智能在很多领域都有应用,就拿我熟悉的游戏领域来说吧,一些寻路算法,比如说A*算法(我的《十日驱鬼记》就曾经使用了A*算法进行寻路),还有一些高级的算法,比如说决策树等,都在游戏中得以了广泛的应用。我目前想制作的项目和人工智能也有一定的关系,因此,我这个月开始学习搭建一些简单的人工智能框架。

2015-06-24

使用QtQuick2改进的阴影映射例子

我成功地将别人的例子加以改进,使用QOpenGLWidget作为渲染窗口,将阴影映射渲染了出来。目前可以确定的是,使用OpenGL ES 2.0作为渲染的接口要求,能够让目前绝大多数机器都能够顺利兼容,但是囿于渲染窗口,可能在某些平台上表现不好。如果移植到Qt Quick 2,这样能够支持的平台就更多了。现在我将这些接口统统使用Qt的方式实现了,移植到Qt Quick 2也很简单。

2015-05-25

使用QOpenGLWidget作为容器改进的阴影映射例子

上一篇文章粗略地介绍了要实现OpenGL ES 2.0的阴影映射所需的知识难点,现在简略地说明一下:1、FBO;2、着色器;3、float的分拆以及组合。上篇文章虽然说已经成功地移植了来自Java编写的Android下阴影映射的效果,但这边采用的很大程度上是OpenGL原生代码编写的内容,接下来的目标是采用自Qt 5起就逐渐采用的Qt对OpenGL的封装类,用面向对象的思维来处理OpenGL对象,这样让代码更加优雅。

2015-05-25

使用Qt实现的阴影映射(源代码)

要实现基于OpenGL ES 2.0的阴影映射,要攻克这三个技术难点: 1、 熟练操作FBO。帧缓存FBO是需要熟练操控的,因为FBO可以很快地将深度图写入一块显存中,然后作为纹理渲染到真实的场景中。 2、 掌握着色器的使用。由于OpenGL ES 2.0只允许使用着色器来对其进行渲染,因此对着色器的书写熟练程度要求较高。 3、 掌握将float深度数据分拆成vec4再将vec4合并成float的操作。这个已经成为业内熟练掌握的技能之一了,网络上搜索“how to pack float into RGBA”,能够得到很多有用的回答。

2015-05-25

QML和OpenGL混合渲染(源代码)

原博客地址:http://blog.csdn.net/gamesdev/article/details/38024327 上一篇文章讲到了利用C++这个桥梁,我们实现了QML和Java的交互。Qt 5大力推崇的QML/JS开发,让轻量、快速开发的QML/JS打头阵,让重量的C++撑腰,几乎什么技术都能够实现。接下来的这篇文章讲的是我们使用QML,借助Qt库和OpenGL,实现了使用着色器定义OpenGL的渲染方式,为大家呈现混合渲染的效果。

2014-07-21

QML和OpenGL混合渲染(演示程序)

此资源是演示程序,包含了Windows、Linux、MacOS X以及Android的演示程序,大家可以免积分下载。原博客地址:http://blog.csdn.net/gamesdev/article/details/38024327 上一篇文章讲到了利用C++这个桥梁,我们实现了QML和Java的交互。Qt 5大力推崇的QML/JS开发,让轻量、快速开发的QML/JS打头阵,让重量的C++撑腰,几乎什么技术都能够实现。接下来的这篇文章讲的是我们使用QML,借助Qt库和OpenGL,实现了使用着色器定义OpenGL的渲染方式,为大家呈现混合渲染的效果。

2014-07-21

CEGUI整合Irrlicht的例子(演示程序+源代码)

此程序使用VS2010构建,使用时还需正确构建CEGUI。有关CEGUI的构建方法,请参考我写的文章: http://blog.csdn.net/gamesdev/article/details/21552115 -------------------------------------------------------- 早就听说CEGUI是一款优秀的游戏GUI库,并且除了能够支持OpenGL、Direct3D9、Direct3D11以外,还可以支持高层的游戏引擎,例如Ogre和Irrlicht。我非常想尝试一下,网上有关CEGUI的例子又不是很多,所以自己花了大概几天的时间,研究了自带的文档,顺利地进行了整合。

2014-04-02

基于Qt和OpenGL的公告板演示程序

本资源是演示程序,大家可以免积分下载。 ------------------------------------------ 公告板技术的核心在于计算模型矩阵。OpenGL的固定渲染管线是维持了模型视图矩阵和投影矩阵两套矩阵,而Direct3D的固定渲染管线维持了三套矩阵,也就是世界矩阵、视图矩阵以及投影矩阵。我个人认为Direct3D的做法比较科学,而且将三者分开可以更好地控制显示效果,比如说我们将要实现的公告板特效。

2014-03-26

形变动画的实现(演示程序)

和以往我提供的演示程序不同 这一次我换了一个新的框架 再也不采用OpenGL的固定渲染管线进行渲染了 而是采用兼容OpenGL ES 2 0的着色器方式进行渲染 当然 为了利用着色器提供的并行计算功能 我用顶点着色器写了硬件蒙皮动画 以尽可能地利用GPU多做一些事情 可惜骨骼动画由于比较复杂 暂时无法用顶点着色器实现 同时表示面部表情的形变动画(Metamorphic Animation)也是在CPU上完成的 ">和以往我提供的演示程序不同 这一次我换了一个新的框架 再也不采用OpenGL的固定渲染管线进行渲染了 而是采用兼容OpenGL ES 2 0的着色器方式进行渲染 当然 为了利用着色器提供的并行计算功能 我用顶点着色器写了硬件 [更多]

2014-03-16

AssimpViewer浏览模型软件

这里我分享一个Assimp库实现的软件,叫“assimp viewer”。它可以方便地浏览各种模型格式的文件,其下载地址在这里。它是用Assimp库和DirectX来实现的,很遗憾只有Windows版。

2014-03-13

蒙皮动画的实现(演示程序)

此资源是演示程序,大家可以免积分下载。 --------------------------------------------------- 蒙皮动画和骨骼动画结合比较紧密,骨骼动画完成了之后,蒙皮动画也比较好做,可是那时我没有掌握透向量、矩阵以及四元数的基本计算,走了一些弯路,也搁置了原来的目标。在学习完一些新的技术后,再回来学习蒙皮动画,觉得到了实现它的时候了,于是制作了这样一个演示程序。

2014-03-07

利用GPGPU方法将大量数据通过纹理传输至GPU进行计算

博客地址: http://blog.csdn.net/gamesdev/article/details/19507325 在显卡并行计算起源的领域,比如说游戏开发领域,GPU的发展使得其迈向了新的纪元,画面愈加精致,效果愈加震撼,同时并行计算框架CUDA和OpenCL的兴起,则将显卡的计算潜能充分地释放了出来。最后令人高兴的是,以前就受惠于显卡发展的游戏开发领域,将显卡的功能做了新的扩展,以前只用来渲染用的显卡,目前可以做更多逻辑领域相关的事儿了。

2014-02-19

用OpenGL4.x绘制三角形图元

OpenGL很多人都有所了解,也有很多人使用OpenGL开发过工业级的应用和游戏应用,不过它的最新版本OpenGL4.x了解的人就不是太多了。目前OpenGL的最新版本是4.4,并且NVIDIA和AMD厂商发布了支持OpenGL最新版本的驱动程序,我想基于OpenGL4.x讲解的书籍也会逐渐增多。 这回我将上一次的代码稍微作了一下修改,绘制出了一个三角形。其实代码也非常简单,在Client端将GL_POINTS改为GL_TRIANGLES就可以了,片断着色器也不需要做更多的修改,主要是顶点着色器。

2014-02-19

基于Qt和OpenGL4.x的框架

我想OpenGL和同样是优秀的跨平台图形API——Qt的结合应该是一件非常有趣的事儿吧。有关Qt的介绍我已有大量的篇幅描述,有兴趣的搜搜我以前写的日志吧。OpenGL和Qt结合使用,简单快捷见效快。如果一定要说有什么缺点,我想应该是Qt的个头稍大并且可能对纯C的开发者并不友好,毕竟Qt是C++的开发框架。

2014-02-08

Irrlicht使用着色器渲染模型(演示程序+源代码)

Irrlicht是从2002年开始发布的,那时我想应该还没有成熟的着色器,我记得那时候Direct3D8的着色器是汇编代码,非常难用,而Direct3D9的HLSL还不太为人所知,而OpenGL的着色器GLSL还没有出世。没有着色器,渲染可能非常单调,而且固定渲染模式非常臃肿。 但是现在已经大不相同了,Irrlicht也支持非常多的着色器,它们能够为用户呈现出非常满意的效果。于是我也开始尝试使用Irrlicht的着色器渲染模型。

2013-11-29

Irrlicht实现水波特效(演示程序+源代码)

上一篇文章作为一个引子,介绍了粒子系统的简单使用方法,不过Irrlicht的粒子系统提供的效果非常多,只要选对了粒子特效,再加上合适的美术资源,就可以制作相当漂亮以及震撼的特效。同时粒子系统作为场景的一个普通的节点,可以绑定在场景的任何位置,也就是说一些场景效果比如说昏暗的山洞里一把篝火这样的特效就可以绑定在场景的火把处,通过场景编辑器编辑完成,再用程序导入irr文件,这样的话一个逼真的场景就实现了。

2013-11-26

Irrlicht实现粒子系统(演示程序+源代码)

粒子系统是作为游戏引擎不可或缺的一部分,它可以创造出非常炫的效果,但是传统上,如果是从Direct3D或者是从OpenGL/GLUT开始,将会遇到很大的麻烦,因为需要定义粒子发射器以及粒子管理器,还有种种复杂的东西,以前我曾经用Direct3D模仿粒子系统制作弹幕,就知道管理粒子有多么的复杂。不过在使用了Irrlicht之后,我觉得使用粒子系统简单了许多,只需要调用几个函数就可以解决问题。

2013-11-26

Irrlicht之载入irr文件和自定义场景节点(演示程序+源代码)

相关博客地址:http://blog.csdn.net/gamesdev/article/details/16890623 -------------------------------------------------------------- 在上一篇文章中,我尝试载入了Irrlicht自定义的场景文件irr文件。这回我将尝试用代码将irr文件载入以及自定义场景节点绘制出坐标轴。 Irr文件实质上是一个XML文件,它里面包含了场景的各种资源,可以被引擎中的一个模块IrrXML进行读取,生成则主要由IrrEdit来完成。

2013-11-22

IrrEdit编辑场景所用的资源

相关博客地址:http://blog.csdn.net/gamesdev/article/details/16890027 -------------------------------------------------------------------- Irrlicht作为一款游戏引擎,如果没有场景编辑器等配套软件,那么就会显得太弱了,还好Irrlicht提供了简易的GUIEditor(在前文有简单介绍)、FontTool、MeshViewer以及我们需要自行下载的IrrEdit。 IrrEdit现在已经改名为CopperCube了,CopperCube是商业软件,可以提供简单的场景编辑,并最终导出为ccb格式或发布为Windows、Mac OSX、Flash、WebGL、Android应用。从这个角度来说它倒比较像Unity3D以及最近刚出的国产游戏引擎平台Genesis3D,可是使用起来如何呢?我一开始下载的是CopperCube2.0.1,稍微花了一些时间熟悉了下,最后觉得不好用,于是下载了最高版本4.3。总的来说,这款编辑器还是需要经过多次版本的迭代来获得更加强大的功能。

2013-11-22

Irrlicht光照测试(演示程序+源代码)

最近研究一下Irrlicht的光照。发现Irrlicht的光照还是比较简单的,相比低于它的OpenGL和Direct3D,设置光源以及设置光照的参数更加人性化(可能是因为OpenGL是基于C的,Direct3D是基于COM的,都没有面向对象那么简洁易懂?)但是光照的实现还是根据底层的渲染器来决定的,也就是说可能是OpenGL的高洛德光照模型,也可能是Direct3D中的光照模型。

2013-11-18

Irrlicht添加对中文的支持(源代码+演示程序)

里面包含了微软雅黑字体,所以占了比较大的空间,下载时请耐心等待。 ------------------------------------------------------------------ Irrlicht在立项之初,可能没有考虑国际化的问题,因此一开始使用的字符集都是ANSI的,似乎是在Irrlicht1.6开始,才开始在GUI和其他模块中将wchar_t当作普通字符的存储格式。但是wchar_t在不同的平台上存储又不一样,因此直到版本1.73,官方还没有提供东亚字符的显示。 在网络上搜到了几篇让Irrlicht支持中文的博客,虽然已经过去几年了,但依然受用。博客的地址将以参考文献的形式记录下来。下面将要介绍一下如何让Irrlicht支持中文。

2013-11-11

Irrlicht创建游戏GUI界面(演示程序+源代码)

Irrlicht游戏引擎自带了GUI模块,可以在三维的场景中创建二维的覆盖(Overlay),使得游戏中图标和文字的显示更为方便,配合游戏高效的三维渲染能力,相得益彰。 这一次我将尝试用代码对GUI进行显示,我们的目标是在窗口中既要显示三维的背景也要显示二维的界面菜单,想做得和DirectX的例子CustomUI那样,但也不要制作得那么复杂,符合游戏的实际情况即可。

2013-11-10

Irrlicht载入网格文件(演示程序+源代码)

学习Irrlicht载入网格文件,其实非常简单。通过我仿照例子写的一段代码,很简单地载入网格文件。 首先向大家介绍一下如何利用Irrlicht的源代码和doxygen生成帮助文档。进入irrlicht目录,在irrlicht-1.7.3/scripts/doc/irrlicht中,Windows下点击makedocumentation.bat,Linux下点击makedocumentation.sh,就可以根据代码生成帮助文档了。帮助文档在irrlicht-1.7.3/doctemp/html,找到index.html即可查看。

2013-11-08

反向运动学演示程序(含核心代码)

此资源是演示程序,但内部已将核心代码嵌入我已将代码写入程序中,需要的同行们可以下载。 ------------------------------------------------------------ 周五的时间总是美好的,今天也将自己制作的演示程序收官了。这篇文章是上一篇文章的继续,向大家介绍一下如何使用循环坐标下降(cyclic coordinate decent,CCD)算法来求解反向运动学问题。 注意到了没有?我们要解决的问题属于刚体运动学范畴,所以一切涉及到形变的因素都不用考虑,因此我们既可以使用四元数和一个向量表示骨骼的位置和平移,也可以将两者结合起来使用一个矩阵表示骨骼的所有变换。学过计算机图形学的同学都知道,旋转分量和平移分量是互不影响的,所以可以简单地分别将旋转和平移叠加来表示累次旋转和累次平移。

2013-11-02

骨骼动画演示程序

此资源是演示程序,大家可以免积分下载。 ---------------------------------------------- 欢迎来我的小站进行骨骼动画的讨论,地址是:http://blog.csdn.net/gamesdev ---------------------------------------------- 骨骼动画是角色动画的重要组成部分,因为只有把骨骼的位置摆准确了才能正确反映角色地姿势,后面的蒙皮动画就好做了。花了我十多天的时间,一直在琢磨着如何顺利地进行骨骼位置的变换,以达到MikuMikuDance中的样子。我做了很多实验,这回也算是有一定的成果吧,虽然关于反向运动学(Inverse Kinematics,IK)的部分我还没有吃透,不过做出一个东西,想分享分享。

2013-10-24

QtOpenGL以及Graphics-View框架整合的例子(演示程序+源代码)

此程序来源于我的一篇博客,欢迎访问。 http://blog.csdn.net/gamesdev/article/details/11994501 ------------------------------------- 欢迎访问我的博客。 http://blog.csdn.net/gamesdev ------------------------------------- Qt的QWidget大家族已经成熟,不会得到太大的发展了,而随着Qt5的发展,新的界面类会崭露头角,比如QWindow、QSurface、QScreen这些类。但现在的状况(Qt5.2即将出了),这些类和模块并不会对现有的GUI模块造成威胁,更不用说取代Qt4的GUI(在Qt5是QtGui和QtWidgets)模块了。自Qt4.4起,Qt拥有了Graphics-View框架,使用这个框架可以更加轻松地在窗口中嵌入任意你想要绘制的元素。但是据我所知,Qt5的那些类无法和Graphics-View框架进行整合,对于想要利用Qt中Graphics-View框架的同行们,只能退回Qt4的类进行开发了,Qt5的这些类对于创建纯OpenGL还是有利的。

2013-09-25

QtOpenGL以及Graphics-View框架整合的例子

此程序是演示程序,大家可以免积分下载。 ------------------------------------- 此程序来源于我的一篇博客,欢迎访问。 http://blog.csdn.net/gamesdev/article/details/11994501 ------------------------------------- 欢迎访问我的博客。 http://blog.csdn.net/gamesdev ------------------------------------- Qt的QWidget大家族已经成熟,不会得到太大的发展了,而随着Qt5的发展,新的界面类会崭露头角,比如QWindow、QSurface、QScreen这些类。但现在的状况(Qt5.2即将出了),这些类和模块并不会对现有的GUI模块造成威胁,更不用说取代Qt4的GUI(在Qt5是QtGui和QtWidgets)模块了。自Qt4.4起,Qt拥有了Graphics-View框架,使用这个框架可以更加轻松地在窗口中嵌入任意你想要绘制的元素。但是据我所知,Qt5的那些类无法和Graphics-View框架进行整合,对于想要利用Qt中Graphics-View框架的同行们,只能退回Qt4的类进行开发了,Qt5的这些类对于创建纯OpenGL还是有利的。

2013-09-25

基于Qt和GLSL的着色器例子(演示程序+源代码)

此程序附带了演示程序和源代码。 ------------------------------------------------- 欢迎访问我的博客: http://blog.csdn.net/gamesdev 此资源相关的博文: http://blog.csdn.net/gamesdev/article/details/10295961 http://blog.csdn.net/gamesdev/article/details/10296587 ------------------------------------------------- 我的计算机换成新的了,可以支持OpenGL2.0以及以上的规范,这样我开始正式涉足OpenGL高级的内容了。目前我的OpenGL基础库是Qt,它有完备的功能,以及对OpenGL一层好的封装,所以用它来开发基于OpenGL的应用程序非常合适。下面是我就来介绍一下如何开发基于Qt和GLSL的程序。 我制作的这个小例子还带了一个着色器编辑器。支持即时编译链接着色器,支持在GLSL规定的语法高亮,有关语法高亮的内容,感兴趣的同学可以下载一下。

2013-08-25

基于Qt和GLSL的着色器例子(演示程序)

此程序是演示程序,大家可以免积分下载。 ------------------------------------------------- 欢迎访问我的博客: http://blog.csdn.net/gamesdev 此资源相关的博文: http://blog.csdn.net/gamesdev/article/details/10295961 http://blog.csdn.net/gamesdev/article/details/10296587 ------------------------------------------------- 我的计算机换成新的了,可以支持OpenGL2.0以及以上的规范,这样我开始正式涉足OpenGL高级的内容了。目前我的OpenGL基础库是Qt,它有完备的功能,以及对OpenGL一层好的封装,所以用它来开发基于OpenGL的应用程序非常合适。下面是我就来介绍一下如何开发基于Qt和GLSL的程序。 我制作的这个小例子还带了一个着色器编辑器。支持即时编译链接着色器,支持在GLSL规定的语法高亮,有关语法高亮的内容,感兴趣的同学可以下载一下。

2013-08-25

OpenGL光照测试(源代码+演示程序)

此资源是我写的博客中的源代码,需要的同学可以下载。 --------------------------------------------------- 欢迎访问我的博客: http://blog.csdn.net/gamesdev --------------------------------------------------- 有关OpenGL光照测试的博客: http://blog.csdn.net/gamesdev/article/details/9796715 http://blog.csdn.net/gamesdev/article/details/9766713 --------------------------------------------------- 之前从来都没有涉及光照的内容,心想只要能通过常规的方法渲染出几何体甚至是模型就可以了,然而没有光照的日子注定是苦涩的,因为仅凭几何体和模型的颜色无法达到真是渲染的效果,在实际中有各种各样的光影响着我们的视觉效果,而OpenGL能够为我们还原现实生活中的光照现象。所以,我还是下决心研究OpenGL的光照了!

2013-08-07

OpenGL光照测试Revision2(演示程序)

此资源是演示程序,大家可以免积分下载。 ---------------------------------------------------- 这次修订修改了上次的一个Bug。说起来这个Bug还是挺严重的。因为在没有任何光照的情况下选择下一个光源或者是删除光源会导致错误地引用了QVector的下标而导致错误,这回我重新上传一遍,希望能够弥补这个错误。 随着项目越来越大,我发现越来越难管理源代码了,这是一个非常难以解决的问题。同时也希望大家能够通过反馈对话框将自己的测试结果反馈给我,我会认真地修改其中的Bug的。

2013-08-07

OpenGL光照测试Revision(演示程序)

此资源是演示程序,大家可以免积分下载。 ---------------------------------------------------- 上一个演示程序由于使用了不好的编译器和Qt库而导致的无法使用反馈对话框功能。这回我重新自编译了Qt库,随后制作了这个程序。为了让大家能够对我制作的程序作出反馈,请尽量下载这个版本的演示程序。 同样的,程序演示了如何在场景中添加光照和对光照的参数进行设置。好的光照可以使场景效果美轮美奂。

2013-08-05

使用Qt和OpenGL实现的光照测试

此资源是演示程序,大家可以免积分下载。 ----------------------------------------------- 以前上传的资源总被大家评论无法解压,其实只需要更新一下7-zip软件就行了。因为使用的算法可能带有LZMA2的。算了,这次的演示程序是一个zip格式的文件,我想这样应该大家都可以解压吧。 运行其中的程序,可以理解OpenGL中光照部分的工作方式。 很可惜的是,UP主并电脑烂爆了,无法运行OpenGL2.0及以上规范,所以无法运用Shader制作更加漂亮的效果了。不过这个演示程序看起来也不赖,大家说是么。

2013-08-04

用Qt和OpenGL制作的颜色立方体例子(演示程序+源代码)

此资源包含了演示程序和源代码。 ---------------------------- Qt5相比Qt4有了很大的改变,对OpenGL这一部分支持的力度加大了。如果说Qt5.0对OpenGL这部分的改变还是试验性的,那么Qt5.1中与OpenGL相关的函数和封装则是优化和一些小小的微调。早在Qt5.1还没有发布的时候,国外就有高手发布了Qt5.1对OpenGL支持的相关特性。

2013-07-16

用Qt和OpenGL制作的颜色立方体例子(演示程序)

此资源是演示程序,大家可以免积分下载。源代码参见我的其它资源。 ---------------------------------------- Qt5相比Qt4有了很大的改变,对OpenGL这一部分支持的力度加大了。如果说Qt5.0对OpenGL这部分的改变还是试验性的,那么Qt5.1中与OpenGL相关的函数和封装则是优化和一些小小的微调。早在Qt5.1还没有发布的时候,国外就有高手发布了Qt5.1对OpenGL支持的相关特性。

2013-07-16

用Qt动画框架设计飞入-消失特效(源代码+演示程序)

原博客地址:http://blog.csdn.net/jiangcaiyang123/article/details/8899279 -------------------------------------------------------------- Qt动画框架很强大,只要你想得到,它就有可能帮你实现。这一次我将抽取上一个演示程序的部分来进行介绍。这一部分我命名为“飞入 - 消失”特效,主要用在文字的显示方面,从这点上说很像PowerPoint上面特效的一种。

2013-05-08

用Qt动画框架设计飞入-消失特效(演示程序)

此资源是演示程序,大家可以免积分下载。 ------------------------------------------------- Qt动画框架很强大,只要你想得到,它就有可能帮你实现。这一次我将抽取上一个演示程序的部分来进行介绍。这一部分我命名为“飞入 - 消失”特效,主要用在文字的显示方面,从这点上说很像PowerPoint上面特效的一种。

2013-05-08

PMD格式模型的读取和显示(演示程序)

PMD格式模型的读取和显示(演示程序)

2013-05-08

人工智能算法演示(演示程序+源代码)

-----------------【请用Qt4.6+编译,Qt5目前有Bug】---------- 原博客地址:http://blog.csdn.net/jiangcaiyang123/article/details/8762365 --------------------------------------------------------------- 人工智能是一个非常具有潜力的分支,顾名思义,它可以通过计算机指令模拟人的行为,在游戏中的人工智能就非常地多样了。对于FPS、TAB、RPG、STG、ADV等游戏,有着不同的人工智能,但都基于几种理论:有限状态机、遗传算法、神经网络等。下面我就采用游戏中最基础也是最常用的人工智能算法来进行演示。 我的开发环境是: Windows: WindowsXP(SP3) + MinGW4.4/MinGW4.7 + Qt4.8.3/Qt5.0.1 + QtCreator2.6/QtCreator2.7 Linux: Ubuntu12.10 + gcc4.7 + Qt4.8.1/Qt4.8.4/Qt5.0.1 + QtCreator2.6/QtCreator2.7

2013-04-06

人工智能算法演示(演示程序)

此资源是演示程序,大家可以免积分下载。 ----------------------------------------------- 人工智能是一个非常具有潜力的分支,顾名思义,它可以通过计算机指令模拟人的行为,在游戏中的人工智能就非常地多样了。对于FPS、TAB、RPG、STG、ADV等游戏,有着不同的人工智能,但都基于几种理论:有限状态机、遗传算法、神经网络等。下面我就采用游戏中最基础也是最常用的人工智能算法来进行演示。 我的开发环境是: Windows: WindowsXP(SP3) + MinGW4.4/MinGW4.7 + Qt4.8.3/Qt5.0.1 + QtCreator2.6/QtCreator2.7 Linux: Ubuntu12.10 + gcc4.7 + Qt4.8.1/Qt4.8.4/Qt5.0.1 + QtCreator2.6/QtCreator2.7

2013-04-05

空空如也

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

TA关注的人

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