自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(981)
  • 收藏
  • 关注

转载 c++中ifstream一次读取整个文件

c++中一次读取整个文件的内容的方法:读取至char*的情况std::ifstream t; int length; t.open("file.txt"); // open input file t.seekg(0, std::ios::end); // go to the end length = t.tellg(); ...

2019-10-09 09:07:48 933

转载 转--Linux和Windows创建进程速度比较

编辑器加载中...《Unix编程艺术》倡导多进程架构,书中认为“相对独立地址空间的轻量级进程,线程是个糟糕的替代;线程是那些进程生成昂贵、IPC功能薄弱的操作系统的概念”;“基于线程的程序不仅产生普通的竞争问题,而且产生了新一类bug:时序依赖。”。确实Unix对线程确实不怎么看重,属于Unix文化范畴的Nginx、Python和Chrome都采取多进程的策略。Nginx默认情况下使用多...

2019-10-06 13:03:09 814

转载 MFC的CDialogBar和Rollup Control

1.首先,创建对话框资源:在对话框资源编辑器内生成一个Dialog资源,并将其风格(Style)属性必须设置为Child,不能设置为Overlapped或Popup,否则运行肯定出错;至于边界属性则随用户自己喜欢,一般都是选择None。其余属性也随用户选择,一般没有特殊要求还是选择默认的好。2.CMainFrame的头文件里添加CDialogBar m_wndDlgBar;3....

2019-10-06 13:03:09 405

转载 strnicmp

原型:extern int strnicmp(char *s1,char * s2,int n); 用法:#include <string.h> 功能:比较字符串s1和s2的前n个字符但不区分大小写。 说明:strncmpi是到strnicmp的宏定义 当s1<s2时,返回值<0 ...

2019-10-06 13:03:08 419

转载 转--刚研究3D基本概念容易搞混的几个问题

1.Viewport和Frustum有什么区别?2.Viewport和Frustum的NearClipPl?ane有什么区别?3.Vertex,Point,Vector有什么含义上的区别?Plane,Face和Mesh呢?4.为什么顶点会有W分量,它怎么算出来的?干什么用的?5.在一次完整的顶点渲染管线中,最多会出现多少种坐标系?(例如世界坐标系)6.上面的每个坐标系的实际意义是什么?...

2019-10-06 13:03:08 229

转载 转-网游后端平台化的技术构想

参与过国内几款网游的后端研发工作,有mmo,也有web,有感于目前大大小小的游戏公司的开发现状:重复从头开发,项目与项目缺乏共用性,直接导致项目周期变长,成本增加,风险也随之上升。为什么不把共用的部分框架化,平台化呢? 有点类似于前端的引擎一样。沿着这个思路,我们来统计一下后端有哪些部分是可以平台化的?1. I/O 网络I/O,磁盘I/O,完全可以做到对上层游戏逻辑透明,不需要关心协议,...

2019-10-06 13:03:06 149

转载 转-渲染状态管理

渲染状态管理(Rendering States Management) 目 录  1 基本思想  2 实际问题  3 渲染脚本--------------------------------------------------------------------------------  提高3D图形程序的性能是个很大的课题。图形程序的优化大致可以分成两大任务,一...

2019-10-06 13:03:06 156

转载 MAX SDK的INode的变换矩阵,以及Object的一些常识

http://blog.csdn.net/Nhsoft/article/details/241629MAXSDK中,INode是很重要的一个部分。几乎所有的东西都需要通过INode来访问:MeshCamera等.下面我来简单的介绍一下和INode相关的各种不同的TM.(TransformationMatrix).仅仅代表我近日阅读MAXSDK的一些理解.希望高手指教.新手讨...

2019-10-06 13:03:04 92

转载 利用3dsmaxPluginWizard自动生成plugin工程

参考野猪写的《游戏程序中的骨骼插件》这篇文章的做法利用3dsmaxPluginWizard自动生成plugin工程。安装3dmax9.0及其SDK。由于野猪文章中写的是用的VS2005作为编译器,而且用的VS2008即VC9.0来生成工程,中间出了点问题,需要解决:////////////////////////////////////////////////////////...

2019-10-06 13:03:04 146

转载 3D Max一些基本认识

