自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

把握自己。

专注linux、english

  • 博客(102)
  • 资源 (7)
  • 收藏
  • 关注

原创 MFC常见问题解惑

MFC类的分类1 Root: CObject :  CObject2 Application Architecture Classes: CWinApp/CFrameWnd/...3 Window, Dialog, and Control Classes:CWnd/CDialog/...4 Drawing and Printing Classes : CGdiObject/

2011-11-01 10:31:45 3792

原创 正交矩阵

正交矩阵是实数特殊化的酉矩阵,因此总是正规矩阵。尽管我们在这里只考虑实数矩阵,这个定义可用于其元素来自任何域的矩阵。正交矩阵毕竟是从内积自然引出的,对于复数的矩阵这导致了归一要求。定义  定义 1  如果:AA'=E(E为单位矩阵,A'表示“矩阵A的转置矩阵”。)或A′A=E,则n阶实矩阵 A称为正交矩阵, 若A为正交阵,则满足以下条件:  1) A 是

2011-11-30 23:29:55 10758

原创 Windows消息大全

消息映射宏的种类:为了简化程序员的工作,MFC定义了一系列的消息映射宏和像AfxSig_vv这样的枚举变量,以及标准消息处理函数,并且具体地实现这些函数。这里主要讨论消息映射宏,常用的分为以下几类。 1. 用于Windows消息的宏,前缀为“ON_WM_”。这样的宏不带参数,因为它对应的消息和消息处理函数的函数原型是确定的。MFC提供了这类消息处理函数的定义和缺省实现。每个这样

2011-11-30 11:11:48 4146

原创 返回vector对象与引用的区别

struct tagItem{int a;int b;}//假如在A类中定义成员:vector m_vecItem;vector A::f(){return m_vecItem;//tagItem需要定义拷贝构造函数,否则m_vecItem即使在别处push_back了,每一个元素的a,b成员不会拷贝过去而保持初值(0之类的值)}vector& A::f(){retur

2011-11-29 21:20:19 7180

原创 二分图的最佳匹配(KM 算法)

KM算法求最小权二分匹配,模板题,构图很简单,直接把人当作左边的点,房子当作右边的点,两者之间的曼哈顿距离当作权值即可。第一次搞带权二分匹配的题,就是用KM算法求最小权的时候要加个处,由于KM求的是最大权,所以在套模板之前把权值都取下相反值最后再把KM算法求出来的最大权值取反即可。Kuhn-Munkras算法流程:  (1)初始化可行顶标的值  (2)用匈牙利算法寻找完

2011-11-29 10:44:06 9424

原创 凹凸映射(Bump Map)实现原理

