自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (7)
  • 收藏
  • 关注

转载 MFC疑难注解:CAsyncSocket及CSocket

摘自http://www.xhit.cn/html/program/csdn/20071104/131834.htmlMFC疑难注解:CAsyncSocket及CSocket MFC疑难注解:CAsyncSocket及CSocketfangle 2006-07-27MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使

2013-03-29 12:12:10 533

转载 网游创业失败全攻略

      经历太多次创业,发现创业实在太难,一开始我认为是我的运气稍微差了一点,每一次创业失败的原因都不尽相同,使我经历了各种各样的创业痛苦,不过后来看看我周围跟我一起创业的弟兄们,发现创业的人生就是如此。在此不乏调侃地写下网游创业失败全攻略给各位共享,各位有过创业失败经历的人可能会有“心有戚戚焉”的感觉,至今还没有经历过失败的朋友们,你们也可能也会产生类似的感觉,那就要小心了,希望你们能够引以

2011-06-08 11:07:00 810

转载 关于如何选好游戏3D引擎编程的一些经验

这篇文章是我一年半前,找工作时候写的,那时是发到学校的BBS上。现在我工作了,想法和以前也有不同,但对游戏引擎编程理念还是基本差不多。在我没遇到U3以前,一直研究WILDMAGIC,可以说是GAMEBRYO的前身吧,他们基本框架都差不多,是完全面向对象,代码容易读,但它发展存在严重的弊端,这个也是它为什么不是牛B引擎的原因。但从渲染和动画方面来看,U3的 MATERIAL TREE 和 ANIM

2011-06-07 14:55:00 1216 1

转载 3D编程的四个境界

第一阶段:初学者阶段。这个阶段主要是熟悉3D图形学的基本原理,和基本api的使用。特别是对于空间的变换,矩阵的原理要有非常清楚的认识。能够用简单的资源,做一个简单的demo,基本上就是达到了。这个阶段比较简单,基本上每个人都可以达到,学习方法也很简单,就是看书,看demo,写代码。时间周期大概1年。 第二阶段:进阶阶段过了第一个阶段,一般人会走两条路。一种人会选择直接学引擎,开发游戏。另一种人,

2011-06-07 14:34:00 628

转载 抽象类与接口的区别及应用

抽象类与接口的区别及应用1、 抽象类与接口是面向对象思想层面概念,不是程序设计语言层面概念 如若想正确认识抽象类与接口,首先要弄清楚的一点是,这两个概念均属于面向对象思想层面,而不属于某种程序设计语言。例如,C#中用interface关键字声明的语言元素,我们叫它“接口”,其实这是不准确的,准确来说,这应该叫做“接口在C#语言中的实现机制”。面向对象思想包含许多概念,而不同面向对象语言对这些概念的具体实现机制各有不同。例如,C++中并没有一种关键字对应于C#中的interface,那么C++

2011-05-16 17:04:00 790

转载 c++ 中__declspec 的用法

<br />__declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI规范,而__declspec是一种扩展属性的定义。扩展属性语法简化并标准化了C和C++语言关于Microsoft的扩展。用法:__declspec ( extended-decl-modifier )extended-decl-modifier参数如下,可同时出现,中间有空格隔开: align (C++) __decls

2011-05-16 15:58:00 708

转载 Skinned Mesh 原理解析和一个最简单的实现示例

<br />Skinned Mesh 原理解析和一个最简单的实现示例<br /><br />作者:n5<br /><br />Email: happyfirecn@yahoo.com.cn<br /><br />Blog: http://blog.csdn.net/n5<br /><br />2008-10 月<br /><br /><br />Histroy:<br /><br />Version:1.02 Date:2010-1-1<br /><br /> 修改了一些错误(用删除线标出 ),

2011-05-11 18:08:00 586

转载 关于骨骼动画及微软示例Skinned Mesh的解析(二)

<br />3.3 分析CAllocateHierarchy类<br />下面继续研究自定义数据容器CAllocateHierarchy,顾名思义,该类是在加载过程中自行分配层次数据空间。它有4个成员,都是重载D3D的接口虚函数。<br />它的成员CreateFrame()是用来创建D3DXFrame对象的,而CreateMeshContainer()是用来创建Mesh数据对象的。你可以在这两个函数中下断点,发现CreateFrame会运行多次,而CreateMeshContainer只运行一次,再次验证

