- 博客(63)
- 资源 (2)
- 收藏
- 关注
转载 2D Application
2D Application这一章将讨论IDirect3DDevices9接口怎样应用到简单的两维应用程序里去。然而,接下来讨论的方法和接口的方法不仅仅只应用在两维应用程序里面。 开始我们将看看IDirect3DSurface9接口,它用于存放像素数据。我们将看看怎样创建surfaces,怎样填充数据,并且执行像素拷贝操作。 接下来,我们讨论IDirect3DSwapChain
2011-12-30 00:01:47 945
转载 d3d中的Surface(2d)绘制
原文出处:http://coffeejp.com/bbs/viewthread.php?tid=168641感谢作者:ccsakura1.1 Surfaces之封装CXSurface1、Surfaces是什么: 通俗的讲surfaces就是一个二维的矩形平面。在DX9中,与其对应的com接口为IDirect3DSurface9,LPDIRECT3DSURFACE9。2、
2011-12-29 13:06:28 659
原创 Clipboard传递数据
在window下面不同的进程之间可以利用剪切板传递文本,图片等数据.API讲解打开剪切板BOOL OpenClipboard( HWND hWndNewOwner);hWndNewOwner是剪切板关联的窗口,一般设为空就可以了。关闭剪切板BOOL CloseClipboard( VOID );清空剪切板内容BOOL EmptyCl
2011-12-27 23:09:42 1101
转载 关于C++中算符重载的高级话题 - 从OO暴露接口的角度审视
算符重载的作用是什么?它允许你为类的用户提供一个直觉的接口。 算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义。重载的算符是函数调用的语法修饰: class Fred { public: // … }; #if 0 // 没有算符重载: Fred add(Fred, Fred); Fred mul(Fred,
2011-12-26 23:51:18 307
原创 中国集团军最近编制
集团军下设5个旅(2个装甲旅、一个机械化步兵旅、一个火力打击旅、一个航空旅)。每个旅都可独立作战。 装甲旅下设5个营(3个装甲营、一个机械化步兵营、一个火力营)。 机械化步兵旅下设5个营(2个装甲营、2个机械化步兵营、一个火力营)。 火力打击旅下设6个营(3个155自行加榴炮营、1个122自行火箭炮营、1个战术导弹营{或混合装备大口径远程火箭炮}、
2011-12-26 22:56:53 2036
转载 c++内存分配优先使用内存池,而不是new,delete
认识一下new和delete的开销:new和delete首先会转调用到malloc和free,这个大家应该很熟识了。很多人认为malloc是一个很简单的操作,其实巨复杂,它会执行一个系统调用(当然不是每一次,windows上是按页算),该系统调用会锁住内存硬件,然后通过链表的方式查找空闲内存,如果找到大小合适的,就把用户的进程地址映射到内存硬件地址中,然后释放锁,返回给进程。如果在多线程环
2011-12-26 22:36:02 481
转载 内存池
如 前所述,读者已经了解到"堆"和"栈"的区别。而在编程实践中,不可避免地要大量用到堆上的内存。例如在程序中维护一个链表的数据结构时,每次新增或者删 除一个链表的节点,都需要从内存堆上分配或者释放一定的内存;在维护一个动态数组时,如果动态数组的大小不能满足程序需要时,也要在内存堆上分配新的内存 空间。6.1.1 默认内存管理函数的不足利用默认的内存管理函数new/delete或malloc
2011-12-26 22:32:31 436
原创 c++函数调用约定与函数名称修饰规则
函数调用约定(calling convention)函数调用约定不仅决定了发生函数调用时函数参数的入站顺序,还决定了是由调用者函数还是被调用者函数负责清除栈中的参数,还原堆栈.函数调用约定有很多方式,除了常见的_cdel, _stdcall和_fastcall之外,c++的编译器还支持thiscall方式,不少c/c++编译器还支持naked call方式,下面我们来说说各种修饰方式
2011-12-18 08:58:34 737
原创 irrlicht引擎消息系统
说说irrlicht的消息系统,除了irrlicht绘制主窗体,默认的消息处理过程,外部的消息监听是通过IrrlichtDevice设备类中一个接口virtual void setEventReceiver(IEventReceiver* receiver) = 0;这个接口是把receiver监听类作物除默认窗体过程外,消息传递对象,先看看看IEventReceiver接口里面有什么
2011-12-16 00:11:07 610
转载 科学史上著名公案——牛顿-莱布尼茨之争
1665年夏天,因为英国爆发鼠疫,剑桥大学暂时关闭。刚刚获得学士学位、准备留校任教的牛顿被迫离校到他母亲的农场住了一年多。这一年多被称为“奇迹年”,牛顿对三大运动定律、万有引力定律和光学的研究都开始于这个时期。在研究这些问题过程中他发现了他称为“流数术”的微积分。他在1666年写下了一篇关于流数术的短文,之后又写了几篇有关文章。但是这些文章当时都没有公开发表,只是在一些英国科学家中流传。首次发表有
2011-12-13 23:37:58 1526
原创 我心目中的数学家
哈哈,学了这么多年的数学,对一些数学家崇拜,这也我对数学追求动力源泉之一吧!1:高斯 C.F. Gauss我特别崇拜的数学家,在我学习数学路程中他的名字如雷贯耳,到处都他的身影,(1777年4月30日—1855年2月 高斯23日),生于不伦瑞克,卒于哥廷根,德国著名数学家、物理学家、天文学家、大地测量学家高斯的成就遍及数学的各个领域,在数论、非欧几何、
2011-12-13 23:34:52 1857
原创 欧氏空间与黎曼空间
欧氏空间欧几里德空间(Euclidean Space),简称为欧氏空间,在数学中是对欧几里德所研究的2维和3维空间的一般化。这个一般化把欧几里德对于距离、以及相关的概念长度和角度,转换成任意数维的坐标系。 这是有限维、实和内积空间的“标准”例子。 欧氏空间是一个的特别的度量空间,它使得我们能够对其的拓扑性质,例如紧性加以调查。内积空间是对欧氏空间的一般化。内积空间和度量空间都在
2011-12-13 23:10:30 11359
转载 [多重纹理技术]
第二卷 更完美的3D世界 第十三集 多重纹理技术 RGB或Alpha的N次混合的美化名称 --- "多重纹理技术". 纹理可以理解为存放ARGB数据的特殊图片, 纹理的混合实质是上一集的Alpha-Blend更完美的应用. 当然, 纹理的混合更被重视, 所以DirectX Graphics中专门为它建立了高效的流水线,HRESULT IDirect3DDevice9::
2011-12-13 22:56:43 873
转载 12[红+绿+蓝+Alpha]
第十二集 红+绿+蓝+Alpha 红绿蓝组成了绚烂的颜色世界, 当红绿蓝遇到Alpha后, 这个颜色世界又多了一份神秘. 神秘的Alpha, 我们可以简单的认为它和红, 绿, 蓝一样, 是组成色彩的一种属性, 用来表示透明度. Directx Graphics中的色彩一般使用"RGB"格式表示, RGB格式有三种原色 --- red(红), green(绿), blue(蓝
2011-12-13 22:43:23 1763
转载 初识Direct3D
第一卷 朦胧的3D世界 第一集 初识Direct3D 简介我们通过2个例子来简单的认识3D 1.1 接口和数据结构 我们首先来看看我们以后用的比较多的接口,a. IDirect3D9b. IDirect3DDevice9c. IDirect3DVertexBuffer9d. IDirect3DIndexBuffer9e. IDirect3DS
2011-12-13 22:29:34 981
转载 SDK编程笔记 - DLL篇
SDK编程笔记 - DLL篇1. 动态链接之含义 在链接应用程序时常使用所谓“静态链接”的方法,即将各个目标文件(.obj)、运行时函数库(.lib)以及已编译的资源文件(.res)链接到一起,形成一个可执行文件(.exe)。使用静态链接时,可执行文件需要使用的各种函数和资源都已包含到文件中。这样做的缺点是对于多个程序都使用的相同函数和资源要重复链接到exe文件中,使程序变大、占用内存
2011-12-13 21:54:23 398
转载 SDK编程笔记-UNICODE篇
SDK编程笔记-UNICODE篇 [简单基础但重要] Petzold的Programming Windows的第2章非常详细的讲解了关于Unicode的方方面面。我们需要知道的是它给C语言和Windows编程带来的变化。·C语言相关 对应于char, C语言中也有宽字符内型wchar_t。wchar_t被定义为: typedef unsigned short wchar_
2011-12-13 21:47:17 263
转载 SDK编程笔记 — 计时器篇
SDK编程笔记 — 计时器篇两个计时器API的讨论 SetTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。 SetTimer的函数原型如下:UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lp
2011-12-13 21:35:59 365
原创 irrlicht引擎IrrlichtDevice 设备
文章里面有一部分内容出自:http://blog.csdn.net/n5/article/category/217089/2本篇讨论IrrlichtDevice,主要探讨以下几个问题:->irrlicht对设备做了哪些抽象->如何做到跨平台->win32设备的实现细节1)引擎的基石 - IrrlichtDeviceirrlicht 所指的设备是什么呢?探究Irrlich
2011-12-13 01:07:17 751
原创 irrlicht引擎的GUI系统(一)
很久以前研究第一款开源引擎irrlicht,至于irrlicht介绍网上英文资料很多,这里就不一一说明了,先来看看irrlicht的GUI系统类图,这样感觉比较简洁知道控件之间的关系.开发东西多了容易忘记,所以最近把很久以前东西写下来算是做个备忘录吧!开发东西多了,记性变差了.刚开始的研究的时候都是在http://irrlicht.sourceforge.net/forum/上面研究学习的,国内这
2011-12-11 17:31:52 1164
原创 常见GUI 框架
1:wxWidgetswxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供 GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix和MacOS。一个支持OS/2的 版本正在开发中。wxWidgets在最开始是由爱丁堡(Edinburgh)大学的人工智能应用学院开发的,主要是内部使用,而在1992年
2011-12-11 10:45:38 2366
转载 QT的信号与槽机制介绍(4)
七、应注意的问题信号与槽机制是比较灵活的,但有些局限性我们必须了解,这样在实际的使用过程中做到有的放矢,避免产生一些错误。下面就介绍一下这方面的情况。1.信号与槽的效率是非常高的,但是同真正的回调函数比较起来,由于增加了灵活性,因此在速度上还是有所损失,当然这种损失相对来说是比较小的,通过在一台i586-133的机器上测试是10微秒(运行Linux),可见这种机制所提供的简洁性、灵活性还是
2011-12-11 09:37:48 369
转载 QT的信号与槽机制介绍(2)
四、信号与槽的关联通过调用QObject对象的connect函数来将某个对象的信号与另外一个对象的槽函数相关联,这样当发射者发射信号时,接收者的槽函数将被调用。该函数的定义如下:bool QObject::connect ( const QObject * sender, const char * signal,const QObject * receiver, const char
2011-12-11 09:36:45 417
转载 QT的信号与槽机制介绍(3)
六、程序样例这里给出了一个简单的样例程序,程序中定义了三个信号、三个槽函数,然后将信号与槽进行了关联,每个槽函数只是简单的弹出一个对话框窗口。读者可以用kdevelop生成一个简单的QT应用程序,然后将下面的代码添加到相应的程序中去。信号和槽函数的声明一般位于头文件中,同时在类声明的开始位置必须加上Q_OBJECT语句,这条语句是不可缺少的,它将告诉编译器在编译之前必须先应用moc工具进行
2011-12-11 09:33:51 287
转载 QT的信号与槽机制介绍(1)
转http://www.lupaworld.com/tutorial-view-aid-10463.htmlQT是一个跨平台的C++ GUI应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前Linux上最为流行的KDE桌面环境就是建立在QT库的基础之上。QT支持下列平台:MS/WINDOWS-95、98、NT和2000;UNIX/X1
2011-12-11 09:25:07 309
原创 走进数学建模
数学建模简单来说就是运用数学知识来对提出的问题进行抽象建立数学模型,数学模型在我们现实的世界中可谓无所不在,小到易拉罐的宽高比设计,大到航天飞船设计控制系统工程. 数学建模是在20世纪60和70年代进入一些西方国家大学的,我国的几所大学也在80年代初将数学建模引入课堂。经过20多年的发展现在绝大多数本科院校和许多专科学校都开设了各种形式的数学建模课程和讲座,为培养学生利用数学方法分析、解决实际
2011-12-06 00:53:48 919
原创 一些好的书籍
基础级别的> 入门书籍太经典了,看了三四遍还回味无穷,第三版最经典.作为c++基础书籍推荐看一下.> 还不错,作为入门了解STL库一些常用的容器与数据结构用法.看了这本书以后对使用STL应该没问题了.> 对STL使用讲解比较详细.进阶j级别的 >对模板技术使用讲解比较详细,其实在<<C++ Primer>>也简单讲解模板技术,但没有这么透彻.如果你想对模板与泛型技术
2011-12-06 00:52:07 469
转载 游戏引擎剖析(十一)
第11部份: 最后的章节前端 你已经看到了菜单系统,你可能理解游戏内的头顶显示(HUDs)时常是游戏经历中被忽视和诽谤的部分。最近,这个领域开始被给人印象非常深刻的Black and White所关注,这款游戏实际上没有HUD。在Peter Molyneux经历了Dungeon Keeper以后,它在屏幕上大量的图标,他决定游戏的大部分被这些图标占用了,主要的屏幕没有被足够利用。
2011-12-05 12:25:40 358
转载 游戏引擎剖析(四)
第4部份: 模型与动画,细节级别角色建模与动画 你的角色模型在屏幕上看起来怎么样,怎样容易创建它们,纹理,以及动画对于现代游戏试图完成的`消除不可信`因素来说至关重要。角色模型系统逐渐变得复杂起来, 包括较高的多边形数量模型, 和让模型在屏幕上移动的更好方式。 如今你需要一个骨骼模型系统,有骨架和网格细节层次,单个顶点骨架的评估,骨架动画忽略,以及比赛中停留的角度忽略。
2011-12-05 12:25:21 459
转载 游戏引擎剖析(九)
第9部分: 现成产品与定做的游戏引擎设计工具,游戏特定主题现成产品与定做的设计工具 我们从第8部份的脚本引擎来到这一章节中的许多主题,我们认为那些铁杆游戏玩家和有志成为游戏开发者的那些人将会发现它们相当有趣。我们将开始讨论现成产品与定制的设计工具。 你的工具的选择是你引擎设计的一个非常重要的部份,因为这是你将用来给你的游戏产生内容的东西,是最耗时的部份。在这个过程中有助
2011-12-05 12:25:10 503
转载 游戏引擎剖析(八)
第8部份: 脚本系统脚本系统 我们从第七部分的游戏网络问题来到了脚本系统,因为其呈现的故事叙述机会,最近已经形成一种很大的游戏元素。在一个需要以受控制的方式解释的情景,预先编制的电影脚本是解决问题的方法。在电影中,这通常用来处理或者由主角向一个伙伴解释情形,或者敌人对英雄解释。当然,有其它的方法来做这件事情 -- 叙事者,倒叙,等等 – 但通常是使用实时情景的人们和事件来完成。当
2011-12-05 12:24:58 521
转载 游戏引擎剖析(七)
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com第7部份: 网络和连线游戏环境网络游戏 我记得一些年前坐在GDC(游戏开发者大会)听负责开发X-Wing Vs TIE Fighter的家伙们题为“淹没在Internet” 的演讲,全是关于让网络游戏实时地在Internet上工作的东西。他们选择那个题目是
2011-12-05 12:24:47 279
转载 游戏引擎剖析(六)
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com第6部分: 声音系统,音频APIs声音系统 由于人们玩的游戏在种类和技术上的进步,声音和音乐近几年来在游戏中正逐渐变得重要起来(声音是一个实际游戏的可玩特点,比如在Thief和其它同类游戏中的听觉提示)。现在四声道环绕系统在游戏玩家的宝库中是负担得起的和平
2011-12-05 12:24:37 492
原创 Subversion 快速入门教程
何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程。本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。 本教程分为以下几个部分,为了说明简单,教程是在w
2011-12-05 12:24:18 375
转载 游戏引擎剖析(五)
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com第5部分: 物理,运动,效果世界建造 常常在建立一个含有任何3D成分的游戏时,你最终要试图建立一个将会在里面产生游戏动作的3D环境。 不知怎么的游戏开发者提供了一个建立这种环境的方,它容易修改,有效率,有较低的多边形数量,对于游戏既容易渲染又容易运用物理学
2011-12-05 12:24:07 288
转载 游戏引擎剖析(三)
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com第3部份: 内存使用,特效和API关于内存使用的思考 让我们想一想,在今天实际上是如何使用3D 显卡内存的以及在将来又会如何使用。 如今绝大多数3D显卡处理32位像素颜色,8位红色, 8位蓝色,8 位绿色,和 8 位透明度。这些组合的红,蓝和绿256个色度
2011-12-05 12:23:57 287
转载 游戏引擎剖析(二)
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com第2部份: 3D环境的光照和纹理世界的灯光 在变换过程中, 通常是在称为观察空间的坐标空间中, 我们遇到了最重要的运算之一: 光照计算。 它是一种这样的事情, 当它工作时,你不关注它,但当它不工作时, 你就非常关注它了。有很多不同的光照方法,从简单的计算多
2011-12-05 12:23:44 309
转载 游戏引擎剖析(一)
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com第1部分: 游戏引擎介绍, 渲染和构造3D世界介绍 自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,
2011-12-05 12:23:32 528
原创 设计模式使用心得
纸上得来终觉浅,要知此事必躬行.四人帮写的设计模式确实不错,可是拜读一遍以后,仍然不会熟练使用.看书的时候好像都明白了,但在实际开发过程中还是不会灵活运用.缺少实践,光是理解书上demo例子还是不能完全掌握23种设计模式的精髓.刚接触设计模式那时是很久以前了,那时候可能是自己很少写过一个完整的框架,刚学习编程不久,书本的知识很重要,因为是前辈在实践中总结出来的,站在别人肩膀上.总比站在地上
2011-12-05 12:23:18 348
转载 游戏引擎中的通用编程技术(一)
http://dev.gameres.com/Program/Abstract/Design/PublicEngineDesign1.htm你是否正在考虑构建一个游戏引擎呢?你对如何构建一个游戏引擎是否已经有了一个明确的计划呢?你是否已经对如何组织游戏引擎各个模块之间的关系有了一个通盘的考虑?如果没有,那么本文将对你建立一个良好的游戏架构提出一些有益的方案,如果你已经对上面的问题有了一个明确的
2011-12-05 12:22:51 476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人