当前位置: 火魔网 » 媒体动画 » 3DMAX3D Max一些基本认识从去年开始到现在用3dmax也快一年了,画图、建模、写插件,用的非常多,但一直却没时间(或者说懒于)整理,昨天正好写完了骨骼动画的插件,趁热打铁整理了一下3DMAX的场景组织和几何管道的方式,以下是潘李亮大师关于场景组织和几何管道的讲解。(1) MAX的整个场景是一个树状结构,树的节点用INo...

2019-10-06 13:03:03 389

转载 野猪写的《游戏程序中的骨骼插件》

我在《程序员》2008年2月刊上看到的(上),一搜果然搜到了。好文共分享!游戏程序中的骨骼插件(上)文/潘李亮引言  在3D引擎中,骨骼动画系统是非常重要的一个组成部分,虽然在一个游戏的真正开发过程中,一个优秀的游戏引擎也许不需要用户去关心它的骨骼动画系统是如何实现的,但是还是有很多人希望了解这样的一个技术。本文将会介绍骨骼动画系统里的一个基础部件:3Ds MAX 的骨骼动画导出插件。...

2019-10-06 13:03:03 162

转载 游戏程序员养成计划

首先你要精通一门高级语言,比如C++或者C#,其次,要有良好的英文阅读能力。对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的,不要总等着别人为你翻译。慢慢尝试着阅读英文资料,你会发现其实也并没有那么难:) 刚开始,你要做的就是选择一门图形API,一般就是DirectX或者OpenGL之间选一个。如果考虑到跨平台,...

2019-10-06 13:03:01 120

转载 C++游戏开发需要阅读的书籍

如果要自学游戏程序开发的话,可以看看下面的,呵呵。游戏开发资料(PDF书都是中文版的,非英文,很多是本人自己扫描制作,从未网上发布过,所以独家啦):1、Gamebryo 2.2游戏引擎(盛大、腾讯等公司制作网络游戏常用)+Gamebryo v2.2.1说明文档2、游戏PDF书及其代码:3D游戏编程、3D游戏编程大师技巧、Direct3D游戏编程入门教程第2版、Direct...

2019-10-06 13:03:01 526

转载 策略(Strategy)模式

策略(Strategy)模式,是比较简单的一种设计模式,但它的应用却随处可见。下面模拟游戏中常用的打斗场面,来理解策略模式。在游戏中,通常有n个角色,每个角色都能发出动作:fight。每个角色都使用不同的武器,并且可以更换武器。下面是此场景简化的C++实现:Strategy.h#ifndef_STRETEGY_H_#define_STRETEGY_H_//定义武器接口cl...

2019-10-06 13:02:59 161

转载 Android 总结 -- 转载

我的一个月android开发经历http://topic.csdn.net/u/20120117/14/0b69b4ed-963c-4c2a-bde0-ee6099201663.html到年终了,看很多人都在总结,那么,我也总结一下我的一个月android开发经历吧!我个人08年大学毕业,学的印刷专业,毕业后培训了半年的php,一直在成都做php到现在!!话说10月份的时候,公司...

2019-10-06 13:02:59 247

转载 常用工具

系统必备软件篇http://blog.csdn.net/liquanhai/article/details/72031551. 个人日记:ediary一个维护了10几年的软件,虽然历经了论坛博客微博时代,但是它仍旧存在着。存在的就是合理的,何况他已经变得那么好用了。2. 个人日历:Google日历,个人的记事本,日程表。暂时还没有可以超越它的3. 网络笔记:wiz,麦...

2019-10-06 13:02:57 188

转载 ACE的Double-checked-locking的Singleton