我翻译这篇教程的目的是为了帮助那些对图形渲染技术有兴趣却又苦于找不到免费中文学习资料的人。在我的身边没有任何一位从事计算机专业的前辈,从刚学会 WINDOWS的基本操作到现在,我的计算机技术完全都是一步步自学过来的,算算学编程的历史也近5年时间了。我往往要花一半以上的学习时间用来查学习资料(记得我学GIF图像压缩解压算法时,用了近2个星期时间才编出了显示GIF图片的程序,主要原因就是资料不够,只看

2011-11-28 11:27:11 1978

原创 FSAA 简介

FSAA 是 full scene anti-alias 的缩写,有些人将其译为全景反锯齿,还算是合理。不过,倒底 FSAA 是什么呢?为什么要「全景」(full scene)?「半景」不行吗?(其实相对于 FSAA 的是 edge AA,「边缘反锯齿」)反锯齿(anti-alias)又是怎么回事呢?文档内容:[Part 1]要弄清楚什么是 FSAA,就得先从 AA(ant

2011-11-28 11:26:18 1440

原创 D3D中公告板的使用示例

D3D中公告板的使用示例点击下载源码和素材 公告板(billboard)是一种允许在2D对象出现在3D中的很酷的技术。举例来说,一个复杂的对象,诸如一棵树,在一个建模程序中,可以从侧视图(side view)进行渲染,然后在一个矩阵的多边形上进行绘制。这个矩形的多边形通常朝向观察点,因此不论从多边形的哪个角度进行观察,树纹理都好像是从渲染一侧被观察到。如下所示,不管从哪

2011-11-28 11:08:26 2800

原创 第三章渲染2D精灵

(译者语录: 原文里面使用CreateOffscreenPlainSurface生成一个离屏的页面, 然后用loadSurface载入我们需要的2D图片, 然后再将其贴到离屏页面上去的. 但是这种方法有一个缺点, 就是不支持关键色的选取, 还有就是不支持alpha通道. 所以我不打算在这里介绍原书里面的方法去渲染2D图片, 而是改用D3DXSprite来完成我们的工作.)使用DirectX9来

2011-11-28 10:42:15 2199

原创 引擎雏形

就像修房子一样,别管你用多贵的砖头,它只是一块砖头而已,并不是你想要的房子。砖头可以在开发的时候随时换,但是结构一旦定下来,就不好修改了。那么一个基本,却又efficient的结构究竟是什么样的呢?很简单。所有你所需要的就是引擎,有限状态机和内存池。这三个东西一点都不复杂,你可以从头开始写:首先是你的引擎类,需要些什么呢?class CEngine {public:

2011-11-28 10:37:24 1347

原创 一种2D游戏引擎的设计与实现

摘 要 对现有游戏引擎开发技术进行改进,提出了一种有效的2D游戏引擎设计与实现方法,该方法以引擎架构为基础,以累积渲染技术作为主要渲染加速手段;结合精灵与动画技术进行具体实现,达到游戏引擎设计的目的。最后通过该方法实现了一个2D游戏引擎,并用实验验证了该方法的有效性。  1、引言  2D游戏开发是游戏开发领域中一个不可或缺的重要分支,绝大多数休闲游戏与动漫游戏都是使用2D游戏技术开

2011-11-28 10:36:34 6339 1

原创 在DirectX 8 中进行2D渲染

Background背景I have been reading alot of questions lately related to DirectX 8 and the exclusion of DirectDraw from the new API. Many people have fallen back to DX7. I can understand people usi

2011-11-28 10:33:34 1868

原创 VS05 VS08 VS10 工程之间的转换

安装了VS2010后,用它打开以前的VS2005项目或VS2008项目,都会被强制转换为VS2010的项目,给没有装VS2010的电脑带来不能打开高版本项目的麻烦。用记事本打开解决方案文件(.sln):开头的两行VS2010Microsoft Visual Studio Solution File, Format Version 11.00# Visual St

2011-11-28 09:50:16 3618 2

原创 齐次坐标的理解

一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”—— F.S. Hi

2011-11-26 23:18:44 2117 1

原创 3D数学知识简介

前言(Preface)前段时间有些朋友在论坛里问到一些关于3D数学的知识,就想为大家写点这方面的文章。由于之前比较忙,又遇到过春节,所以最近才着笔写了这篇文章,希望大家喜欢。这些内容主要是一些理论知识,看上去难免有些枯燥,之后的文章我会加入一些实例进行讲解的。如果内容存在错误和不全,就请你来更正和添加了。 三维坐标系(3D Coordinate System)三

2011-11-26 23:09:59 2609

原创 CListCtrl自绘

一:custom draw自行绘制 ClistCtrl 的列表项,可以利用列表框的 NM_CUSTOMDRAW 消息,该消息由控件向它的父窗口发送,告诉父窗口它的绘图操作。    如果绘图操作不需要父窗口参与,可以使用该控件的 ON_NOTIFY_REFLECT 宏处理它的 NM_CUSTOMDRAW 消息。    它的处理函数的参数中包含 NMHDR,在 CUSTOMDR

2011-11-26 16:47:08 4866

原创 MFC经验

MFC框架各部分指针获取方式:  记住,是获取指针 MFC消息流程图:string CString char* 的互相转换:       string 转 CString    CString.Format("%s", string.c_str());  //用c_str()比data()好    char 转 CString

2011-11-24 19:08:10 2809

原创 子类化

子类化  如果你曾经在 Windows 环境下编过程序,有时候就会发现:有一个现成的窗口,几乎有你所需要的全部功能,但还不完全一样。如果你需要一个具有过滤特殊字符功能的 Edit 控件。当然最直接的方法就是自己用代码来实现,但这的确是一个费时又很困难的任务,而子类化就可以用来做这种事情。  子类化允许你接管被子类化的窗口,使你对它有绝对的控制权。举个例子了来阐明一下:例如你需要

2011-11-24 18:50:19 2613

原创 CListCtrl使用详解

1。先来介绍REPORT类型的CListCtrl: 首先使用下面的语句设置CListCtrl的style:   DWORD   SetExtendedStyle(   DWORD   dwNewStyle   ); 其中   LVS_EX_CHECKBOXES   表示添加CheckBox   LVS_EX_FULLROWSELECT   表示选择整行   LVS_EX_G

2011-11-24 18:48:21 4790 1

原创 常用字符串编码转换的函数

#include windows.h>#include string>/// @brief ascii和unicode之间的编码转换 size_t ascii_to_unicode(const char* src, wchar_t* dest, size_t dest_len, size_t src_len = 0){ if(src_len == 0) src_l

2011-11-22 16:40:49 1749

原创 DXUT 框架函数介绍 学习开发游戏UI

友情提醒:所谓的框架是指SDK目录下/Samples/C++/Common路径下的DXUT系列函数包装。学习框架的前提是必须有足够的Windows API,GUI编程经验,必须熟悉Windows的消息机制,回调机制,最好有万行左右的C/C++编程经验。MFC在这里没有任何用处。另外我觉得最好在看程序之前对于D3D的所有概念有点了解,什么是vertex,texture,matrix,lighting

2011-11-22 16:22:35 1867

原创 游戏场景管理设计

前言如之前博客中所说,最近一直忙于业余游戏开发项目中。我一直是个比较懒散的家伙,可这次猫窝的管理员(我们组唯一一名策划)却不愿意让我闲着,几乎每日都会QQ联系,再三叮咛询问我项目的事情。突然有些日本某些连载漫画作家被杂志社催稿的味道了。不过,拖他的福,项目进展比我预料的迅速。虽然被我狠心砍掉了一大模块下去,仍然比我原计划快出很多,感谢他。希望项目快点出来吧。因为我们做的是2D的SLG(

2011-11-22 16:16:37 2953

原创 OGRE中的四元数与旋转

想象一个物体在3D空间中移动的过程,该物体必然会涉及到旋转。例如一个怪物,他的运动方向会改变,要改变其方向只需要对其进行旋转即可。旋转的方式大致分为三种:Euler旋转,矩阵旋转,以及四元数旋转。这里稍微记录下我目前对于四元数旋转的理解。对于四元数方面的数学,以及其原理,这里不关心,只需要学会如何使用即可。无论是哪一种旋转,物体与该物体的局部坐标系之间的相对位置,相对方位都

2011-11-22 16:15:13 1455

原创 CxImage类库使用说明

一。CxImage类库简介这只是翻译了CxImage开源项目主页上的部分简介及简单使用。CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许

2011-11-22 15:39:46 1561

原创 Direct3D通用技术与特殊效果

原文见http://dev.gameres.com/Program/Visual/3D/d3dimhlp/d3dindex.htmDirect3D提供了一套强有力的工具来帮助我们提高三维场景的逼真度。下面我们将讨论一些Direct3D产生的通用的特殊效果。但是,可能出现的效果并不只限于这里所讨论的内容。下面我们分成几个主要的部分:1. 雾化(Fog)2. 公告板技术(Bil

2011-11-22 14:34:29 2992

原创 MFC的socket

微软的MFC把复杂的WinSock API函数封装到类里,这使得编写网络应用程序更容易。CAsyncSocket类逐个封装了WinSock API,为高级网络程序员 提供了更加有力而灵活的方法。这个类基于程序员了解网络通讯的假设,目的是为了在MFC中使用WinSock,程序员有责任处理诸如阻塞、字节顺序和在Unicode与MBCS 间转换字符的任务。为了给程序员提供更方便的接口以自动处理这些任务,

2011-11-21 14:27:53 11985 1

原创 3D Engine 的设计架构

Introduction (简介)让咱们谈谈你如何撰写一份提供优雅性能的3D引擎。你的引擎需要提供的包括:曲面(curved surfaces)、动态光线(dynamic lighting)、体雾(volumetric fog)、镜面(mirrors)、入口(portals)、天空体(skyboxes)、节点阴影(vertex shaders)、粒子系统(particle systems)

2011-11-21 10:31:55 2817 1

原创 这个世界上有三种几何学

一、  泰勒斯——推理几何学的鼻祖几何学四千年前发源于古埃及,当时主要是人对自然界的有意识的改造与创新(发明车轮,建筑房屋、桥梁、粮仓,测量长度,确定距离,估计面积与体积等)而出现的实验几何学。公元前七世纪, “希腊七贤”之一的泰勒斯到埃及经商,掌握了埃及几何学,传回希腊。那时,希腊社会安定,经济繁荣,人类对仅仅知道“如何”之类的问题已不满足,他们还要穷究“为何”。于是演绎推理方法应运而生,以

2011-11-21 10:02:08 5589

原创 构建地形系统

地形系统是一块薄片,我们在这块薄片上面调制我们关卡的美味大餐。嘿!那是粗俗的味道还是其它什么味道(来,品尝一下?是美食?还是平常菜?)不管是否是平常口味,那是确实的。如果你关卡中的任何部分发生在户外,那么你就需要地形系统了。而槽糕的地形系统将会是论涂一通并且玩家也会有不厚道的评论(还是尽量让他们温和一点吧)。所以如果你希望把地形系统做得出色的话,那么你就需要在它的里面做很多的努力了。实际上

2011-11-21 09:55:35 3645

原创 Direct3D的程序结构

DirectX SDK提供的例程均使用Win32编程模式。在此模式下,用户需要自己编写(或管理)WinMain主函数,并负责创建主窗口。下面是WinMain的程序结构:... ...//创建主窗口,也就是Direct3D窗口HWND hWnd = CreateWindow(... ...//初始化Direct3DInitD3D();//建模InitGeometry(

2011-11-20 12:58:48 1244

原创 ATL编程初级教程

介绍  本教程的目的是告诉你如何使用ATL创建一个COM服务器,并使用Visual C++和Visual Basic程序来分别调用这个服务器。我并不想深入探讨COM的细节,也不想让你深陷于IDL之中。这一教程只是为VC++的新手程序员设计的,告诉他们利用ATL来创建一个COM对象有多么简单,并让他们能对ATL产生更多的兴趣。第1步:启动ATL COM Wizard  你所需要做

2011-11-19 12:30:19 2438

原创 WTL体系结构

绪论 WTL最终来了,而且提供了我所希望的功能.我在WTL Bytesize(译文)的文章列出WTL主要特征.在本文中,我将描述一下WTL的体系结构,同时我会给出一些简单的例子来演示如何使用它的那些特征.希望能够对您有所帮助. WTL应用程序的类型     WTL有好几种应用程序类型,供您在AppWizard选取.    下表对这些应用程序进行了描述

2011-11-19 12:28:46 1779

原创 ATL学习笔记(4): COM接口映射表

CComObjectRootObjectBase中以表驱动的方式对接口的查询作了一个内部的实现,即InternalQueryInterface()。所以在创建基于ATL的COM类时,需要创建一个包含所有实现接口的映射表。1. BEGIN_COM_MAP、END_COM_MAP、COM_INTERFACE_ENTRY与COM_INTERFACE_ENTRY2宏ATL提供了

2011-11-19 12:26:34 2009

原创 静态库Lib和动态库Dll

1.概论 1.什么是静态连接库,什么是动态链接库         静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接

2011-11-19 12:24:05 4677 3

原创 智能指针CComPtr 和 CComQIPtr

1 简介ATL 提供了2个智能指针的模板包装类,CComPtr和 CComQIPtr,这两个类都在  中声明。CComQIPtr包含了 CComPtr的所有功能,因此我们可以完全用 CComQIPtr来使用智能接口指针,唯一要说明的一点就是:CComQIPtr由于使用了运算符的重载功能,它会自动帮我们调用QueryInterface()函数,因此 CComQIPtr唯一的缺点就是不能定义

2011-11-19 12:22:45 2317

原创 IDL详解

Question:什么是IDL和MIDL? Answer:IDL是接口定义语言。MIDL是Microsoft的IDL编译器。 在用IDL对接口和组件进行了描述后,可以用MIDL进行编译,生成相应的代理和存根DLL的C代码。 一个例子:import “unknown.idl” ///用于将其他IDL文件中的定义包含到当前

2011-11-19 12:21:00 11017

原创 VC6编译 Quake3 游戏

Quake3游戏,这些源代码相当精髓,越是低层的函数,越令人叹为观止,效率是如此之高,函数如此之简洁,能读一下,对我们的编程能力相当有帮助.然而我只是初步浏览了一下,还有许多不明白的地方,诸如平台共享性,Quake3"游戏引擎"的更多精髓之处,资源文件的怎样编辑,怎样令CPU始终分配有续而不出现卡屏.      现在Quake3的游戏源代码已经全部开放,对于这个时代的"Quake迷"来

2011-11-19 12:19:42 2030

原创 Google Chrome 源码下载

Goolgle 于 2008.09.02 发布了浏览器 Google Chrome。Google Chrome 使用的内核源码来自开源浏览器引擎 WebKit Open Source Project。Google Chrome 的源码,同样亦是开源的。在 Google 的中文官方 Blog - Google 黑板报中,提到:QUOTE: 我们对很多开发开源项目的人心存感激,我们承诺会沿

2011-11-19 12:10:36 5554

原创 SVN,CVS,VSS工作机制比较, SVN安装及配置

调试了几天,感觉SVN要简单得很,前几天搞CVS一直有问题,很是郁闷,所有改用SVN了SVN又有两种方式,svnserve服务方式和apache方式,如果用svnserve方式的话推荐直接用Setup-Subversion-1.6.13.msi(目前最新版)哪果用apache方式的话 推荐用VisualSVN-Server-2.1.5.msi(目前最新版)  ,比较用Sub

2011-11-19 12:06:44 2450

原创 Visual Assist X设置

Visual Assist X的用法2009-04-07 18:02 Visual Assist X的用法open file in solution 打开文件中的解决办法open Corresponding file 打开相应文件list methods in current file 列表方法在当前文件file symbol 文件标记f

2011-11-19 12:03:54 12277 2

网络游戏客户端编程 随书code 全

vs2008编译, 方便下载, 是学习网络游戏编程的好的代码

2012-01-07

C++ BOOST 库中文指南

官方文档中文翻译版,亲手制作,绝对珍藏。

2010-12-22

\超级好的ogre的教程

Pro OGRE 3D Programming 中文翻译版本0.2.0

2009-11-12

数据结构实验课的全部源程序

全部程序都有顺序和链式存储两种,有线性表操作,栈队列的应用,稀疏矩阵的存储和转置,二叉树的实现和运算,线索二叉树的实现和运算,哈夫曼树的实现和运算,图的实现和运算,最小生成树,最短路径,拓扑排序,各种查找算法,各种排序算法,哈希表查找的实现和运算,下吧,疯狂的下吧,太好的资源了

2009-08-31

effective c++

c++经典著作effective c++,描述了c++在实际运用中应该遵循的一般性准则50条。

2009-08-27

清华大学c语言PPT

最全的JDK1.5帮助文档,支持类和方法的搜索。

2009-07-24

空空如也

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

TA关注的人

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