自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Vendar 的专栏

C/C++/boost Linux/Windows编程, OpenGL/SDL/Ogre跨平台3D游戏设计

  • 博客(72)
  • 资源 (14)
  • 收藏
  • 关注

原创 eclipse开发python+qt

eclipse开发python+qt

2011-05-12 22:16:00 4543

原创 通过QtMVC实现视图数据分离与数据的排序及过滤显示(续篇)让效率飘起来~

通过QtMVC实现视图数据分离与数据的排序及过滤显示(续篇)让效率飘起来~

2011-03-29 00:08:00 1114

原创 通过QtMVC实现视图数据分离与数据的排序及过滤显示

通过QtMVC实现视图数据分离与数据的排序及过滤显示

2011-03-27 23:31:00 2105 1

原创 使用脚本开发GUI工具 (PyQt4试用)

使用脚本开发GUI工具 (PyQt4试用)

2011-03-24 01:19:00 1133

原创 eclipse开发android,添加源码

eclipse开发android,添加源码

2011-01-31 00:43:00 1331

原创 在eclipse中使用vim

在eclipse中使用vim

2011-01-28 20:59:00 2817

原创 RTT后期合成[多重采样模拟体积光]

<br />很久没写shader了,上次用Cg写了几个NPR渲染的shader。描边、卡通着色等。描边的话,先画纯色的背景,正面剔除,只看里面,然后画被描边的对象,深度检测为小于等于通过。另外卡通着色的话,主要是根据物体表面吸收光的能量大小从一个1D纹理中取颜色。这些东西RenderMonkey里都有,另外FxComposer的shader library里也有很多现成的shader。写shader可以提高对渲染过程和GPU系统的理解,用不用得到那是另一回事。有些shader根本没法用,要求的Shader模

2010-12-13 22:27:00 2598

原创 GuiStudio v0.2.0 [layout & imageset编辑器完成]

GuiStudio v0.2.0 [layout & imageset编辑器完成]

2010-12-12 18:58:00 2165

原创 Windows环境异常宕机时内存转储

Windows环境异常宕机时内存转储

2010-11-30 20:49:00 846

转载 网游行业九大病根 [转]

<br />以下文字转自网络,作者已不可考。对其中观点,在下没有任何支持或反对看法。我只是感觉他言中了某种事实,留下以备参考。若五年之后如何,十年二十年之后又如何?不管如何,都希望民族游戏能成长起来,民族品牌能光彩一点。目的只有一个,若能让新中国更好地表达古中国,实属大幸。<br /> <br /><br />    国产网游已经走过了十年,整个产业却远远不能让玩家满意,不能够像日本和美国同行那样层出不穷推出让玩家喜闻乐见的好游戏,抄袭、劣质、山寨网游横行,三郎从中国人自身十大劣根性一针见血的谈谈国产网络游

2010-11-15 17:12:00 869

原创 Game UI Studio [the beginning]

Game UI Studio

2010-11-07 21:36:00 1038

原创 记录一下我的VA注释片段

记录一下我的VA注释片段

2010-10-16 16:22:00 814

原创 Qt中捕获Windows消息

Qt中捕获Windows消息

2010-10-15 23:57:00 3593 4

原创 安全删除指针宏定义

/// 指针安全删除#define SFDelete( ptr ) do { if ( ptr ) { delete ( ptr ); ( ptr ) = NULL; } } while(0)#define SFDeleteC( ptr ) do { if ( ptr ) { delete ( ptr ); } } while(0) 1. 为了适应表达式,指针使用()包

2010-05-01 15:41:00 2169 1

原创 Ogre&CEGUI窗口状态输入设备及光标调整