1 class Singleton 2 { 3 private: 4 static Singleton* volatile instance_; 5 static ACE_Recursive_Thread_Mutex lock_; 6 protected: 7 Singleton() {} 8 public: 9 static Singlet...

2019-10-06 13:02:57 120

转载 error C2471: cannot update program database vc90.pdb

为什么我把一个VC6的工程转换为VS2008的工程后,编译总是出现找不到而且不能升级vc90.pdb文件的问题。重新编译了也不行。从VC6直接跳到VS2008这个vs2008一个著名的bug。详情可以参见https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=309462官...

2019-10-06 13:02:55 229

转载 C++文件流操作与流缓冲重定向

1 #include <iostream> 2 #include <fstream> 3 #include <cassert> 4 5 using namespace std; 6 int main() 7 { 8 ifstream in("test.txt"); 9 assert(in.is_open());10 11 ...

2019-10-06 13:02:55 181

转载 strcspn函数与basic_istream::gcount 函数

size_t strcspn ( const char * str1, const char * str2 );Get span until character in stringScansstr1for the first occurrence of any of the characters that are part ofstr2, returning...

2019-10-06 13:02:53 259

转载 目前游戏行业内部主要几款游戏引擎的技术对比

如果只有客户端的话,可以考虑用gamebryo,技术好一点,用ogre也可以,如果规模不大,用unity3d,如果很有钱,要效果很好的,用unreal3,bigworld是带服务器的,如果能力不够,最好不要自己写。如果使用Ogre需要投入较多的人力和物力,因为Ogre是开源的,工具不齐全,使用其他流行的引擎需要购买授权,可以在Ogre的基础上做东西,并且可以宣称是自主研发的,没...

2019-10-06 13:02:53 2798

转载 转-减小编译时间的两种做法

作者:朱金灿来源:http://blog.csdn.net/clever101随着源码工程越来越庞大,花在编译上面的时间越来越多。我们开始研究如何减少编译时间。一是执行每日自动构建。每日自动构建的原理很简单:安装每日构建工具CCNET(不熟悉该工具的同学可以去搜索下)。然后在源码服务器上安装编译环境。源码服务器每天获取最新代码,每天下班后开始编译最新代码,经过一个...

2019-10-06 13:02:52 168

转载 一个游戏程序员的资料一(转)

想起写这篇文章是在看侯杰先生的《深入浅出MFC》时,突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序员的书单与源代码参考。一则是作为自己今后两年学习目标的备忘录,二来没准对别人也有点参考价值。我的原则是只写自己研究过或准备研究的资料,所以内容无疑会带上强烈的个人喜好色彩,比如对网络,数据库等重要方面完全没有涉及。因为自己主要对三维图形引擎,人...

2019-10-06 13:02:52 228

转载 转- hash_map总结

0 为什么需要hash_mapmap提供一个很常用的功能,实现使用了红黑树,效率很高,100万条记录,最多也只要20次的比较,就能找到你要找的记录;200万条记录事,也只要用21次的比较。has_map只需要一两次比较.虽然hash_map目前并没有纳入C++ 标准模板库中,但几乎每个版本的STL都提供了相应的实现。而且应用十分广泛。1 数据结构:hash_map原理...

2019-10-06 13:02:50 90

转载 转-alloca malloc realloc calloc

alloca是在栈里分配内存另外三个是在堆里分配内存。三个函数的申明分别是:void*realloc(void*ptr,unsignednewsize);void*malloc(unsignedsize);void*calloc(size_tnumElements,size_tsizeOfElement);都在stdlib.h函数库内它们的返回值...

2019-10-06 13:02:50 97

转载 MD5例子及其用途

下载/* MD5.H - header file for MD5C.C * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All * rights reserved.共有三个文件MD5.h, MD5c.c, global.h 1 #include "global.h" 2 3 extern "C"...

2019-10-06 13:02:48 119

转载 MD5

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的散列算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是散列算法的基础原理,MD5的前身有MD2、MD3和MD4。1992年8月Ronald L. Rivest向IETF提交了一份重要文件,描述了这...

2019-10-06 13:02:48 291

转载 AFX_MANAGE_STATE(AfxGetStaticModuleState())

AFX_MANAGE_STATE(AfxGetStaticModuleState())AFX_MANAGE_STATE(AfxGetStaticModuleState());//用于模块切换时的状态保护,1.AfxGetStaticModuleState()指向当前模块状态;2.当前函数调用结束后原模块的状态自动被恢复;3.用于DLL中所调用MF...

2019-10-06 13:02:46 201

转载 MPQ技术内幕

开始尝试翻译一些英文文章,最近正好对mpq产生兴趣,看到一片文章叫做 inside MPQ,于是翻译一下,就当锻炼自己吧。这篇文章非常的不厚道,在关键地方戛然而止,而且没有更新的迹象。让人郁闷无比。但是还是比国内一些研究MPQ的少的可怜的文章要好些。看了这些文章,无比惋惜国内技术的滞后和黑客技术,逆向工程技术的贫乏。我们总是拿来主义,做应用。自己的原创真的太少了。LEGAL COPY...

2019-10-06 13:02:46 350

转载 Ogre 3d 工具集

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

2019-10-06 13:02:44 218

转载 MPQ文件

http://www.zezula.net/en/mpq/mpqformat.html文件格式MPQ文件是暴雪公司的一种私有文档打包格式,广泛应用在其游戏产品中,如魔兽争霸系列、星际争霸系列等、暗黑破坏神系列以及魔兽世界等。MPQ包内保存了几乎全部的游戏资源,包括模型、纹理、材质、动画、音频、视频、单位属性等等。除了游戏资源之外,这些游戏的地图、战役以及一些游戏的进度存档也是...

2019-10-06 13:02:44 1097

转载 inside MPQ

翻译前声明: 本翻译对于原文进行了适量删节和修改。 本翻译只做为学习参考使用,不得用于任何商业目的。 由于本人能力有限,如有错误请回帖指出 要转贴本翻译请征得翻译作者的同意。 原文地址:http://www.campaigncreations.org/starcraft/inside_mopaq/ ...

2019-10-06 13:02:43 233

转载 转-程序只启动一个实例的几种方法

有些时候,我们要求一个程序在系统中只能启动一个实例。比如,Windows自带的播放软件Windows Medea Player在Windows里就只能启动一个实例。原因很简单,如果同时启动几个实例,却播放不同的文件,那么声音和图像就会引起混乱。在设计模式中,就有一个SINGLETON模式,该模式就是让类只有一个实例。(关于SINGLETON模式,可以看我那篇《重读《设计模式》之学习笔...

2019-10-06 13:02:42 187

转载 转-开源物理引擎

1. Havok:老牌的君王,支持功能如下:http://www.havok.com· Collision Detection - including Continuous Physics™· MOPP™ Technology - for compact representation of large collision meshe...

2019-10-06 13:02:41 386

转载 Ogre场景编辑器Ogitor

Ogitor-0.4.2源代码构建,不少时间,这里记录一下:下载源代码的地址为:http://hg.ogitor.org/v0-4点击zip(这个搞得我找了很久)可执行程序下载地址为:http://www.ogitor.org/Building+Ogitor&structure=Development(一)构建QT1.环境变量中加入bin路径:PATH---&gt...

2019-10-06 13:02:41 224

转载 转-浅析常用事件驱动库

通常,我们写服务器处理模型的程序时,有以下几种模型:(1)每收到一个请求,创建一个新的进程,来处理该请求;(2)每收到一个请求,创建一个新的线程,来处理该请求;(3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求上面的几种方式,各有千秋,第(1)中方法,由于创建新的进程的开销比较大,所以,会导致服务器性能比较差,但实现比较简单。第(2)种方式,由...

2019-10-06 13:02:39 129

转载 一个不得不用deque的情况

过去总以为vector和deque差不多,效率方面deque和vector接近,那干脆用效率高的vector好了。 但我忽略了另一方,一个事务存在就有它的理由,今天找到程序里面隐藏的bug给了我不得不用deque的理由,deque和vector的结构很类似,但它是多段连续空间,如果vector空间不够的时候,要重新分配空间,并把所有的数据复制到新的空间中去,deque不会这么做,它会去另...

2019-10-06 13:02:39 180

转载 转-让你的控件也具有拖拽(drag-and-drop)功能

http://blog.csdn.net/starlee/article/details/1472710 现在有很多软件都支持拖拽功能,就是用鼠标拖着文件放到软件窗口中某个位置,软件就可以做出相应的反应。比如,Windows自带的播放软件Windows Media Player,你可以拖着一个媒体文件放到它的主窗口中,它就会开始播放这个文件。 怎么让自己的软件也有这个功能呢?...

2019-10-06 13:02:38 108

转载 转- 面向对象设计(OOD)中的替换原则

http://blog.csdn.net/starlee/article/details/945728 我们知道,在面向对象语言中,公有继承是IS-A的关系,也就是说子类是一种基类,就像说轿车是一种汽车一样。但是,有时候逻辑上正确的公有继承却会违反替换原则。面向对象设计中的替换原则是:子类必须能够替换掉它们的基类。也就是说,代码中基类出现的地方都能用子类来替换,就跟...

2019-10-06 13:02:37 102

转载 转-ADAPTER(适配器)模式

http://blog.csdn.net/starlee/article/details/1485248 ADAPTER模式可以将一个类的接口转换成另外一个接口,那样就可以使原来不兼容而不能一起工作的那些类可以一起工作。 ADAPTER模式也可以称为WRAPPER模式。 对于ADAPTER模式的简单包装功能,下面以STL中的一个例子来说明://下列代码片断...

2019-10-06 13:02:36 74

空空如也

空空如也

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

TA关注的人

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