2011-05-11 18:06:00 979

转载 关于骨骼动画及微软示例Skinned Mesh的解析(一)

<br />骨骼动画是D3D的一个重要应用。尽管微软DXSDK提供了示例Skinned Mesh,但由于涉及众多概念和技术细节,示例相对于初学者非常复杂,难以看懂。在此,提供一些重要问题评论,以使初学者走出迷局,顺利上手。文中所述都是参照各种资料加上自己的理解,也有可能出些偏差,有则回贴拍砖,无则权当一笑。<br /><br /><br />一 骨骼动画原理<br />原理方面在网上资料比较多,大家都基本明白。在此说一下重点:<br />总体上,绝大部分动画实现原理一致,就是“提供一种机制,描述各顶点位置随

2011-05-11 18:04:00 853

转载 memset函数详细讲解

<br />void *memset(void *s,int c,size_t n) <br />总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。<br /><br />例子 :<br />main(){ <br /> char *s="Golden Global View"; <br /><br /> clrscr(); //clear screen<br /><br /> memset(s,'G',6); <br /> printf("%s",s); <br /><br

2011-05-10 14:31:00 454

转载 骨骼运动变换的数学计算过程详解

1. 骨骼静止状态(参考姿势)下的节点坐标转换以上图为例子,图中有三个彼此嵌套的坐标系:子骨骼坐标系、父骨骼坐标系和世界坐标系。首先,我们不考虑骨骼的运动,设Vc为顶点V在子骨骼本地坐标系中的位置,那么在各骨骼静止的情况下:从子骨骼坐标转换到父骨骼坐标:Vp=Vc*ML->P从父骨骼坐标转换到世界坐标:Vw=Vp*MP->W因此,从子骨骼坐标直接转换到世界坐标的过程为:Vw=Vc*MC->P*MP->W其中,Vc可以表示为一个行向量:Vc=(xc, yc, zc, 1);而MC->P、MP->W是两个平移阵

2011-05-09 14:10:00 1526

转载 骨骼动画原理

关于骨骼动画及微软示例Skinned Mesh的解析骨骼动画是D3D的一个重要应用。尽管微软DXSDK提供了示例Skinned Mesh,但由于涉及众多概念和技术细节,示例相对于初学者非常复杂,难以看懂。在此,提供一些重要问题评论,以使初学者走出迷局,顺利上手。文中所述都是参照各种资料加上自己的理解,也有可能出些偏差,有则回贴拍砖,无则权当一笑。   一 骨骼动画原理原理方面在网上资料比较多,大家都基本明白。在此说一下重点:总体上,绝大部分动画实现原理一致,就是“提供一种机制,描述各顶点位置随时间的

2011-05-06 15:10:00 3401

转载 Parallax Occlusion Mapping

<br />Parallax occlusion Mapping 视差贴图 <br /><br />视差贴图技术我们其实应该称之为视差遮蔽贴图技术,因为在这一技术中,会对纹理的坐标做变换,一些凸出的纹理会遮蔽到其他的纹理,这样就会看起来具备更好的凹凸的感觉了。视差贴图技术的实现原理,其实和法线贴图是一样的,都是根据法线贴图进行的处理。视差贴图比法线贴图提供更好的视觉效果,而且跟法线贴图有同一个目的:在保证模型细节的情况下,大幅度降低场景的多边形数目<br />Parallax occlusion Mappi

2011-04-29 12:12:00 2410

转载 函数指针

<br />函数指针,顾名思义,它指向一个函数的入口地址,其定义及使用如下: <br />定义:returntype (*ptr) (typename variable,......) <br /> 返回类型 指针名称 指向函数的参数表。 <br />你不能这样: returntype *ptr (typename variable,......) 这样会被理解为

2011-04-25 17:29:00 392

转载 memset

<br />void *memset(void *s,int c,size_t n) <br />总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。<br /><br />例子 :<br />main(){ <br /> char *s="Golden Global View"; <br /><br /> clrscr(); //clear screen<br /><br /> memset(s,'G',6); <br /> printf("%s",s); <br /><br

2011-03-30 11:34:00 398

原创 改变D3D中的渲染状态

<br />1). 设置着色模式:                                                         <br />SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT) //设置平面着色模式<br />SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD) //设置格劳德着色模式<br />2). 设置多边形填充模式:<br />SetRenderState(D3DRS_FILLM