使用Ogre&CEGUI时,OIS默认独占鼠标和键盘。适合全屏状态,窗口状态就不好玩了。1. 取消键鼠独占在OIS创建输入系统时,设置参数。w32_mouse,DISCL_FOREGROUND|DISCL_NONEXCLUSIVEw32_keyboard,DISCL_FOREGROUND|DISCL_NONEXCLUSIVE 2. 鼠标范围检测(离开客户区使用win光标,客

2010-05-01 14:20:00 1483 2

原创 CEGUI0.7.1字体优化草案

我个人认为CEGUI在字体渲染上走了一条貌似优雅,但实际却被证明是错误的道路。(至少我是这么觉得,我的试验也是这么证明着。也许这种想法有错,真的有错,找到再改。)首先说说CEGUI处理文字渲染的基本流程。 1. Font::getGlyphData这里需要一个utf32的codepoint,返回的是一个FontGlyph(糅合了codepoint和Image的Map) 2.

2010-04-28 21:53:00 2756 2

原创 使用FreeImage写Freetype2字体图片

以前用OGL时,一直使用FreeImage加载纹理图片。后来使用OGRE/CEGUI,也是用FI加载纹理图片。但这些都是它们底层管理的,用的时候也就没什么特别的感觉了。由于OGRE/CEGUI都使用FreeType2渲染字体,于是乎,就像自己来渲染一下看看。 代码很简单,没什么好说的。不过自己感觉这个结构流程还是蛮清晰的,贴出来留个纪念(明天开始做CEGUI字体优化~~) /**

2010-04-18 19:31:00 2666 2

原创 FreeType 简单用法

1. 包含文件   #include   #include FT_FREETYPE_H2. 使用2.1 初始化   FT_Library library;   FT_Init_FreeType(&library);   FT_Face face;   FT_New_Face(library,"abc.ttf",0,&face);   FT

2010-04-17 17:19:00 1644

原创 在ubuntu9.10下编译OGRE1.7 & CEGUI0.7.1

其实OGRE/CEGUI都是跨平台的开发库,在Linux下编译它们是件很轻松的事情。如果遇到依赖库(如安装OGRE时的OIS,CEGUI时的Python的正则表达式库等)或工具(生成OGRE1.7工程文件的CMAKE等)时,首先APT-GET一下。如果GET不到,就去其官网DOWN一下,然后编译安装。总之,这个过程并不复杂。另外,如果使用Linux原生的Makefile的话,在configure的

2010-04-05 14:18:00 1378

原创 Windows编程环境中使用VIM

由于几年的Linux操作习惯,对VIM的快速编辑有着强烈的依赖。如果写代码的时候还要去操作方向键,甚至是鼠标,我个人认为这是一种很不高效的做法。后来,到Windows环境做开发。就一直用VS,当然VS的功能还是很强大的。不过少了VIM的快捷,总觉得不舒服。经过搜索,在自己的VS2008中加入了VA和ViEmu两个插件。一下子让自己的coding效率狂飙了起来。(关于这两个插件的获取方式及用法,见g

2010-01-26 23:07:00 1037

原创 LUA脚本的中文字符串显示到CEGUI

以前用LUA的时候没怎么处理过脚本变量里的中文问题。于是,今天试着做了一下。首先,要搞清编码格式及wchar_t的概念。我用的是ANSI编码的LUA脚本文件。其实做法很简单,先把要读取的全局变量压入LUA栈中,然后获取并进行类型验证。这样就得到了一个char数组,使用WIN32API中的MultiByteToWideChar函数将char数组转换到wchar_t数组。最后,可以使用OGRE的UTF

2010-01-13 22:50:00 1343

原创 手动排列窗口控件之像素对齐问题

CEGUI使用了UDim做长度度量。UDim包含缩放比例和像素偏移两部分。因为使用了相对于父窗口的比例,所以转换为像素时就不一定是整数了。比如,父窗口宽800pixels,则相对于父窗口宽的0.001就是0.8pixel。但是,像素也不能是0.8个啊。所以,最终绘制的时候,CEGUI进行了四舍五入。 因此,当要手动去排列一些控件时。一定要使用绝对像素,而不能用按比例缩放。因为要自己进行四舍

2010-01-11 22:51:00 688

原创 使用累加缓存实现运动模糊

以前用OGRE3D的时候,可以使用合成器来实现各种后期效果的合成。个人觉得运动模糊最炫了。于是就自己尝试着使用OPENGL渲染了一下。本方法完全属于我个人独创。(红宝书里没给例子,只是一带而过。网上的代码都不完整,看的我头晕~~于是才决定自己实现~~)。其实,这东东很简单。首先,你必须理解OPENGL累加缓存的意义和作用。明白自己要实现效果(比如运动模糊,景深,抗锯齿等等)的基本原理,OK,你就可

2009-12-27 17:19:00 2881 14

原创 关于模板缓存的一些试验

OPENGL的许多测试处处彰显着“伟大”的可操作性,最常见的ALPHA测试,裁剪测试,深度测试。。但是他们都各有用途,有一个模板测试,参数比较“复杂”。看了红皮书,也不得其解,红皮书搞那个例子真的不敢多说什么,确实很不具有代表性。网上google了一把,全是不透彻的理解(尤其是那些直接复制别人代码的朋友,我对其坚持误解的毅力表示由衷的赞赏~~)。毕竟这玩意儿是美国的SGI首发,还是老美的资料比较切

2009-12-26 20:50:00 1796

原创 使用ALPHA测试改善粒子系统显示效果

自己做的粒子系统,总感觉把粒子起源区域缩到很小一个区域时,起点处就会很亮很别扭。或许有些地方正需要这种效果,不过有些地方未必适合。于是,可以使用OPENGL的ALPHA测试来解决这一状况。效果图如下: 第一幅ALPHA测试未启用,第二幅砍掉ALPHA值在0.75以上的,第三幅砍掉0.5以上的。   

2009-12-26 13:00:00 871 1

原创 使用裁剪测试进行多窗口渲染

在一个视口中,通过使用裁剪测试,将窗口分割成若干区域。不同区域使用不同的摄像机视角,然后分别渲染。(UI可以独立在场景之外,进行一次渲染即可。)下面是实现截图,场景元素:一个天空盒,一个地面,一个包含1000粒子的系统,另外10个茶壶(一下子把我的6600LE拖到了10帧之内,晕~)  减少到5个茶壶,FPS明显改善,提高50%  看看这茶壶(g

2009-12-26 12:44:00 902

原创 使用虚继承消除继承二义性

问题描述: 1. 假设有基类CBase2. 类CInherit1继承了此基类3. 类CInherit2继承了此基类4. 类CFinalInherit同时继承了CInherit1和CInherit2//5. 如今要用CBase *p指针指向new CFinalInherit对象 代码如下:#include using namespace std;// 基类

2009-12-25 13:54:00 876

原创 域限定符解决子类中调用父类重名函数问题

如果一个类C继承了A和B,并且AB拥有一个同名同类型函数。而C没重写AB这个函数时,该会继承哪一个呢?还是连个都继承?如果两个都继承,该如何调用?看下面的例子代码: #include using namespace std;// 类 Aclass A{public: void show(){ cout<<"in A."<<endl; }};

2009-12-25 00:47:00 698 1

原创 二元函数与bind1st/bind2nd

最近看到bind1st,感觉很好玩的一个模板函数。其定义如下:  // TEMPLATE FUNCTION bind1sttemplate inlinebinder1st bind1st(const _Fn2& _Func, const _Ty& _Left){// return a binder1st functor adapter typename _Fn2::fi

2009-12-25 00:07:00 824

原创 OpenGL 实现的粒子系统、自由摄像机及Billboard

重新回到OGL的感觉真好,尤其使用过一段时间的OGRE3D。好多东西都想自己去实现一下。目前在win32下使用OGL的进度,如下:(有些是很早之前做过的,在重新温习一下~) 1. CEGUI界面2. 帧率计算器3. 自有摄像机4. 天空盒5. 点与轴Billboard6. 粒子系统 目前粒子系统的参数,如下:(以后可能还得

2009-12-22 14:20:00 3770

原创 在Win32 OpenGL环境渲染CEGUI界面

OGRE3D的使用已经告一段落,又重新回到了最初的起点OPENGL。很喜欢在OGRE里那简洁的CEGUI,于是就试着在OPENGL里渲染了一下。过程很简单,CEGUI0.7.1的例子里就有对OPENGL的渲染可供参考。不过是用的GLUT,我只是把GLUT换成了WIN32窗口。 废话不多说了,看看截图(Demo8的layout):  

2009-12-21 13:07:00 3211 1

原创 片头LOGO v1.0

2009-12-16 00:00:00 759

原创 片头LOGO v0.5

   

2009-12-15 09:29:00 671

原创 CG 网址

 CG 酒吧论坛: http://bbs.cg98.cn/index.php 中国CG论坛: http://bbs.cgbbs.cn/ 飞特网: http://www.fevte.com/

2009-12-11 01:48:00 603

原创 一个未完成的 OGRE DEMO

最近为了找工作,花了一个多月,用OGRE3D写了一个小DEMO。目前还没完成,现在代码有8千行左右。下面是开发中用到的库:OGRE3D 1.6.4OISCEGUI 0.7.1FMODTheoraVideoPluginNxOgre素材来源: OGRE例子、网络(偶美术不行~~) 下面是截图:    

2009-12-09 21:56:00 1815 4

原创 平面设计网址

 图标之家:http://www.icosky.com/站酷:www.zcool.com.cn(zcool.com.cn) 

2009-12-03 15:30:00 904

原创 从OGRE纹理到CEGUI纹理 —— 使用RTT实现3D角色预览

 最近重拾LUA,觉得这个语言太美了。怎一个“简单”了得。不过我现在还太探索它和CEGUI的配合使用问题。虽然LUA的语法半年前就基本掌握了(那是因为LUA最简单的就是语法了~~XD),可现在还得琢磨如何让它和CEGUI及我的程序进行数据共享。好让我的LUA脚本里的回调函数可以直接操作APP里的数据(不知道这样做安全性如何?不过,若不这样,LUA的功能就不能扩大,只停留在非交互模式)。

2009-11-05 14:43:00 3631 4

原创 关于尾递归调用消除

 1. 尾递归,就是把递归函数中需要的“所有状态”通过参数传入下一次调用中。   于是本次方法中留在堆栈中的数据可以完全清除。2. 示例// 一般的递归调用,本函数并没有结束,还在栈上保留着信息。int fr(int n){ if(n<2)return n; return fr(n-1) + fr(n-2); // 这里返回的是值!}//

2009-11-04 15:25:00 1869

原创 OGRE 1.64 与 CEGUI 0.71 闲谈一刻

 最近开始搞UI,去CEGUI官网下了最新的稳定版0.7.1,看DEMO。当然,看CEGUI的设计代码更有帮助。可惜以我现在的时间和条件,根本不允许啊~~等工作稳定以后,少不了要看CEGUI及OGRE的设计源码。 其实CEGUI的设计很轻便,看DEMO根本就是一种享受。一切都是那么的顺利,知道我想把0.7.1的库链接到我以前的DEMO中去的时候。问题出现了。OgreCEGUIRendere

2009-11-03 21:32:00 2258 12

原创 OGRE 中通过 TheoraVideoPlugin 实现视频播放

 昨天搞到零点才弄出来效果。本来不知道,原来Theora是一个纯开源项目。对Linux支持比较好,所以他的安装也应该遵循“Linux软件包安装规范”。那就是“永无止境”的包依赖。。于是乎,编译TheoraVideoPlugin必须先编译libtheora(http://theora.org/),ptypes(http://www.melikyan.com/ptypes/),libogg和libvo

2009-11-02 10:35:00 2918 6

WINNT未文档化API大全(上)

WINNT未文档化API大全(上)。共分上下两册。这个是上册.下载后如果不能阅读:右键文件-属性-解除锁定!!

2010-10-19

3DS MAX SDK 教程

3DMAX SDK 插件开发教程(英文版)

2010-09-24

3dmax 2010 sdk

autodesk 3dsmax2010 开发sdk

2010-09-22

3dmax2008 sdk

autodesk 3dsmax2008 开发sdk

2010-09-22

3dmax9 sdk

autodesk 3dsmax9 开发sdk

2010-09-22

使用wxWidgets进行跨平台程序开发(中文版)

《使用wxWidgets进行跨平台程序开发》,WX开发教程。没什么好说的,新手老手都必备的。

2010-04-17

OPENGL 红皮书全部代码及可执行程序

OPENGL 红皮书全部代码及可执行程序

2009-12-27

TheoraVideoPlugin 编译好的链接库

编译好的OGRE视频播放插件TheoraVideoPlugin及相关依赖库,PTypes、libogg、libvorbis及libtheora。可以直接使用,关于demo我在BLOG里有相关演示。

2009-11-02

CEGUI 原版教程

html及编译好的chm格式的CEGUI原版文档。

2009-11-02

UnicodeViewer

查看中文UC编码,得到OGRE字体配置的code_points。

2009-11-02

JTEST听力第45回

JTEST听力第45回,JTEST听力第45回,JTEST听力第45回。

2009-06-12

PagedGeometry1.05 官方教程

Ogre图形引擎的场景管理插件PagedGeometry官方教程,包含API 说明文档。

2009-05-21

glut API参考第三版

GLUT编程接口第三版,GLUT代表OpenGL应用工具包,英文全称为OpenGL Utility Toolkit,是一个和窗口系统无关的软件包,它由Mark Kilgard在SGI时写的。作为AUX库的功能更强大的替代品,用于隐藏不同窗口系统API的复杂性。是一个学习OpenGL编程的良好开端。

2008-10-05

clstab一个使用gtk编写的小玩意~

自己写的一个gtk小程序,只完成了部分功能。 使用了Automake,但是还有很多问题没有解决, 希望有兴趣的朋友给点建议~~多谢各位!

2008-10-05

空空如也

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

TA关注的人

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