2011-03-11 15:38:00 586

转载 Direct3DX

<br />DirectX 7 <br /><br />1. <br /><br />DirectX 8 <br /><br /><br /><br />DirectX 9 <br /><br /><br /><br />DirectX 9 Ex <br /><br /><br /><br />DirectX 10 <br />DirectX 7.0 <br /><br />新增的内容: <br /><br />一、 Direct3D 立即模式 API 增加了新特性,包括 : 设备状态块, 几何混合,立方体

2011-03-07 13:59:00 2315

原创 static_cast、dynamic_cast、reinterpret_cast、和const_cast

<br />static_cast、dynamic_cast、reinterpret_cast、和const_cast<br />关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行

2011-03-04 15:30:00 302

原创 ogre渲染流程

<br />ogre的主要渲染流程 <br /><br /><br /> 很早以前就想写一些关于OGRE的文章了,一直没机会。 <br />理解一个渲染引擎,我觉得最重要的是先抓住了它的主架构,它的主线,渲染流程,不然的话,一个引擎几万行,甚至几十万行的代码,光是打开solution就能吓你一跳了,OGRE也有十几万行的代码量,我一开始看它的时候也是无从下手,感觉代码太多了,不知道从哪开始看好,这个class看看,那个class看看,由于对整个引擎没有一个清晰的认识,看过了也印象不深,所以,最

2011-03-04 14:27:00 552

转载 ogre工具集

<br />Ogre 3d 工具集<br /><br />ogre仅仅是个3dt图形渲染引擎,要做3d游戏,还需要的东西很多,比如物理,音效,网络(本教程内将不涉及) ,界面以及输入(这里咱们用ogre自带的cegui和ois),以及AI,呵呵,总之一个游戏包含的东西太多,咱们这里仅仅是入门教程,所以一一切从简,但是都会设计到一点哈!对了,还有个很重要的要点,开发游戏前,先要开发辅助工具,比如模型查看器,建模工具了,场景编辑器了,界面编辑等等一系列的工具,这样才会使我们的游戏事半功倍!恩,开始了!<br /

2011-03-04 10:37:00 1238

原创 STL之map

<br />关于map的简单应用需要注意一下几个方面: <br />1、包含头文件:#include <map><br />2、声明形式:<br /> map<type1,type2> m;其中type可以是任何数据类型,包括自己写的结构体、类等等,当然也可以是string 类。<br />3、数据的插入:<br /> 1)用insert插入pair型数据:m.insert(pair<type1,type2>(element1,element2));<br /> 2)用insert插入va

2011-03-03 15:58:00 455

原创 STL之vector

列举一些关于vector的常识: 1)包含头文件#include 2)如果预先给vector分配空间,很简单: vector v(10); 当然也可以: vector v; v.reserve(10);3)遍历vector: vector v; typedef vector::iterator vitr; vitr end=v.end(); vitr itr; for(itr=v.begin();itr!=end;itr++) { printf("…

2011-03-03 15:51:00 424

MFC 连接数据库

MFC开发的软件能够连接数据库,对Ado进行了封装,很好用,值得学习

2013-05-15

MFC 嵌入百度谷歌搜索源码

MFC对话框中嵌入百度谷歌搜索功能,亲自测试,能运行,源码值得学习

2013-05-15

武侠2源码分析

武侠2源码分析,分析的很透彻,希望对你的学习有所帮助

2012-03-27

Direct3DX学习资料

很好的Direct3D学习资料,值得下载,值得学习。对想要学习游戏开发,学习Direct3D的朋友们都是很好的资料

2011-03-03

软件基础(PPT版)

一个非常好的软件基础PPT,帮助初学者学习

2009-05-05

Direct3D游戏开发随机地形

Direct3D游戏开发中,地形的实现,在这提供一个简单的随机地形供大家分享

2009-05-03

Direct3D游戏开发粒子系统喷泉源代码

在Direct3D游戏开发中,粒子系统实现喷泉效果,源代码

2009-05-02

空空如也

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

TA关注的人

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